Commit 704b6cb5 by Alexandre Oliva Committed by Ulrich Weigand

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

2005-07-14  Alexandre Oliva  <aoliva@redhat.com>
            Ulrich Weigand  <uweigand@de.ibm.com>

	PR target/20126
	* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
	in some insn.

Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r102033
parent a771c4b3
2005-07-14 Alexandre Oliva <aoliva@redhat.com>
Ulrich Weigand <uweigand@de.ibm.com>
PR target/20126
* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
in some insn.
2005-07-14 Ulrich Weigand <uweigand@de.ibm.com> 2005-07-14 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition. * config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
......
...@@ -5514,11 +5514,23 @@ loop_givs_rescan (struct loop *loop, struct iv_class *bl, rtx *reg_map) ...@@ -5514,11 +5514,23 @@ loop_givs_rescan (struct loop *loop, struct iv_class *bl, rtx *reg_map)
rtx reg, seq; rtx reg, seq;
start_sequence (); start_sequence ();
reg = force_reg (v->mode, *v->location); reg = force_reg (v->mode, *v->location);
seq = get_insns (); if (validate_change_maybe_volatile (v->insn, v->location, reg))
end_sequence (); {
loop_insn_emit_before (loop, 0, v->insn, seq); seq = get_insns ();
if (!validate_change_maybe_volatile (v->insn, v->location, reg)) end_sequence ();
gcc_unreachable (); loop_insn_emit_before (loop, 0, v->insn, seq);
}
else
{
end_sequence ();
if (loop_dump_stream)
fprintf (loop_dump_stream,
"unable to reduce iv in insn %d\n",
INSN_UID (v->insn));
bl->all_reduced = 0;
v->ignore = 1;
continue;
}
} }
} }
else if (v->replaceable) else if (v->replaceable)
......
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