aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2007-02-24 16:30:51 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2007-02-24 16:30:51 +0000
commit00c73ae6373c0a4080b9a414b43cc6efebb0705c (patch)
tree36940c182974581864c1793a3e83e3a5520eaab0 /gcc/loop-iv.c
parentf048ddccf080a436a5d0ebc04006db525cc115e7 (diff)
downloadgcc-00c73ae6373c0a4080b9a414b43cc6efebb0705c.zip
gcc-00c73ae6373c0a4080b9a414b43cc6efebb0705c.tar.gz
gcc-00c73ae6373c0a4080b9a414b43cc6efebb0705c.tar.bz2
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
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index fb0ec45..21005d3 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -1811,6 +1811,8 @@ simplify_using_initial_values (struct loop *loop, enum rtx_code op, rtx *expr)
FREE_REG_SET (altered);
return;
}
+ if (for_each_rtx (expr, altered_reg_used, altered))
+ return;
}
if (!single_pred_p (e->src)