* gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 19 Jun 2000 01:40:32 +0000 (01:40 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 19 Jun 2000 01:40:32 +0000 (21:40 -0400)
From-SVN: r34592

gcc/ChangeLog
gcc/gcse.c

index 3a5e0f8ea3cb3f4b8189ad720695b17704276426..7e8356e63b19f00cb8b4fb9bd77cddbaa2bcccae 100644 (file)
@@ -1,5 +1,7 @@
 Sun Jun 18 21:42:15 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
+
        * function.c (put_var_into_stack): Don't reference DECL_ fields
        if input is a SAVE_EXPR.
        Use set_mem_attributes in COMPLEX case.
index 4665133ee60212b34053dcf1488f77bab190b273..cc133177caae5c646f9e77aca7bc1c1ab72ce525 100644 (file)
@@ -4346,10 +4346,9 @@ insert_insn_end_bb (expr, bb, pre)
         If we inserted before the CODE_LABEL, then we would be putting
         the insn in the wrong basic block.  In that case, put the insn
         after the CODE_LABEL.  Also, respect NOTE_INSN_BASIC_BLOCK.  */
-      if (GET_CODE (insn) == CODE_LABEL)
-       insn = NEXT_INSN (insn);
-      else if (GET_CODE (insn) == NOTE
-              && NOTE_LINE_NUMBER (insn) == NOTE_INSN_BASIC_BLOCK)
+      while (GET_CODE (insn) == CODE_LABEL
+            || (GET_CODE (insn) == NOTE
+                && NOTE_LINE_NUMBER (insn) == NOTE_INSN_BASIC_BLOCK))
        insn = NEXT_INSN (insn);
 
       new_insn = emit_block_insn_before (pat, insn, BASIC_BLOCK (bb));