Commit 7085bad3 by Jim Wilson

(copy_loop_body): When update split DEST_ADDR giv,

check to make sure it was split.
(find_splittable_givs): Fix reversed test of verify_addresses result.

From-SVN: r12034
parent bb431b7a
...@@ -1606,10 +1606,15 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, ...@@ -1606,10 +1606,15 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration,
for (tv = bl->giv; tv; tv = tv->next_iv) for (tv = bl->giv; tv; tv = tv->next_iv)
if (tv->giv_type == DEST_ADDR && tv->same == v) if (tv->giv_type == DEST_ADDR && tv->same == v)
{ {
int this_giv_inc = INTVAL (giv_inc); int this_giv_inc;
/* If this DEST_ADDR giv was not split, then ignore it. */
if (*tv->location != tv->dest_reg)
continue;
/* Scale this_giv_inc if the multiplicative factors of /* Scale this_giv_inc if the multiplicative factors of
the two givs are different. */ the two givs are different. */
this_giv_inc = INTVAL (giv_inc);
if (tv->mult_val != v->mult_val) if (tv->mult_val != v->mult_val)
this_giv_inc = (this_giv_inc / INTVAL (v->mult_val) this_giv_inc = (this_giv_inc / INTVAL (v->mult_val)
* INTVAL (tv->mult_val)); * INTVAL (tv->mult_val));
...@@ -2780,7 +2785,7 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment, ...@@ -2780,7 +2785,7 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment,
Try to validate both the first and the last Try to validate both the first and the last
address resulting from loop unrolling, if address resulting from loop unrolling, if
one fails, then can't do const elim here. */ one fails, then can't do const elim here. */
if (! verify_addresses (v, giv_inc, unroll_number)) if (verify_addresses (v, giv_inc, unroll_number))
{ {
/* Save the negative of the eliminated const, so /* Save the negative of the eliminated const, so
that we can calculate the dest_reg's increment that we can calculate the dest_reg's increment
......
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