diff options
author | Ilya Enkovich <enkovich.gnu@gmail.com> | 2015-11-23 10:01:51 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-11-23 10:01:51 +0000 |
commit | c245362b973e42616ac5d677539b7f3313b8c28e (patch) | |
tree | 5e55937f221635153ca002132b5d14cbfba816c5 /gcc/tree-vect-loop.c | |
parent | 1cabb204394a2369ee7deeb518cbed038b33939b (diff) | |
download | gcc-c245362b973e42616ac5d677539b7f3313b8c28e.zip gcc-c245362b973e42616ac5d677539b7f3313b8c28e.tar.gz gcc-c245362b973e42616ac5d677539b7f3313b8c28e.tar.bz2 |
re PR tree-optimization/68327 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_is_simple_use, at tree-vect-stmts.c:8562)
gcc/
PR tree-optimization/68327
* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
compute vectype for non-relevant mask producers.
* gcc/tree-vect-stmts.c (vectorizable_comparison): Check stmt
relevance earlier.
gcc/testsuite/
PR tree-optimization/68327
* gcc.dg/pr68327.c: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r230743
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 41e5031..cc272b2 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -439,7 +439,8 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo) compute a factor. */ if (TREE_CODE (scalar_type) == BOOLEAN_TYPE) { - mask_producers.safe_push (stmt_info); + if (STMT_VINFO_RELEVANT_P (stmt_info)) + mask_producers.safe_push (stmt_info); bool_result = true; if (gimple_code (stmt) == GIMPLE_ASSIGN |