diff options
author | Zack Weinberg <zack@wolery.cumb.org> | 2000-02-17 04:34:02 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-02-17 04:34:02 +0000 |
commit | 3a6cc97884e151d67adaab2004505db3729a972c (patch) | |
tree | b9aab2df3b78ff4b25fdc2273c7514b103a8760a /gcc/reg-stack.c | |
parent | d48120fec740d16474dbe67a176fbe4a34ba3cd6 (diff) | |
download | gcc-3a6cc97884e151d67adaab2004505db3729a972c.zip gcc-3a6cc97884e151d67adaab2004505db3729a972c.tar.gz gcc-3a6cc97884e151d67adaab2004505db3729a972c.tar.bz2 |
reg-stack.c (emit_swap_insn): Do not put a new insn before a NOTE_BASIC_BLOCK.
* reg-stack.c (emit_swap_insn): Do not put a new insn before a
NOTE_BASIC_BLOCK.
From-SVN: r32027
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 70e877b..77d52ea 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -973,7 +973,8 @@ emit_swap_insn (insn, regstack, reg) if (current_block && insn != current_block->head) { rtx tmp = PREV_INSN (insn); - while (tmp != current_block->head) + rtx limit = PREV_INSN (current_block->head); + while (tmp != limit) { if (GET_CODE (tmp) == CODE_LABEL || (GET_CODE (tmp) == NOTE @@ -1017,10 +1018,7 @@ emit_swap_insn (insn, regstack, reg) if (i1) emit_block_insn_after (swap_rtx, i1, current_block); else if (current_block) - { - i1 = emit_insn_before (swap_rtx, current_block->head); - current_block->head = i1; - } + emit_block_insn_before (swap_rtx, current_block->head, current_block); else emit_insn_before (swap_rtx, insn); } |