Commit a8d25fd0 by Richard Biener Committed by Richard Biener

re PR tree-optimization/79887 (ICE in set_uid_loop_bbs, at tree-vectorizer.c:482)

2017-03-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79894
	* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
	to NULL after folding it.

	* gcc.dg/vect/pr79887.c: New testcase.

From-SVN: r245923
parent 522fcdd7
2017-03-06 Richard Biener <rguenther@suse.de> 2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79894
* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
to NULL after folding it.
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79824 PR tree-optimization/79824
* tree-vect-stmts.c (get_group_load_store_type): Fix alignment * tree-vect-stmts.c (get_group_load_store_type): Fix alignment
check disabling peeling for gaps. check disabling peeling for gaps.
......
2017-03-06 Richard Biener <rguenther@suse.de> 2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79894
* gcc.dg/vect/pr79887.c: New testcase.
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79824 PR tree-optimization/79824
* gcc.dg/vect/pr79824-1.c: New testcase. * gcc.dg/vect/pr79824-1.c: New testcase.
* gcc.dg/vect/pr79824-2.c: Likewise. * gcc.dg/vect/pr79824-2.c: Likewise.
......
/* Test for pr79887. */
/* { dg-do compile } */
/* { dg-require-effective-target vect_condition } */
/* { dg-additional-options "-fno-trapping-math --param vect-epilogues-nomask=1" } */
/* { dg-additional-options "-mavx512ifma" { target x86_64-*-* i?86-*-* } } */
void
foo (float a[32], float b[2][32])
{
int i;
for (i = 0; i < 32; i++)
a[i] = (b[0][i] > b[1][i]) ? b[0][i] : b[1][i];
}
...@@ -651,6 +651,7 @@ vectorize_loops (void) ...@@ -651,6 +651,7 @@ vectorize_loops (void)
"basic block vectorized\n"); "basic block vectorized\n");
fold_loop_vectorized_call (loop_vectorized_call, fold_loop_vectorized_call (loop_vectorized_call,
boolean_true_node); boolean_true_node);
loop_vectorized_call = NULL;
ret |= TODO_cleanup_cfg; ret |= TODO_cleanup_cfg;
} }
} }
...@@ -703,6 +704,7 @@ vectorize_loops (void) ...@@ -703,6 +704,7 @@ vectorize_loops (void)
if (loop_vectorized_call) if (loop_vectorized_call)
{ {
fold_loop_vectorized_call (loop_vectorized_call, boolean_true_node); fold_loop_vectorized_call (loop_vectorized_call, boolean_true_node);
loop_vectorized_call = NULL;
ret |= TODO_cleanup_cfg; ret |= TODO_cleanup_cfg;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment