From 7543f91816ec7402e501d2afa09d7f18ac8bee61 Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Fri, 9 Dec 2011 12:57:24 +0000 Subject: re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681) PR middle-end/40154 * emit-rtl.c (set_dst_reg_note): New function. * rtl.h (set_dst_reg_note): Declare. * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note. (emit_libcall_block, expand_fix): Likewise. * function.c (assign_parm_setup_reg, expand_function_start): Likewise. * expmed.c (expand_mult_const, expand_divmod): Likewise. * reload1.c (gen_reload): Likewise. From-SVN: r182162 --- gcc/function.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index fa9236c..a081b27 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3140,9 +3140,8 @@ assign_parm_setup_reg (struct assign_parm_data_all *all, tree parm, set_unique_reg_note (sinsn, REG_EQUIV, stackr); } } - else if ((set = single_set (linsn)) != 0 - && SET_DEST (set) == parmreg) - set_unique_reg_note (linsn, REG_EQUIV, equiv_stack_parm); + else + set_dst_reg_note (linsn, REG_EQUIV, equiv_stack_parm, parmreg); } /* For pointer data type, suggest pointer register. */ @@ -4757,7 +4756,7 @@ expand_function_start (tree subr) /* Mark the register as eliminable, similar to parameters. */ if (MEM_P (chain) && reg_mentioned_p (arg_pointer_rtx, XEXP (chain, 0))) - set_unique_reg_note (insn, REG_EQUIV, chain); + set_dst_reg_note (insn, REG_EQUIV, chain, local); } /* If the function receives a non-local goto, then store the -- cgit v1.1