aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2014-02-28 12:45:36 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2014-02-28 12:45:36 +0000
commit2e08491710f04b854ed9b7c8d0b520c2c6eac115 (patch)
tree2a092c03b33e74ce837d257c929219dea3a5694a
parent9910c53c49cd73e11ef039c011287b342fb8b6d2 (diff)
downloadgcc-2e08491710f04b854ed9b7c8d0b520c2c6eac115.zip
gcc-2e08491710f04b854ed9b7c8d0b520c2c6eac115.tar.gz
gcc-2e08491710f04b854ed9b7c8d0b520c2c6eac115.tar.bz2
re PR debug/57232 (wcstol.c:213:1: internal compiler error)
PR debug/57232 * var-tracking.c (vt_initialize): Apply the same condition to preserve the CFA base value. From-SVN: r208219
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/var-tracking.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0304cf..51c2706 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-02-28 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/57232
+ * var-tracking.c (vt_initialize): Apply the same condition to
+ preserve the CFA base value.
+
2014-02-28 Joey Ye <joey.ye@arm.com>
PR target/PR60169
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index c5ce1dd..65d8285 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 ());