summaryrefslogtreecommitdiff
path: root/gcc/bb-reorder.c
diff options
context:
space:
mode:
authorJason Eckhardt <jle@cygnus.com>2000-03-18 20:40:38 +0000
committerJason Eckhardt <jle@gcc.gnu.org>2000-03-18 20:40:38 +0000
commit863251c18deeee5fc582117e78574d199bf76c6c (patch)
treeed930555ceab3ceb2fd11faebb2560336d552125 /gcc/bb-reorder.c
parent57fb7689e72e0a9bf97beebc102704214f9bcb33 (diff)
downloadgcc-863251c18deeee5fc582117e78574d199bf76c6c.tar.gz
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
Diffstat (limited to 'gcc/bb-reorder.c')
-rw-r--r--gcc/bb-reorder.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 0adf68324d1..f63483d01ce 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();
}