re PR tree-optimization/84132 (tree-data-ref.c:3938: poor coding ?)

2018-01-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84132
	* tree-data-ref.c (analyze_miv_subscript): Properly
	check whether evolution_function_is_affine_multivariate_p
	before calling gcd_of_steps_may_divide_p.

	* g++.dg/torture/pr84132.C: New testcase.

From-SVN: r257232
This commit is contained in:
Richard Biener 2018-01-31 13:07:53 +00:00 committed by Richard Biener
parent 8ede319fa9
commit 957a25ab0c
4 changed files with 31 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2018-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/84132
* tree-data-ref.c (analyze_miv_subscript): Properly
check whether evolution_function_is_affine_multivariate_p
before calling gcd_of_steps_may_divide_p.
2018-01-31 Julia Koval <julia.koval@intel.com>
PR target/83618

View File

@ -1,3 +1,8 @@
2018-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/84132
* g++.dg/torture/pr84132.C: New testcase.
2018-01-31 Jan Hubicka <hubicka@ucw.cz>
* g++.dg/torture/pr81360.C: Drop unintended -O2 from dg-options and

View File

@ -0,0 +1,17 @@
/* { dg-do compile } */
struct g {
char b;
unsigned char *d[];
} e;
unsigned char f;
void i()
{
for (int h;; h++)
{
unsigned a = h;
for (int c = 0; c < 256; c += 6)
for (int h = c; h < c + 6; h++)
e.d[h + a] = &f;
}
}

View File

@ -3976,9 +3976,8 @@ analyze_miv_subscript (tree chrec_a,
}
else if (evolution_function_is_constant_p (difference)
/* For the moment, the following is verified:
evolution_function_is_affine_multivariate_p (chrec_a,
loop_nest->num) */
&& evolution_function_is_affine_multivariate_p (chrec_a,
loop_nest->num)
&& !gcd_of_steps_may_divide_p (chrec_a, difference))
{
/* testsuite/.../ssa-chrec-33.c