Commit 0104d6c7 by Sebastian Pop Committed by Sebastian Pop

re PR tree-optimization/46036 (verify_ssa failed: definition in block 3 follows the use)

Fix PR46036.

2010-11-09  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/46036
	* tree-if-conv.c (predicate_bbs): Call unshare_expr before
	add_to_dst_predicate_list.

	* gfortran.dg/lto/pr46036_0.f90: New.

From-SVN: r166508
parent fd99dfdf
2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/46036
* tree-if-conv.c (predicate_bbs): Call unshare_expr before
add_to_dst_predicate_list.
2010-11-09 Jakub Jelinek <jakub@redhat.com>
PR debug/46171
2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/46036
* gfortran.dg/lto/pr46036_0.f90: New.
2010-10-09 Jakub Jelinek <jakub@redhat.com>
PR middle-end/45663
......
! { dg-lto-do link }
! { dg-lto-options {{ -O -flto -ftree-vectorize }} }
function no_of_edges(self) result(res)
integer(kind=kind(1)) :: edge_bit_string
integer(kind=kind(1)) :: res
integer(kind=kind(1)) :: e
do e = 0, 11
if (.not. btest(edge_bit_string,e)) cycle
res = res + 1
end do
end function no_of_edges
end program
......@@ -928,7 +928,7 @@ predicate_bbs (loop_p loop)
&true_edge, &false_edge);
/* If C is true, then TRUE_EDGE is taken. */
add_to_dst_predicate_list (loop, true_edge, cond, c);
add_to_dst_predicate_list (loop, true_edge, cond, unshare_expr (c));
/* If C is false, then FALSE_EDGE is taken. */
c2 = invert_truthvalue_loc (loc, unshare_expr (c));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment