diff options
author | Jason Eckhardt <jle@cygnus.com> | 2000-03-18 20:40:38 +0000 |
---|---|---|
committer | Jason Eckhardt <jle@gcc.gnu.org> | 2000-03-18 20:40:38 +0000 |
commit | 863251c18deeee5fc582117e78574d199bf76c6c (patch) | |
tree | ed930555ceab3ceb2fd11faebb2560336d552125 | |
parent | 57fb7689e72e0a9bf97beebc102704214f9bcb33 (diff) | |
download | gcc-863251c18deeee5fc582117e78574d199bf76c6c.zip gcc-863251c18deeee5fc582117e78574d199bf76c6c.tar.gz gcc-863251c18deeee5fc582117e78574d199bf76c6c.tar.bz2 |
bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as NEXT_INSN.
* bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as
NEXT_INSN. Update last insn in chain.
From-SVN: r32623
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/bb-reorder.c | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe618c6..50cc97f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Mar 18 14:38:00 2000 Jason Eckhardt <jle@cygnus.com> + + * bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as + NEXT_INSN. Update last insn in chain. + 2000-03-17 Jason Merrill <jason@casey.cygnus.com> * dwarf2out.c (dwarf2out_decl): Don't emit anything for types diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 0adf683..f63483d 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -765,7 +765,17 @@ reorder_basic_blocks () rtx xafter = skip_insns_between_block (BASIC_BLOCK (n_basic_blocks - 1), REORDER_SKIP_AFTER); if (xafter) - NEXT_INSN (xafter) = last_insn; + { + NEXT_INSN (xafter) = last_insn; + if (last_insn) + { + rtx x = last_insn; + PREV_INSN (last_insn) = xafter; + while (NEXT_INSN (x)) + x = NEXT_INSN (x); + set_last_insn (x); + } + } else abort(); } |