diff mbox

[2/2] dwarf2cfi: Flush queued saves at the end of the prologue.

Message ID 1310169106-4376-3-git-send-email-rth@redhat.com
State New
Headers show

Commit Message

Richard Henderson July 8, 2011, 11:51 p.m. UTC
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 mbox

Patch

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  <jakub@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 ();