From: Richard Henderson Date: Fri, 8 Jul 2011 23:48:59 +0000 (-0700) Subject: dwarf2cfi: Flush queued saves at the end of the prologue. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=965b2557b04e55b5edf346b5a8fed9aec8076f5b;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ba9bf7ac50..34ebb0aa9ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,10 @@ * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after any tablejump vector. + PR bootstrap/49680 + * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the + end of the prologue. + 2011-07-08 Jakub Jelinek PR target/49621 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 ();