diff options
author | Daniel Jacobowitz <dan@codesourcery.com> | 2010-07-23 13:55:07 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@gcc.gnu.org> | 2010-07-23 13:55:07 +0000 |
commit | 6afb52d3e2c1ea3376e3037d1c6e6a69ff7ac6fd (patch) | |
tree | fb249f306d4cea835d43fbc8b914ac8586ce54da /gcc | |
parent | 96f3a5d239c71dbb50ffd5c0f731fc3b5a9d0c44 (diff) | |
download | gcc-6afb52d3e2c1ea3376e3037d1c6e6a69ff7ac6fd.zip gcc-6afb52d3e2c1ea3376e3037d1c6e6a69ff7ac6fd.tar.gz gcc-6afb52d3e2c1ea3376e3037d1c6e6a69ff7ac6fd.tar.bz2 |
dwarf2out.c (dwarf2out_frame_debug): Check for queued saves again after processing insn.
* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
again after processing insn.
From-SVN: r162460
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbe0146..c96691a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-07-23 Daniel Jacobowitz <dan@codesourcery.com> + + * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves + again after processing insn. + 2010-07-23 Jie Zhang <jie@codesourcery.com> * tree-sra.c (ipa_sra_preliminary_function_checks): Dump diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 183bbd3..239f002 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 |