diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2007-07-09 15:00:19 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2007-07-09 15:00:19 +0200 |
commit | 8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc (patch) | |
tree | 5a8686dc82a58fef1371445e8ca7a4c1722b4d48 /gcc/tree-if-conv.c | |
parent | d241cd48e0e43ac4f3db513e32e0b66805b4a87f (diff) | |
download | gcc-8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc.zip gcc-8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc.tar.gz gcc-8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc.tar.bz2 |
re PR tree-optimization/32681 (ice for legal C code with flags -ffast-math -O3 -ftree-vectorize)
PR tree-optimization/32681
* tree-if-conv.c (find_phi_replacement_condition): Use the condition
saved in second_edge->aux when first_bb is a loop header.
testsuite/ChangeLog:
PR tree-optimization/32681
* gcc.dg/tree-ssa/pr32681.c: New test.
From-SVN: r126482
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r-- | gcc/tree-if-conv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index c1ce57e..4714bd7 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -751,7 +751,7 @@ find_phi_replacement_condition (struct loop *loop, AND it with the incoming bb predicate. */ if (second_edge->aux) *cond = build2 (TRUTH_AND_EXPR, boolean_type_node, - *cond, first_edge->aux); + *cond, second_edge->aux); if (TREE_CODE (*cond) == TRUTH_NOT_EXPR) /* We can be smart here and choose inverted |