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.
---
 gcc/ChangeLog   |    4 ++++
 gcc/dwarf2cfi.c |    7 +++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3ba9bf7..34ebb0a 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  <ja...@redhat.com>
 
        PR target/49621
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 ();
-- 
1.7.6

Reply via email to