+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
+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
--- /dev/null
+/* { 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;
+}
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 ();