summaryrefslogtreecommitdiff
path: root/gcc/dwarf2cfi.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-08 23:48:59 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-08 23:48:59 +0000
commitde9b0618f7998a3e6d8afaec5f396d5c5970c07f (patch)
tree9dc09f26b66358cbabce516cfa65b5113be10c34 /gcc/dwarf2cfi.c
parent6d627b5fb50a3b9aab543d2000f1203006f3a3ae (diff)
downloadgcc-de9b0618f7998a3e6d8afaec5f396d5c5970c07f.tar.gz
dwarf2cfi: Flush queued saves at the end of the prologue.
There's little point at holding onto these saves indefinitely. PR bootstrap/49680 * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the end of the prologue. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2cfi.c')
-rw-r--r--gcc/dwarf2cfi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
index 8031d48682b..262506766e1 100644
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -2442,11 +2442,18 @@ create_cfi_notes (void)
{
switch (NOTE_KIND (insn))
{
+ case NOTE_INSN_PROLOGUE_END:
+ cfi_insn = PREV_INSN (insn);
+ dwarf2out_flush_queued_reg_saves ();
+ cfi_insn = NULL;
+ break;
+
case NOTE_INSN_EPILOGUE_BEG:
#if defined(HAVE_epilogue)
dwarf2out_cfi_begin_epilogue (insn);
#endif
break;
+
case NOTE_INSN_CFA_RESTORE_STATE:
cfi_insn = insn;
dwarf2out_frame_debug_restore_state ();