summaryrefslogtreecommitdiffstats
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-23 13:55:07 +0000
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-23 13:55:07 +0000
commitb580be013da277d984f69093f153eef8a659be12 (patch)
treefb249f306d4cea835d43fbc8b914ac8586ce54da /gcc/dwarf2out.c
parentd5acb62632bffbb62917a8d4c0455712edd2ab93 (diff)
downloadppe42-gcc-b580be013da277d984f69093f153eef8a659be12.tar.gz
ppe42-gcc-b580be013da277d984f69093f153eef8a659be12.zip
* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
again after processing insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162460 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 183bbd38a2b..239f00271c4 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -2791,6 +2791,12 @@ dwarf2out_frame_debug (rtx insn, bool after_p)
insn = PATTERN (insn);
found:
dwarf2out_frame_debug_expr (insn, label);
+
+ /* Check again. A parallel can save and update the same register.
+ We could probably check just once, here, but this is safer than
+ removing the check above. */
+ if (clobbers_queued_reg_save (insn))
+ flush_queued_reg_saves ();
}
/* Determine if we need to save and restore CFI information around this
OpenPOWER on IntegriCloud