From 5d1f1cd578d019bb67e3d4c8856988c40a2c6769 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 10 Jan 2012 08:28:55 +0000 Subject: [PATCH] re PR rtl-optimization/51271 (ICE in in maybe_record_trace_start, at dwarf2cfi.c:2244) 2012-01-10 Tom de Vries PR rtl-optimization/51271 * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when handling annulled branch. From-SVN: r183052 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2cfi.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7d02081bef..d2686a70022 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-01-10 Tom de Vries + + * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when + handling annulled branch. + 2012-01-10 Richard Henderson * config/arm/arm.c (arm_vectorize_vec_perm_const_ok, diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index b2721e88ef4..2e749550fc5 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; }