diff options
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r-- | gcc/sched-deps.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 095bae8a956..33a6996fe4f 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -1728,7 +1728,8 @@ add_insn_mem_dependence (struct deps_desc *deps, bool read_p, if (sched_deps_info->use_cselib) { mem = shallow_copy_rtx (mem); - XEXP (mem, 0) = cselib_subst_to_values (XEXP (mem, 0), GET_MODE (mem)); + XEXP (mem, 0) = cselib_subst_to_values_from_insn (XEXP (mem, 0), + GET_MODE (mem), insn); } link = alloc_EXPR_LIST (VOIDmode, canon_rtx (mem), *mem_list); *mem_list = link; @@ -2449,7 +2450,9 @@ sched_analyze_1 (struct deps_desc *deps, rtx x, rtx insn) t = shallow_copy_rtx (dest); cselib_lookup_from_insn (XEXP (t, 0), address_mode, 1, GET_MODE (t), insn); - XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0), GET_MODE (t)); + XEXP (t, 0) + = cselib_subst_to_values_from_insn (XEXP (t, 0), GET_MODE (t), + insn); } t = canon_rtx (t); @@ -2609,7 +2612,9 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx insn) t = shallow_copy_rtx (t); cselib_lookup_from_insn (XEXP (t, 0), address_mode, 1, GET_MODE (t), insn); - XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0), GET_MODE (t)); + XEXP (t, 0) + = cselib_subst_to_values_from_insn (XEXP (t, 0), GET_MODE (t), + insn); } if (!DEBUG_INSN_P (insn)) |