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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/reg-stack.c | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a7b6c52..3c559e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2000-02-16 Zack Weinberg <zack@wolery.cumb.org> + * reg-stack.c (emit_swap_insn): Do not put a new insn before a + NOTE_BASIC_BLOCK. + * flow.c (dump_regset, debug_regset, dump_bb, debug_bb, debug_bb_n): New functions. (dump_flow_info, print_rtl_with_bb): Use dump_regset. 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); } |