summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-sccvn.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 38ac46d1338..5054bdc601a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-04-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (valueize_refs): Do not continue to
+ valueize random data.
+
2009-04-08 David Edelsohn <edelsohn@gnu.org>
* config.gcc (aix tm_file): Add aix-stdint.h.
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index 2982e8ca051..416fa7f69a6 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -833,7 +833,10 @@ valueize_refs (VEC (vn_reference_op_s, heap) *orig)
if (i > 0 && TREE_CODE (vro->op0) == ADDR_EXPR
&& VEC_index (vn_reference_op_s,
orig, i - 1)->opcode == INDIRECT_REF)
- vn_reference_fold_indirect (&orig, &i);
+ {
+ vn_reference_fold_indirect (&orig, &i);
+ continue;
+ }
}
if (vro->op1 && TREE_CODE (vro->op1) == SSA_NAME)
vro->op1 = SSA_VAL (vro->op1);
OpenPOWER on IntegriCloud