aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-04-27 15:34:16 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2000-04-27 15:34:16 +0000
commit1b513b771182dcaf9d849d73cf43624074f54ff5 (patch)
tree2a937fa2d4d674c2fa40f6bc9a6b243a9de188de /gcc/function.c
parent8e02c4d08d74b07290d9f18eae923e5a77914f62 (diff)
downloadgcc-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.c6
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
}