dwarf2cfi: Flush queued saves at the end of the prologue.
authorRichard Henderson <rth@redhat.com>
Fri, 8 Jul 2011 23:48:59 +0000 (16:48 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 8 Jul 2011 23:48:59 +0000 (16:48 -0700)
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

gcc/ChangeLog
gcc/dwarf2cfi.c

index 3ba9bf7ac5056505bc6210c791b63d331177b392..34ebb0aa9abe0db21838f677f03eb12bfd8fcb6d 100644 (file)
@@ -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  <jakub@redhat.com>
 
        PR target/49621
index 8031d48682bef2fa6e3711703b0fb0c4d7ade33b..262506766e1a4604e097d2246f3276fdad937289 100644 (file)
@@ -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 ();