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

Attachment: signature.asc
Description: PGP signature

Reply via email to