]> gcc.gnu.org Git - gcc.git/commitdiff
cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb...
authorHans-Peter Nilsson <hp@bitrange.com>
Mon, 18 Oct 2004 01:56:03 +0000 (01:56 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Mon, 18 Oct 2004 01:56:03 +0000 (01:56 +0000)
* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
handle barriers in a bb by checking that it points to a NULL bb.
* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
(emit_barrier_after, emit_barrier): Ditto.

From-SVN: r89193

gcc/ChangeLog
gcc/cfgrtl.c
gcc/emit-rtl.c

index 33de7acb422a1cb627af847e0e2018b50dbf8202..e372e745002a60b24a11603c9e928f2d7395d969 100644 (file)
@@ -1,3 +1,10 @@
+2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
+       handle barriers in a bb by checking that it points to a NULL bb.
+       * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
+       (emit_barrier_after, emit_barrier): Ditto.
+
 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
 
        * doc/extend.texi (Attribute Syntax): Clarify details of
index 67b55f4b79adb3254696a1a420e44a067842b059..ee0b468385e2e8fc3f3129ae339ceafde04d9843 100644 (file)
@@ -2073,7 +2073,10 @@ rtl_verify_flow_info_1 (void)
        }
 
       for (x = BB_HEAD (bb); x != NEXT_INSN (BB_END (bb)); x = NEXT_INSN (x))
-       if (BLOCK_FOR_INSN (x) != bb)
+       /* We may have a barrier inside a basic block before dead code
+          elimination.  They always have a NULL BLOCK_FOR_INSN.  */
+       if (BLOCK_FOR_INSN (x) != bb
+           && !(BARRIER_P (x) && BLOCK_FOR_INSN (x) == NULL))
          {
            debug_rtx (x);
            if (! BLOCK_FOR_INSN (x))
index ec7bec39adcc6bfbbf5328bf5bb64110c942eedd..d81d71c9e22c4bb1ed334a1278fa5d863367ba3a 100644 (file)
@@ -4057,6 +4057,7 @@ emit_barrier_before (rtx before)
   rtx insn = rtx_alloc (BARRIER);
 
   INSN_UID (insn) = cur_insn_uid++;
+  BLOCK_FOR_INSN (insn) = NULL;
 
   add_insn_before (insn, before);
   return insn;
@@ -4272,6 +4273,7 @@ emit_barrier_after (rtx after)
   rtx insn = rtx_alloc (BARRIER);
 
   INSN_UID (insn) = cur_insn_uid++;
+  BLOCK_FOR_INSN (insn) = NULL;
 
   add_insn_after (insn, after);
   return insn;
@@ -4668,6 +4670,7 @@ emit_barrier (void)
 {
   rtx barrier = rtx_alloc (BARRIER);
   INSN_UID (barrier) = cur_insn_uid++;
+  BLOCK_FOR_INSN (barrier) = NULL;
   add_insn (barrier);
   return barrier;
 }
This page took 0.095587 seconds and 5 git commands to generate.