loop-iv.c (simplify_using_initial_values): Return if the expression becomes invalid due to altered regs.

* loop-iv.c (simplify_using_initial_values): Return if the
	expression becomes invalid due to altered regs.

From-SVN: r122291
This commit is contained in:
Bernd Schmidt 2007-02-24 16:30:51 +00:00 committed by Bernd Schmidt
parent f048ddccf0
commit 00c73ae637
2 changed files with 4 additions and 0 deletions

View File

@ -4,6 +4,8 @@
(determine_max_iter): Take additional LOOP arg; all callers changed. (determine_max_iter): Take additional LOOP arg; all callers changed.
Lose broken logic dealing with PLUS. Try to limit the upper bound by Lose broken logic dealing with PLUS. Try to limit the upper bound by
one using simplifications. one using simplifications.
(simplify_using_initial_values): Return if the expression becomes
invalid due to altered regs.
2007-02-23 DJ Delorie <dj@redhat.com> 2007-02-23 DJ Delorie <dj@redhat.com>

View File

@ -1811,6 +1811,8 @@ simplify_using_initial_values (struct loop *loop, enum rtx_code op, rtx *expr)
FREE_REG_SET (altered); FREE_REG_SET (altered);
return; return;
} }
if (for_each_rtx (expr, altered_reg_used, altered))
return;
} }
if (!single_pred_p (e->src) if (!single_pred_p (e->src)