From 511c229c6caf013aaafca49535d4c82522d289e3 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Thu, 6 Sep 2012 14:47:42 +0000 Subject: re PR tree-optimization/54498 (incorrect code generation from g++ -O) 2012-09-06 Richard Guenther 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 --- gcc/tree-ssa-pre.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/tree-ssa-pre.c') 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); } -- cgit v1.1