diff options
author | Richard Henderson <rth@redhat.com> | 2011-07-08 16:48:59 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-07-08 16:48:59 -0700 |
commit | 965b2557b04e55b5edf346b5a8fed9aec8076f5b (patch) | |
tree | 9dc09f26b66358cbabce516cfa65b5113be10c34 /gcc/dwarf2cfi.c | |
parent | 830f11fee4ed84fa3fe0320cdc51c215ec7bc30c (diff) | |
download | gcc-965b2557b04e55b5edf346b5a8fed9aec8076f5b.zip gcc-965b2557b04e55b5edf346b5a8fed9aec8076f5b.tar.gz gcc-965b2557b04e55b5edf346b5a8fed9aec8076f5b.tar.bz2 |
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.
From-SVN: r176066
Diffstat (limited to 'gcc/dwarf2cfi.c')
-rw-r--r-- | gcc/dwarf2cfi.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index 8031d48..2625067 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 (); |