re PR tree-optimization/57275 (Error in data dependence analysis during gather vectorization)

2013-05-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57275
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
	return value for fail to do runtime alias checks for gather loads.

	* gcc.target/i386/pr57275.c: New testcase.

From-SVN: r198918
This commit is contained in:
Richard Biener 2013-05-15 08:12:49 +00:00 committed by Richard Biener
parent 2d6e460353
commit fdf6a7b900
4 changed files with 52 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2013-05-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/57275
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
return value for fail to do runtime alias checks for gather loads.
2013-05-15 Jan Hubicka <jh@suse.cz>
PR lto/57038

View File

@ -1,3 +1,8 @@
2013-05-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/57275
* gcc.target/i386/pr57275.c: New testcase.
2013-05-15 Jan Hubicka <jh@suse.cz>
* gcc.dg/lto/attr-weakref-1_0.c: New testcase.

View File

@ -0,0 +1,39 @@
/* { dg-do run } */
/* { dg-options "-O3 -march=native" } */
extern void abort (void);
#define N 1024
float a[N], b[N], c[N];
int k[N];
__attribute__((noinline, noclone)) void
f (void)
{
int i;
for (i = 0; i < N; i++)
{
a[i] = b[k[i]];
b[i] = c[i];
}
}
int main ()
{
int i;
for (i = 0; i < N; i++)
{
k[i] = i%2;
b[i] = i;
c[i] = 179;
}
f ();
if (a[2] != 179 || a[3] != 179)
abort ();
return 0;
}

View File

@ -269,7 +269,7 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr,
dump_generic_expr (MSG_MISSED_OPTIMIZATION, TDF_SLIM,
DR_REF (drb));
}
return false;
return true;
}
if (dump_enabled_p ())
@ -305,7 +305,7 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr,
dump_generic_expr (MSG_MISSED_OPTIMIZATION, TDF_SLIM,
DR_REF (drb));
}
return false;
return true;
}
if (dump_enabled_p ())