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