diff options
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r-- | gcc/var-tracking.c | 6 |
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); |