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

            Bug ID: 94233
           Summary: [OpenMP] ICE in lto1 for AMDGCN offloading: in
                    dr_analyze_innermost, at tree-data-ref.c:925 for
                    gcc-mainline/libgomp/testsuite/libgomp.c/target-link-1
                    .c
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, openmp
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

Compiling gcc-mainline/libgomp/testsuite/libgomp.c/target-link-1.c with
"-fopenmp -O3" (instead of default -O2) fails as follows.

[I also did see "libgomp: Cannot map target variables (size mismatch)" at run
time for -O2.]


The ICE is in the offloading-target compiler lto1:


/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/install/libexec/gcc/x86_64-none-linux-gnu/10.0.1/accel/amdgcn-amdhsa/lto1
-quiet -dumpbase ccFoh0bA.o -m64 -mgomp -mlocal-symbol-id=/tmp/ccFoh0bA.o
-march=fiji -auxbase-strip /tmp/ccxUIhxG.mkoffload.1.s -g -O3 -version
-fno-openacc -fno-pie -foffload-abi=lp64 -fopenmp -o
/tmp/ccxUIhxG.mkoffload.1.s @/tmp/cciArjCH
GNU GIMPLE (GCC) version 10.0.1 20200319 (experimental) (amdgcn-amdhsa)
        compiled by GNU C version 8.3.1 20190416, GMP version 6.1.2, MPFR
version 4.0.2-p1, MPC version 1.1.0, isl version isl-0.20-GMP
...

src/gcc-mainline/libgomp/testsuite/libgomp.c/target-link-1.c: In function
'main._omp_fn.0':
src/gcc-mainline/libgomp/testsuite/libgomp.c/target-link-1.c:38:11: internal
compiler error: in dr_analyze_innermost, at tree-data-ref.c:925
   38 |   #pragma omp target map (to: a, b, c, d) map (from: res)
      |           ^
0x7b8c81 dr_analyze_innermost(innermost_loop_behavior*, tree_node*, loop*,
gimple const*)
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-data-ref.c:924
0x13da92b create_data_ref(edge_def*, loop*, tree_node*, gimple*, bool, bool)
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-data-ref.c:1255
0x13dacb7 find_data_references_in_stmt(loop*, gimple*, vec<data_reference*,
va_heap, vl_ptr>*)
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-data-ref.c:5603
0x13f3093 vect_find_stmt_data_reference(loop*, gimple*, vec<data_reference*,
va_heap, vl_ptr>*)
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-vect-data-refs.c:4064
0xf1f2c6 vect_slp_bb(basic_block_def*)
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-vect-slp.c:3499
0xf2257f execute
       
/net/build5-trusty-cs/scratch/tburnus/fsf.mainline.x86_64-linux-gnu-amdgcn/src/gcc-mainline/gcc/tree-vectorizer.c:1321

Reply via email to