From af51ff99ceb20bcdbdabe6fce6c08a2570ecc9ea Mon Sep 17 00:00:00 2001
From: kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 19 Jun 2000 01:40:32 +0000
Subject: [PATCH] 	* gcse.c (insert_insn_end_bb): Always put after
 NOTE_INSN_BASIC_BLOCK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34592 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 2 ++
 gcc/gcse.c    | 7 +++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a5e0f8ea3cb..7e8356e63b19 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 4665133ee602..cc133177caae 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -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));
-- 
GitLab