diff options
author | Jan Hubicka <jh@suse.cz> | 2000-04-27 15:34:16 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2000-04-27 15:34:16 +0000 |
commit | 1b513b771182dcaf9d849d73cf43624074f54ff5 (patch) | |
tree | 2a937fa2d4d674c2fa40f6bc9a6b243a9de188de /gcc/function.c | |
parent | 8e02c4d08d74b07290d9f18eae923e5a77914f62 (diff) | |
download | gcc-1b513b771182dcaf9d849d73cf43624074f54ff5.zip gcc-1b513b771182dcaf9d849d73cf43624074f54ff5.tar.gz gcc-1b513b771182dcaf9d849d73cf43624074f54ff5.tar.bz2 |
* function.c (epilogue_done): Pass whole insn to record_insns.
From-SVN: r33488
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index 5aee650..756f5fc 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -7025,6 +7025,7 @@ epilogue_done: basic_block bb = e->src; rtx insn = bb->end; rtx i; + rtx newinsn; if (GET_CODE (insn) != CALL_INSN || ! SIBLING_CALL_P (insn)) @@ -7035,7 +7036,7 @@ epilogue_done: end_sequence (); i = PREV_INSN (insn); - emit_insn_before (seq, insn); + newinsn = emit_insn_before (seq, insn); /* Update the UID to basic block map. */ for (i = NEXT_INSN (i); i != insn; i = NEXT_INSN (i)) @@ -7043,7 +7044,8 @@ epilogue_done: /* Retain a map of the epilogue insns. Used in life analysis to avoid getting rid of sibcall epilogue insns. */ - record_insns (seq, &sibcall_epilogue); + record_insns (GET_CODE (seq) == SEQUENCE + ? seq : newinsn, &sibcall_epilogue); } #endif } |