Commit 00c73ae6 by Bernd Schmidt Committed by Bernd Schmidt

loop-iv.c (simplify_using_initial_values): Return if the expression becomes…

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
parent f048ddcc
...@@ -4,6 +4,8 @@ ...@@ -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>
......
...@@ -1811,6 +1811,8 @@ simplify_using_initial_values (struct loop *loop, enum rtx_code op, rtx *expr) ...@@ -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)
......
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