re PR tree-optimization/68951 (ICE in vect_update_misalignment_for_peel)

2015-12-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68951
	* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
	Ignore strided non-group accesses.

	* gcc.dg/torture/pr68951.c: New testcase.

From-SVN: r231754
This commit is contained in:
Richard Biener 2015-12-17 12:34:27 +00:00 committed by Richard Biener
parent a30c5ca4c1
commit 8ee38286c3
4 changed files with 29 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2015-12-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/68951
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
Ignore strided non-group accesses.
2015-12-17 Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/arc.c (arc_loop_hazard): Don't convert the jump label

View file

@ -1,3 +1,8 @@
2015-12-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/68951
* gcc.dg/torture/pr68951.c: New testcase.
2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/67973

View file

@ -0,0 +1,12 @@
/* { dg-do compile } */
/* { dg-additional-options "-w" } */
static int g_534[1][1];
int fn1()
{
int i;
for (i = 0; i < 4; i++)
g_534[i + 2][i] ^= 3;
for (;;)
;
}

View file

@ -1215,6 +1215,12 @@ vect_peeling_hash_get_lowest_cost (_vect_peel_info **slot,
&& GROUP_FIRST_ELEMENT (stmt_info) != stmt)
continue;
/* Strided accesses perform only component accesses, alignment is
irrelevant for them. */
if (STMT_VINFO_STRIDED_P (stmt_info)
&& !STMT_VINFO_GROUPED_ACCESS (stmt_info))
continue;
save_misalignment = DR_MISALIGNMENT (dr);
vect_update_misalignment_for_peel (dr, elem->dr, elem->npeel);
vect_get_data_access_cost (dr, &inside_cost, &outside_cost,