aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-06-19 01:40:32 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-06-18 21:40:32 -0400
commit0a377997716c950a29f9928b6cf52c1795b1e997 (patch)
treecc91d23dfcd4718dd914060e0e77c37f6d204e82 /gcc/gcse.c
parentc357082f8e632d4fdf9a55db763c9ec67bc65c82 (diff)
downloadgcc-0a377997716c950a29f9928b6cf52c1795b1e997.zip
gcc-0a377997716c950a29f9928b6cf52c1795b1e997.tar.gz
gcc-0a377997716c950a29f9928b6cf52c1795b1e997.tar.bz2
* gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
From-SVN: r34592
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 4665133..cc13317 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));