aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-06 14:47:42 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-09-06 14:47:42 +0000
commit511c229c6caf013aaafca49535d4c82522d289e3 (patch)
tree115758a04c3bdab6ee264374fe7b3e672dd0650a /gcc/tree-ssa-pre.c
parent81a14f1e73f545848cdd03fc568390a419686044 (diff)
downloadgcc-511c229c6caf013aaafca49535d4c82522d289e3.zip
gcc-511c229c6caf013aaafca49535d4c82522d289e3.tar.gz
gcc-511c229c6caf013aaafca49535d4c82522d289e3.tar.bz2
re PR tree-optimization/54498 (incorrect code generation from g++ -O)
2012-09-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/54498 * tree-ssa-alias.h (get_continuation_for_phi): Add flag to abort when reaching an already visited region. * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it. (get_continuation_for_phi_1): Likewise. (walk_non_aliased_vuses): When we translated the reference, abort when we re-visit a region. * tree-ssa-pre.c (translate_vuse_through_block): Adjust. From-SVN: r191030
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index bb1a03d..e64d4f7 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1291,7 +1291,7 @@ translate_vuse_through_block (VEC (vn_reference_op_s, heap) *operands,
unsigned int cnt;
/* Try to find a vuse that dominates this phi node by skipping
non-clobbering statements. */
- vuse = get_continuation_for_phi (phi, &ref, &cnt, &visited);
+ vuse = get_continuation_for_phi (phi, &ref, &cnt, &visited, false);
if (visited)
BITMAP_FREE (visited);
}