Commit 92750a39 by Alexandre Oliva Committed by Alexandre Oliva

re PR target/20126 (Inlined memcmp makes one argument null on entry)

PR target/20126
* loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
(const)).

From-SVN: r98238
parent 29836d07
2005-04-16 Alexandre Oliva <aoliva@redhat.com>
PR target/20126
* loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
(const)).
* tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
comment.
......
......@@ -5488,6 +5488,15 @@ loop_givs_rescan (struct loop *loop, struct iv_class *bl, rtx *reg_map)
loop_insn_emit_before (loop, 0, v->insn,
gen_move_insn (*v->location,
v->new_reg));
else if (GET_CODE (*v->location) == PLUS
&& REG_P (XEXP (*v->location, 0))
&& CONSTANT_P (XEXP (*v->location, 1)))
loop_insn_emit_before (loop, 0, v->insn,
gen_move_insn (XEXP (*v->location, 0),
gen_rtx_MINUS
(GET_MODE (*v->location),
v->new_reg,
XEXP (*v->location, 1))));
else
{
/* If it wasn't a reg, create a pseudo and use that. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment