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

            Bug ID: 92195
           Summary: [7/8 Regression/Latent] 'libgomp.c/pr90811.c:29:1:
                    error: address taken, but ADDRESSABLE bit not set'
                    ('internal compiler error: verify_gimple failed')
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-checking, openmp
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: amonakov at gcc dot gnu.org, jakub at gcc dot gnu.org
  Target Milestone: ---

With '--enable-checking=yes,extra,rtl', I see the test case from PR90811 in
gcc-8-branch (cherry-picked in r272163), and gcc-7-branch (cherry-picked in
r275155) run into an ICE in the host (not offload!) compiler (so this must be a
latent issue, not related to the 'gcc/config/nvptx/nvptx.c' code changes):

    source-gcc/libgomp/testsuite/libgomp.c/pr90811.c: In function
'main._omp_fn.1':
    source-gcc/libgomp/testsuite/libgomp.c/pr90811.c:29:1: error: address
taken, but ADDRESSABLE bit not set
     }
     ^
    D.2317
    cc1: note: in statement
    # .MEM_65 = VDEF <.MEM_20(D)>
    simduid.7_66 = GOMP_SIMT_ENTER (simduid.7_64(D), &D.2317);

    Breakpoint 2, internal_error (gmsgid=0x19f03d5 "verify_gimple failed") at
[...]/source-gcc/gcc/diagnostic.c:1438
    1438    {
    (gdb) bt
    #0  internal_error (gmsgid=0x19f03d5 "verify_gimple failed") at
[...]/source-gcc/gcc/diagnostic.c:1438
    #1  0x0000000000d9b389 in verify_gimple_in_cfg (fn=0x7ffff690e160,
verify_nothrow=true) at [...]/source-gcc/gcc/tree-cfg.c:5585
    #2  0x0000000000c1b8b8 in execute_function_todo (fn=0x7ffff690e160,
data=<optimized out>) at [...]/source-gcc/gcc/passes.c:1994
    #3  0x0000000000c1c22a in execute_todo (flags=2099296) at
[...]/source-gcc/gcc/passes.c:2048
    #4  0x0000000000c1ef5e in execute_one_pass (pass=pass@entry=<opt_pass*
0x25f2490 "ccp"(37)>) at [...]/source-gcc/gcc/passes.c:2537
    #5  0x0000000000c1f558 in execute_pass_list_1 (pass=<opt_pass* 0x25f2490
"ccp"(37)>) at [...]/source-gcc/gcc/passes.c:2586
    #6  0x0000000000c1f56a in execute_pass_list_1 (pass=<opt_pass* 0x25f2360
"early_optimizations"(35)>) at [...]/source-gcc/gcc/passes.c:2587
    #7  0x0000000000c1f5b5 in execute_pass_list (fn=<optimized out>,
pass=<optimized out>) at [...]/source-gcc/gcc/passes.c:2597
    #8  0x0000000000c1d8c9 in do_per_function_toporder
(callback=callback@entry=0xc1f5a0 <execute_pass_list(function*, opt_pass*)>,
data=0x25f21e0) at [...]/source-gcc/gcc/passes.c:1739
    #9  0x0000000000c1fc17 in execute_ipa_pass_list (pass=<opt_pass* 0x25f2180
"opt_local_passes"(31)>) at [...]/source-gcc/gcc/passes.c:2939
    #10 0x0000000000885d5f in ipa_passes () at
[...]/source-gcc/gcc/cgraphunit.c:2423
    #11 symbol_table::compile (this=this@entry=0x7ffff67ac100) at
[...]/source-gcc/gcc/cgraphunit.c:2558
    #12 0x000000000088839e in symbol_table::compile (this=0x7ffff67ac100) at
[...]/source-gcc/gcc/cgraphunit.c:2537
    #13 symbol_table::finalize_compilation_unit (this=0x7ffff67ac100) at
[...]/source-gcc/gcc/cgraphunit.c:2717
    #14 0x0000000000d477a2 in compile_file () at
[...]/source-gcc/gcc/toplev.c:480
    #15 0x00000000006c96ca in do_compile () at
[...]/source-gcc/gcc/toplev.c:2160
    #16 toplev::main (this=this@entry=0x7fffffffc450, argc=argc@entry=33,
argv=argv@entry=0x7fffffffc558) at [...]/source-gcc/gcc/toplev.c:2295
    #17 0x00000000006cbf47 in main (argc=33, argv=0x7fffffffc558) at
[...]/source-gcc/gcc/main.c:39

There is no ICE when compiling with '-foffload=disable'.

This ICE is not seen on trunk, and gcc-9-branch (cherry-picked in r272162).

Reply via email to