aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2007-07-09 15:00:19 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-07-09 15:00:19 +0200
commit8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc (patch)
tree5a8686dc82a58fef1371445e8ca7a4c1722b4d48 /gcc/tree-if-conv.c
parentd241cd48e0e43ac4f3db513e32e0b66805b4a87f (diff)
downloadgcc-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.c2
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