diff options
author | Tom de Vries <tom@codesourcery.com> | 2012-01-10 08:28:55 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2012-01-10 08:28:55 +0000 |
commit | 5d1f1cd578d019bb67e3d4c8856988c40a2c6769 (patch) | |
tree | 02fe02afd3dcc280112dc74899ab42e5a2c1c1ed /gcc/dwarf2cfi.c | |
parent | b440f32451e63beab306ec5cffba4c7ca3e85f97 (diff) | |
download | gcc-5d1f1cd578d019bb67e3d4c8856988c40a2c6769.zip gcc-5d1f1cd578d019bb67e3d4c8856988c40a2c6769.tar.gz gcc-5d1f1cd578d019bb67e3d4c8856988c40a2c6769.tar.bz2 |
re PR rtl-optimization/51271 (ICE in in maybe_record_trace_start, at dwarf2cfi.c:2244)
2012-01-10 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/51271
* dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
handling annulled branch.
From-SVN: r183052
Diffstat (limited to 'gcc/dwarf2cfi.c')
-rw-r--r-- | gcc/dwarf2cfi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index b2721e8..2e74955 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -2439,10 +2439,12 @@ scan_trace (dw_trace_info *trace) if (INSN_FROM_TARGET_P (elt)) { HOST_WIDE_INT restore_args_size; + cfi_vec save_row_reg_save; add_cfi_insn = NULL; restore_args_size = cur_trace->end_true_args_size; cur_cfa = &cur_row->cfa; + save_row_reg_save = VEC_copy (dw_cfi_ref, gc, cur_row->reg_save); scan_insn_after (elt); @@ -2453,6 +2455,7 @@ scan_trace (dw_trace_info *trace) cur_trace->end_true_args_size = restore_args_size; cur_row->cfa = this_cfa; + cur_row->reg_save = save_row_reg_save; cur_cfa = &this_cfa; continue; } |