diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-24 16:30:51 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-24 16:30:51 +0000 |
commit | 1887df24fa0c3bdccfbfda205ce690ca698f4881 (patch) | |
tree | 36940c182974581864c1793a3e83e3a5520eaab0 /gcc/loop-iv.c | |
parent | 5804b39ebca0eb1585104b1616513a80afc3a85c (diff) | |
download | gcc-1887df24fa0c3bdccfbfda205ce690ca698f4881.tar.gz |
* loop-iv.c (simplify_using_initial_values): Return if the
expression becomes invalid due to altered regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122291 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r-- | gcc/loop-iv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index fb0ec4525cc..21005d3ff51 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) |