]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
authorsirl <sirl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jun 2002 18:58:10 +0000 (18:58 +0000)
committersirl <sirl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jun 2002 18:58:10 +0000 (18:58 +0000)
* rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
* sched-deps.c (add_dependence): Likewise.
(group_leader): Likewise.
* sched-rgn.c (init_ready_list): Likewise.
* doc/rtl.texi: Adjust accordingly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54622 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/doc/rtl.texi
gcc/rtl.h
gcc/sched-deps.c
gcc/sched-rgn.c

index 77d95970a1995b95d72c58e71d5a200c5ab340b0..8a9f15acc58e6b9627a58bc51db34503a4550bed 100644 (file)
@@ -1,3 +1,11 @@
+2002-06-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
+       * sched-deps.c (add_dependence): Likewise.
+       (group_leader): Likewise.
+       * sched-rgn.c (init_ready_list): Likewise.
+       * doc/rtl.texi: Adjust accordingly.
+
 2002-06-13  Jeffrey Law  <law@redhat.com>
 
        * gcse.c (delete_null_pointer_checks_1): Inform caller if any
index abeba3c26b8e02d6f7371dc7f39feb05d96f6d8e..5894910d30be883339bc8210de2d3113d4559419 100644 (file)
@@ -614,17 +614,13 @@ anywhere.  This does not mean that it is function invariant.
 Stored in the @code{unchanging} field and printed as @samp{/u}.
 
 @findex SCHED_GROUP_P
-@cindex @code{insn} and @samp{/i}
-@cindex @code{call_insn} and @samp{/i}
-@cindex @code{jump_insn} and @samp{/i}
-@cindex @code{code_label} and @samp{/i}
-@cindex @code{barrier} and @samp{/i}
-@cindex @code{note} and @samp{/i}
-@cindex @code{in_struct}, in @code{insn}, @code{jump_insn}, @code{call_insn}, @code{code_label}, @code{barrier}, and @code{note}
+@cindex @code{insn} and @samp{/s}
+@cindex @code{call_insn} and @samp{/s}
+@cindex @code{jump_insn} and @samp{/s}
+@cindex @code{in_struct}, in @code{insn}, @code{jump_insn} and @code{call_insn}
 @item SCHED_GROUP_P (@var{x})
-During instruction scheduling, in an @code{insn}, @code{call_insn},
-@code{jump_insn}, @code{code_label}, @code{barrier}, or
-@code{note}, indicates that the
+During instruction scheduling, in an @code{insn}, @code{call_insn} or
+@code{jump_insn}, indicates that the
 previous insn must be scheduled together with this insn.  This is used to
 ensure that certain groups of instructions will not be split up by the
 instruction scheduling pass, for example, @code{use} insns before
index 3842426c3d7fe31ed75463bfa075c81607b34b7b..0b7a874ee8419af48951eb4190d340c6bfe9c778 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -161,9 +161,8 @@ struct rtx_def
      and must not be deleted even if its count is zero.
      1 in a LABEL_REF if this is a reference to a label outside the
      current loop.
-     1 in an INSN, JUMP_INSN, CALL_INSN, CODE_LABEL, BARRIER, or NOTE if
-     this insn must be scheduled together with the preceding insn.  Valid
-     only within sched.
+     1 in an INSN, JUMP_INSN or CALL_INSN if this insn must be scheduled
+     together with the preceding insn.  Valid only within sched.
      1 in an INSN, JUMP_INSN, or CALL_INSN if insn is in a delay slot and
      from the target of a branch.  Valid from reorg until end of compilation;
      cleared before used.
@@ -1118,8 +1117,8 @@ do {                                              \
 /* During sched, 1 if RTX is an insn that must be scheduled together
    with the preceding insn.  */
 #define SCHED_GROUP_P(RTX)                                             \
-  (RTL_FLAG_CHECK6("SCHED_GROUP_P", (RTX), INSN, JUMP_INSN, CALL_INSN, \
-                         CODE_LABEL, BARRIER, NOTE)->in_struct)
+  (RTL_FLAG_CHECK3("SCHED_GROUP_P", (RTX), INSN, JUMP_INSN, CALL_INSN  \
+                         )->in_struct)
 
 /* For a SET rtx, SET_DEST is the place that is set
    and SET_SRC is the value it is set to.  */
index 985559fc9701e3ccd1c86c1035bb8262b699c22d..a5e9c08b5bfcab6487c9044a4352e7778cd83048 100644 (file)
@@ -222,8 +222,7 @@ add_dependence (insn, elem, dep_type)
      setters of the condition codes, so we must skip past notes here.
      Otherwise, NOTEs are impossible here.  */
   next = next_nonnote_insn (elem);
-  if (next && SCHED_GROUP_P (next)
-      && GET_CODE (next) != CODE_LABEL)
+  if (next && INSN_P (next) && SCHED_GROUP_P (next))
     {
       /* Notes will never intervene here though, so don't bother checking
          for them.  */
@@ -235,8 +234,8 @@ add_dependence (insn, elem, dep_type)
 
       rtx nnext;
       while ((nnext = next_nonnote_insn (next)) != NULL
-            && SCHED_GROUP_P (nnext)
-            && GET_CODE (nnext) != CODE_LABEL)
+            && INSN_P (nnext)
+            && SCHED_GROUP_P (nnext))
        next = nnext;
 
       /* Again, don't depend an insn on itself.  */
@@ -448,7 +447,7 @@ group_leader (insn)
       prev = insn;
       insn = next_nonnote_insn (insn);
     }
-  while (insn && SCHED_GROUP_P (insn) && (GET_CODE (insn) != CODE_LABEL));
+  while (insn && INSN_P (insn) && SCHED_GROUP_P (insn));
 
   return prev;
 }
index 30b2cf0d8f5ea6090dddfe4182bbe72d401e5b26..6227645651bc1fb0248d1718eca2edd21eae03e6 100644 (file)
@@ -2033,7 +2033,7 @@ init_ready_list (ready)
       next = NEXT_INSN (insn);
 
       if (INSN_DEP_COUNT (insn) == 0
-         && (SCHED_GROUP_P (next) == 0 || ! INSN_P (next)))
+         && (! INSN_P (next) || SCHED_GROUP_P (next) == 0))
        ready_add (ready, insn);
       if (!(SCHED_GROUP_P (insn)))
        target_n_insns++;
@@ -2079,8 +2079,8 @@ init_ready_list (ready)
                next = next_nonnote_insn (insn);
                if (INSN_DEP_COUNT (insn) == 0
                    && (! next
-                       || SCHED_GROUP_P (next) == 0
-                       || ! INSN_P (next)))
+                       || ! INSN_P (next)
+                       || SCHED_GROUP_P (next) == 0))
                  ready_add (ready, insn);
              }
          }