+++ /dev/null
-/* { dg-do run } */
-/* { dg-additional-options "-ftree-loop-distribution" } */
-
-struct {
- int : 8;
- int a;
-} b, d[4] = {{0}, {0}, {0}, {5}};
-int c, e;
-int main()
-{
- for (c = 2; c; c--)
- for (e = 0; e < 2; e++) {
- d[c] = b = d[c + 1];
- d[c + 1].a = 0;
- }
- if (b.a != 0)
- __builtin_abort();
- return 0;
-}
gcc.dg/tree-ssa/pr94969.c. */
if (DDR_NUM_DIST_VECTS (ddr) != 1)
this_dir = 2;
- /* If the dependence distance is zero in the innermost
- loop preserve stmt order. */
- else if (DDR_DIST_VECT (ddr, 0)
- [DDR_LOOP_NEST (ddr).length () - 1] == 0)
+ /* If the overlap is exact preserve stmt order. */
+ else if (lambda_vector_zerop (DDR_DIST_VECT (ddr, 0),
+ DDR_NB_LOOPS (ddr)))
;
/* Else as the distance vector is lexicographic positive swap
the dependence direction. */