aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2011-12-09 12:57:24 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2011-12-09 12:57:24 +0000
commit7543f91816ec7402e501d2afa09d7f18ac8bee61 (patch)
tree29604d6a37d0c504c6bb80d0d28fbabc827412ab /gcc/reload1.c
parentfb5503484f7463c2a523fed993f58e58289ba59b (diff)
downloadgcc-7543f91816ec7402e501d2afa09d7f18ac8bee61.zip
gcc-7543f91816ec7402e501d2afa09d7f18ac8bee61.tar.gz
gcc-7543f91816ec7402e501d2afa09d7f18ac8bee61.tar.bz2
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
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 2f783a2..7852566 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -8574,7 +8574,7 @@ gen_reload (rtx out, rtx in, int opnum, enum reload_type type)
if (insn)
{
/* Add a REG_EQUIV note so that find_equiv_reg can find it. */
- set_unique_reg_note (insn, REG_EQUIV, in);
+ set_dst_reg_note (insn, REG_EQUIV, in, out);
return insn;
}
@@ -8584,7 +8584,7 @@ gen_reload (rtx out, rtx in, int opnum, enum reload_type type)
gcc_assert (!reg_overlap_mentioned_p (out, op0));
gen_reload (out, op1, opnum, type);
insn = emit_insn (gen_add2_insn (out, op0));
- set_unique_reg_note (insn, REG_EQUIV, in);
+ set_dst_reg_note (insn, REG_EQUIV, in, out);
}
#ifdef SECONDARY_MEMORY_NEEDED