https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #9)
> Oh, and I believe to make nests with only outer safelen > 0 work correctly we
> need to move the check elsewhere:
> 
> Index: gcc/tree-ssa-loop-im.c
> ===================================================================
> --- gcc/tree-ssa-loop-im.c      (revision 235237)
> +++ gcc/tree-ssa-loop-im.c      (working copy)
> @@ -2120,6 +2120,12 @@ ref_indep_loop_p_1 (struct loop *loop, i
>    bitmap_iterator bi;
>    im_mem_ref *aref;
>  
> +  /* If the Ith and the I + nth iterations can be evaluated
> +     concurrently a reference with an invariant address is
> +     not dependent on any other memory reference.  */
> +  if (loop->safelen > 0)
> +    return true;
> +
>    if (stored_p)
>      refs_to_check = &memory_accesses.refs_in_loop[loop->num];
>    else

It doesn't work:

Running target unix
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O1 execution test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O3 execution test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -g -O2 execution test
FAIL: g++.dg/cilk-plus/CK/for1.cc  -O1 -fcilkplus execution test
FAIL: g++.dg/cilk-plus/CK/for1.cc  -g -O2 -fcilkplus execution test

Running target unix
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O1  execution test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O2 -ftree-vectorize 
executi
on test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O2 -std=c99  execution test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O3 -flto -g  execution test
FAIL: c-c++-common/cilk-plus/CK/nested_cilk_for.c  -O3 -g  execution test
...
FAIL: gcc.dg/vect/pr59984.c -flto -ffat-lto-objects execution test
FAIL: gcc.dg/vect/pr59984.c execution test
FAIL: gcc.dg/vect/vect-simd-clone-5.c -flto -ffat-lto-objects execution test
FAIL: gcc.dg/vect/vect-simd-clone-5.c execution test
FAIL: gcc.dg/vect/vect-simd-clone-8.c -flto -ffat-lto-objects execution test
FAIL: gcc.dg/vect/vect-simd-clone-8.c execution test

Running target unix
FAIL: libgomp.c/ordered-5.c execution test
FAIL: libgomp.c++/pr66702-2.C execution test
FAIL: libgomp.fortran/examples-4/declare_target-5.f90   -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions 
execution test
FAIL: libgomp.fortran/examples-4/simd-2.f90   -O1  execution test
FAIL: libgomp.fortran/examples-4/simd-2.f90   -O2  execution test
FAIL: libgomp.fortran/examples-4/simd-2.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/examples-4/simd-2.f90   -O3 -g  execution test
FAIL: libgomp.fortran/examples-4/simd-7.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
FAIL: libgomp.fortran/examples-4/simd-7.f90   -O3 -g  execution test

Reply via email to