re PR tree-optimization/46008 (Floating point condexpr not vectorized)
PR tree-optimization/46008 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible. From-SVN: r165476
This commit is contained in:
parent
c0103e7461
commit
e05eee4908
@ -1,3 +1,9 @@
|
|||||||
|
2010-10-14 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/46008
|
||||||
|
* tree-if-conv.c (predicate_bbs): Try to canonicalize c2
|
||||||
|
if possible.
|
||||||
|
|
||||||
2010-10-14 Richard Guenther <rguenther@suse.de>
|
2010-10-14 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/44913
|
PR tree-optimization/44913
|
||||||
|
@ -915,7 +915,7 @@ predicate_bbs (loop_p loop)
|
|||||||
|
|
||||||
case GIMPLE_COND:
|
case GIMPLE_COND:
|
||||||
{
|
{
|
||||||
tree c2;
|
tree c2, tem;
|
||||||
edge true_edge, false_edge;
|
edge true_edge, false_edge;
|
||||||
location_t loc = gimple_location (stmt);
|
location_t loc = gimple_location (stmt);
|
||||||
tree c = fold_build2_loc (loc, gimple_cond_code (stmt),
|
tree c = fold_build2_loc (loc, gimple_cond_code (stmt),
|
||||||
@ -932,6 +932,9 @@ predicate_bbs (loop_p loop)
|
|||||||
|
|
||||||
/* If C is false, then FALSE_EDGE is taken. */
|
/* If C is false, then FALSE_EDGE is taken. */
|
||||||
c2 = invert_truthvalue_loc (loc, unshare_expr (c));
|
c2 = invert_truthvalue_loc (loc, unshare_expr (c));
|
||||||
|
tem = canonicalize_cond_expr_cond (c2);
|
||||||
|
if (tem)
|
||||||
|
c2 = tem;
|
||||||
add_to_dst_predicate_list (loop, false_edge, cond, c2);
|
add_to_dst_predicate_list (loop, false_edge, cond, c2);
|
||||||
|
|
||||||
cond = NULL_TREE;
|
cond = NULL_TREE;
|
||||||
|
Loading…
Reference in New Issue
Block a user