re PR tree-optimization/77605 (wrong code at -O3 on x86_64-linux-gnu)
2016-09-19 Richard Biener <rguenther@suse.de> PR middle-end/77605 * tree-data-ref.c (analyze_subscript_affine_affine): Use the proper niter to bound the loops. * gcc.dg/torture/pr77605.c: New testcase. From-SVN: r240227
This commit is contained in:
parent
ed4fd95729
commit
ae5276392f
|
@ -1,3 +1,9 @@
|
|||
2016-09-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/77605
|
||||
* tree-data-ref.c (analyze_subscript_affine_affine): Use the
|
||||
proper niter to bound the loops.
|
||||
|
||||
2016-09-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/77514
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-09-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/77605
|
||||
* gcc.dg/torture/pr77605.c: New testcase.
|
||||
|
||||
2016-09-18 Louis Krupp <louis.krupp@zoho.com>
|
||||
|
||||
* gfortran.dg/pr68078.f90: XFAIL run on Darwin
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
/* { dg-do run } */
|
||||
|
||||
int a, b, c[2][8];
|
||||
|
||||
int main ()
|
||||
{
|
||||
for (a = 0; a < 8; a++)
|
||||
for (b = 0; b < 2; b++)
|
||||
c[b][a] = c[b][b + 6] ^ 1;
|
||||
|
||||
if (c[0][7] != 0)
|
||||
__builtin_abort ();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -2686,13 +2686,13 @@ analyze_subscript_affine_affine (tree chrec_a,
|
|||
|
||||
if (niter > 0)
|
||||
{
|
||||
HOST_WIDE_INT tau2 = MIN (FLOOR_DIV (niter - i0, i1),
|
||||
FLOOR_DIV (niter - j0, j1));
|
||||
HOST_WIDE_INT tau2 = MIN (FLOOR_DIV (niter_a - i0, i1),
|
||||
FLOOR_DIV (niter_b - j0, j1));
|
||||
HOST_WIDE_INT last_conflict = tau2 - (x1 - i0)/i1;
|
||||
|
||||
/* If the overlap occurs outside of the bounds of the
|
||||
loop, there is no dependence. */
|
||||
if (x1 >= niter || y1 >= niter)
|
||||
if (x1 >= niter_a || y1 >= niter_b)
|
||||
{
|
||||
*overlaps_a = conflict_fn_no_dependence ();
|
||||
*overlaps_b = conflict_fn_no_dependence ();
|
||||
|
|
Loading…
Reference in New Issue