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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166508
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
--- /dev/null
+! { 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
&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));