[Bug tree-optimization/68327] [6 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vect_is_simple_use, at tree-vect-stmts.c:8562
ienkovich at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 17 12:49:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68327
--- Comment #3 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
We compute vectype for phi when it's relevant. For other statements we compute
it when it's relevant or alive. For non-relevant but alive boolean statement
we try to examine operand definition which is non-relevant phi and doesn't have
vectype.
Do we need vectype for non-relevant statements? This patch works for the test:
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 80937ec..592372d 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
More information about the Gcc-bugs
mailing list