re PR tree-optimization/36293 (ICE or wrong code in vector-strided gap tests)

PR tree-optimization/36293
	* tree-vect-transform.c (vect_transform_strided_load): Don't check
	if the first load must be skipped because of a gap.

From-SVN: r135755
This commit is contained in:
Ira Rosen 2008-05-22 10:39:44 +00:00 committed by Ira Rosen
parent 1842e4d44e
commit f8b52c2ff7
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2008-05-22 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/36293
* tree-vect-transform.c (vect_transform_strided_load): Don't check
if the first load must be skipped because of a gap.
2008-05-22 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (refs_may_alias_p): Exit early if possible. Handle

View File

@ -5473,12 +5473,14 @@ vect_transform_strided_load (tree stmt, VEC(tree,heap) *dr_chain, int size,
break;
/* Skip the gaps. Loads created for the gaps will be removed by dead
code elimination pass later.
code elimination pass later. No need to check for the first stmt in
the group, since it always exists.
DR_GROUP_GAP is the number of steps in elements from the previous
access (if there is no gap DR_GROUP_GAP is 1). We skip loads that
correspond to the gaps.
*/
if (gap_count < DR_GROUP_GAP (vinfo_for_stmt (next_stmt)))
if (next_stmt != first_stmt
&& gap_count < DR_GROUP_GAP (vinfo_for_stmt (next_stmt)))
{
gap_count++;
continue;