diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0304cf7539a..51c270614de9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-02-28 Alexandre Oliva + + PR debug/57232 + * var-tracking.c (vt_initialize): Apply the same condition to + preserve the CFA base value. + 2014-02-28 Joey Ye PR target/PR60169 diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index c5ce1dd17b46..65d82854c0a4 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -9924,7 +9924,8 @@ vt_initialize (void) val = cselib_lookup_from_insn (reg, GET_MODE (reg), 1, VOIDmode, get_insns ()); preserve_value (val); - cselib_preserve_cfa_base_value (val, REGNO (reg)); + if (reg != hard_frame_pointer_rtx && fixed_regs[REGNO (reg)]) + cselib_preserve_cfa_base_value (val, REGNO (reg)); expr = plus_constant (GET_MODE (stack_pointer_rtx), stack_pointer_rtx, -ofst); cselib_add_permanent_equiv (val, expr, get_insns ());