re PR tree-optimization/68806 (internal compiler error: Segmentation fault)
2015-12-10 Richard Biener <rguenther@suse.de> PR tree-optimization/68806 * tree-vect-loop.c (vect_analyze_loop_2): Properly detect reduction chains and ignore SLP reductions. * gcc.dg/torture/pr68806.c: New testcase. From-SVN: r231493
This commit is contained in:
parent
a839a8f708
commit
77ad31753c
@ -1,3 +1,9 @@
|
||||
2015-12-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/68806
|
||||
* tree-vect-loop.c (vect_analyze_loop_2): Properly detect
|
||||
reduction chains and ignore SLP reductions.
|
||||
|
||||
2015-12-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-if-conv.c (if_convertible_loop_p_1): Do not compute
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-12-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/68806
|
||||
* gcc.dg/torture/pr68806.c: New testcase.
|
||||
|
||||
2015-12-08 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/61886
|
||||
|
13
gcc/testsuite/gcc.dg/torture/pr68806.c
Normal file
13
gcc/testsuite/gcc.dg/torture/pr68806.c
Normal file
@ -0,0 +1,13 @@
|
||||
/* { dg-do compile } */
|
||||
|
||||
int sad(const unsigned char *p1, long p2)
|
||||
{
|
||||
int a = 0;
|
||||
for (int y = 0; y < 16; y++)
|
||||
{
|
||||
for (int x = 0; x < 12; x++)
|
||||
a += p1[x];
|
||||
p1 += p2;
|
||||
}
|
||||
return a;
|
||||
}
|
@ -2123,9 +2123,12 @@ again:
|
||||
if (!slp)
|
||||
return false;
|
||||
|
||||
/* If there are reduction chains re-trying will fail anyway. */
|
||||
if (! LOOP_VINFO_REDUCTION_CHAINS (loop_vinfo).is_empty ())
|
||||
return false;
|
||||
|
||||
/* Likewise if the grouped loads or stores in the SLP cannot be handled
|
||||
via interleaving or lane instructions or if there were any SLP
|
||||
reductions. */
|
||||
via interleaving or lane instructions. */
|
||||
slp_instance instance;
|
||||
slp_tree node;
|
||||
unsigned i, j;
|
||||
@ -2135,7 +2138,7 @@ again:
|
||||
vinfo = vinfo_for_stmt
|
||||
(SLP_TREE_SCALAR_STMTS (SLP_INSTANCE_TREE (instance))[0]);
|
||||
if (! STMT_VINFO_GROUPED_ACCESS (vinfo))
|
||||
return false;
|
||||
continue;
|
||||
vinfo = vinfo_for_stmt (STMT_VINFO_GROUP_FIRST_ELEMENT (vinfo));
|
||||
unsigned int size = STMT_VINFO_GROUP_SIZE (vinfo);
|
||||
tree vectype = STMT_VINFO_VECTYPE (vinfo);
|
||||
|
Loading…
x
Reference in New Issue
Block a user