summaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index b9c6908e2b3..85847f0263f 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -92,6 +92,7 @@
#include "tm.h"
#include "rtl.h"
#include "tree.h"
+#include "tm_p.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "flags.h"
@@ -8229,6 +8230,11 @@ vt_init_cfa_base (void)
if (!MAY_HAVE_DEBUG_INSNS)
return;
+ /* Tell alias analysis that cfa_base_rtx should share
+ find_base_term value with stack pointer or hard frame pointer. */
+ vt_equate_reg_base_value (cfa_base_rtx,
+ frame_pointer_needed
+ ? hard_frame_pointer_rtx : stack_pointer_rtx);
val = cselib_lookup_from_insn (cfa_base_rtx, GET_MODE (cfa_base_rtx), 1,
get_insns ());
preserve_value (val);