Hi Grüße. Could you please tell me how to reproduce your regression - did not see any new failures in my local area:
PASS: libgomp.fortran/examples-4/simd-2.f90 -O0 (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -O0 execution test PASS: libgomp.fortran/examples-4/simd-2.f90 -O1 (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -O1 execution test PASS: libgomp.fortran/examples-4/simd-2.f90 -O2 (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -O2 execution test PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -g (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -g execution test PASS: libgomp.fortran/examples-4/simd-2.f90 -Os (test for excess errors) PASS: libgomp.fortran/examples-4/simd-2.f90 -Os execution test I used HASWELL machine for it since test requires target avx. 2016-06-29 19:19 GMT+03:00 Thomas Schwinge <tho...@codesourcery.com>: > Hi! > > On Tue, 28 Jun 2016 18:50:37 +0300, Yuri Rumyantsev <ysrum...@gmail.com> > wrote: >> Here is the second part of patch to improve loop invariant code motion >> for loop marked with pragma omp simd. >> >> Bootstrapping and regression testing did not show any new failures. > > That got committed in r237844. In my testing, that causes (or exposes?) > the following regressions (both with offloading enabled and disabled): > > PASS: libgomp.fortran/examples-4/simd-2.f90 -O1 (test for excess > errors) > PASS: libgomp.fortran/examples-4/simd-2.f90 -O1 execution test > PASS: libgomp.fortran/examples-4/simd-2.f90 -O2 (test for excess > errors) > -PASS: libgomp.fortran/examples-4/simd-2.f90 -O2 execution test > +FAIL: libgomp.fortran/examples-4/simd-2.f90 -O2 execution test > PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess > errors) > -PASS: 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 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions execution test > PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -g (test for excess > errors) > -PASS: libgomp.fortran/examples-4/simd-2.f90 -O3 -g execution test > +FAIL: libgomp.fortran/examples-4/simd-2.f90 -O3 -g execution test > PASS: libgomp.fortran/examples-4/simd-2.f90 -Os (test for excess > errors) > PASS: libgomp.fortran/examples-4/simd-2.f90 -Os execution test > PASS: libgomp.fortran/examples-4/simd-3.f90 -O0 (test for excess > errors) > > These are segmentation faults, for example: > > Program received signal SIGSEGV: Segmentation fault - invalid memory > reference. > > Backtrace for this error: > #0 0x7fb65eeb52ef in ??? > #1 0x400845 in __simd2_mod_MOD_add2 > at > [...]/source-gcc/libgomp/testsuite/libgomp.fortran/examples-4/simd-2.f90:18 > #2 0x400845 in __simd2_mod_MOD_work > at > [...]/source-gcc/libgomp/testsuite/libgomp.fortran/examples-4/simd-2.f90:29 > #3 0x4008d4 in MAIN__ > at > [...]/source-gcc/libgomp/testsuite/libgomp.fortran/examples-4/simd-2.f90:68 > #4 0x4005dc in main > at > [...]/source-gcc/libgomp/testsuite/libgomp.fortran/examples-4/simd-2.f90:58 > Segmentation fault (core dumped) > >> PR tree-optimization/70729 >> * tree-ssa-loop-im.c (ref_indep_loop_p_1): Consider memory reference as >> independent in loops having positive safelen value. >> * tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since >> it may be not valid after vectorization. > > > Grüße > Thomas