This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 2/2] dwarf2cfi: Flush queued saves at the end of the prologue.
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 8 Jul 2011 16:51:46 -0700
- Subject: [PATCH 2/2] dwarf2cfi: Flush queued saves at the end of the prologue.
- References: <1310169106-4376-1-git-send-email-rth@redhat.com>
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 <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 ();
--
1.7.6