summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-operands.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-30 13:22:36 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-10-30 13:22:36 +0000
commit527b30a7ba5d7be470f11f5a862aef333e481edc (patch)
treec4e04f419dce73a4235be56fbfc7adda40554ed6 /gcc/tree-ssa-operands.c
parent29236280a6d4615c16ab31a16e72dd2ce84d9f02 (diff)
downloadgcc-527b30a7ba5d7be470f11f5a862aef333e481edc.tar.gz
2007-10-30 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.c (add_vars_for_offset): Fix exit test of loop adding SFTs as virtual operands. * gcc.c-torture/execute/20071030-1.c: New testcase copied from gcc.target/i386/loop-3.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129770 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r--gcc/tree-ssa-operands.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 8772313f3ac..2f957054310 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -1409,7 +1409,8 @@ add_vars_for_offset (tree var,
for (; VEC_iterate (tree, sv, i, subvar); ++i)
{
- if (size <= SFT_OFFSET (subvar) - offset)
+ if (SFT_OFFSET (subvar) > offset
+ && size <= SFT_OFFSET (subvar) - offset)
break;
if (is_def)