Patchwork Small emit-rtl.c / reorg.c cleanup

login
register
mail settings
Submitter Steven Bosscher
Date May 11, 2013, 7:29 p.m.
Message ID <CABu31nOKsw=ZHnfwk+2EB+_79+QzmZgEb3yn8LGns7uAxLNcRw@mail.gmail.com>
Download mbox | patch
Permalink /patch/243149/
State New
Headers show

Comments

Steven Bosscher - May 11, 2013, 7:29 p.m.
Hello,

This just removes one unused function, and moves two functions from
emit-rtl.c to reorg.c which is the only place where they're used.

Will commit in a few days, barring objections.

Ciao!
Steven


        * rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
        Remove prototypes.
        * emit-rtl.c (next_label): Remove unused function.
        (skip_consecutive_labels, link_cc0_insns): Move to ...
        * reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
        only place where these functions are used.
aldot - May 12, 2013, 8:55 p.m.
On 11 May 2013 21:29:53 Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> Hello,
>
> This just removes one unused function, and moves two functions from
> emit-rtl.c to reorg.c which is the only place where they're used.
>
> Will commit in a few days, barring objections.
>
> Ciao!
> Steven
>
>
>         * rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
>         Remove prototypes.
>         * emit-rtl.c (next_label): Remove unused function.
>         (skip_consecutive_labels, link_cc0_insns): Move to ...
>         * reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
>         only place where these functions are used.
s/./, and make them static./
?
Thanks,


Sent with AquaMail for Android
http://www.aqua-mail.com
Jeff Law - May 13, 2013, 1:21 p.m.
On 05/11/2013 01:29 PM, Steven Bosscher wrote:
> Hello,
>
> This just removes one unused function, and moves two functions from
> emit-rtl.c to reorg.c which is the only place where they're used.
>
> Will commit in a few days, barring objections.
>
> Ciao!
> Steven
>
>
>          * rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
>          Remove prototypes.
>          * emit-rtl.c (next_label): Remove unused function.
>          (skip_consecutive_labels, link_cc0_insns): Move to ...
>          * reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
>          only place where these functions are used.
OK.
Jeff

Patch

Index: rtl.h
===================================================================
--- rtl.h       (revision 198737)
+++ rtl.h       (working copy)
@@ -1912,8 +1912,6 @@  extern rtx next_real_insn (rtx);
 extern rtx prev_active_insn (rtx);
 extern rtx next_active_insn (rtx);
 extern int active_insn_p (const_rtx);
-extern rtx next_label (rtx);
-extern rtx skip_consecutive_labels (rtx);
 extern rtx next_cc0_user (rtx);
 extern rtx prev_cc0_setter (rtx);

@@ -2551,7 +2549,6 @@  extern unsigned int unshare_all_rtl (void);
 extern void unshare_all_rtl_again (rtx);
 extern void unshare_all_rtl_in_chain (rtx);
 extern void verify_rtl_sharing (void);
-extern void link_cc0_insns (rtx);
 extern void add_insn (rtx);
 extern void add_insn_before (rtx, rtx, basic_block);
 extern void add_insn_after (rtx, rtx, basic_block);
Index: emit-rtl.c
===================================================================
--- emit-rtl.c  (revision 198737)
+++ emit-rtl.c  (working copy)
@@ -3332,56 +3332,8 @@  prev_active_insn (rtx insn)

   return insn;
 }
-
-/* Return the next CODE_LABEL after the insn INSN, or 0 if there is none.  */
-
-rtx
-next_label (rtx insn)
-{
-  while (insn)
-    {
-      insn = NEXT_INSN (insn);
-      if (insn == 0 || LABEL_P (insn))
-       break;
-    }
-
-  return insn;
-}
-
-/* Return the last label to mark the same position as LABEL.  Return LABEL
-   itself if it is null or any return rtx.  */
-
-rtx
-skip_consecutive_labels (rtx label)
-{
-  rtx insn;
-
-  if (label && ANY_RETURN_P (label))
-    return label;
-
-  for (insn = label; insn != 0 && !INSN_P (insn); insn = NEXT_INSN (insn))
-    if (LABEL_P (insn))
-      label = insn;
-
-  return label;
-}
 ^L
 #ifdef HAVE_cc0
-/* INSN uses CC0 and is being moved into a delay slot.  Set up REG_CC_SETTER
-   and REG_CC_USER notes so we can find it.  */
-
-void
-link_cc0_insns (rtx insn)
-{
-  rtx user = next_nonnote_insn (insn);
-
-  if (NONJUMP_INSN_P (user) && GET_CODE (PATTERN (user)) == SEQUENCE)
-    user = XVECEXP (PATTERN (user), 0, 0);
-
-  add_reg_note (user, REG_CC_SETTER, insn);
-  add_reg_note (insn, REG_CC_USER, user);
-}
-
 /* Return the next insn that uses CC0 after INSN, which is assumed to
    set it.  This is the inverse of prev_cc0_setter (i.e., prev_cc0_setter
    applied to the result of this function should yield INSN).
Index: reorg.c
===================================================================
--- reorg.c     (revision 198737)
+++ reorg.c     (working copy)
@@ -134,6 +134,44 @@  along with GCC; see the file COPYING3.  If not see
 #define eligible_for_annul_false(INSN, SLOTS, TRIAL, FLAGS) 0
 #endif

+^L
+/* First, some functions that were used before GCC got a control flow graph.
+   These functions are now only used here in reorg.c, and have therefore
+   been moved here to avoid inadvertent misuse elsewhere in the compiler.  */
+
+/* Return the last label to mark the same position as LABEL.  Return LABEL
+   itself if it is null or any return rtx.  */
+
+rtx
+skip_consecutive_labels (rtx label)
+{
+  rtx insn;
+
+  if (label && ANY_RETURN_P (label))
+    return label;
+
+  for (insn = label; insn != 0 && !INSN_P (insn); insn = NEXT_INSN (insn))
+    if (LABEL_P (insn))
+      label = insn;
+
+  return label;
+}
+
+/* INSN uses CC0 and is being moved into a delay slot.  Set up REG_CC_SETTER
+   and REG_CC_USER notes so we can find it.  */
+
+void
+link_cc0_insns (rtx insn)
+{
+  rtx user = next_nonnote_insn (insn);
+
+  if (NONJUMP_INSN_P (user) && GET_CODE (PATTERN (user)) == SEQUENCE)
+    user = XVECEXP (PATTERN (user), 0, 0);
+
+  add_reg_note (user, REG_CC_SETTER, insn);
+  add_reg_note (insn, REG_CC_USER, user);
+}
+^L
 /* Insns which have delay slots that have not yet been filled.  */

 static struct obstack unfilled_slots_obstack;