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

            Bug ID: 84452
           Summary: [8 Regression] ICE in expand_simd_clones at
                    gcc/omp-simd-clone.c:1612
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: segher at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-unknown-linux-gnu
            Target: ppc64le-linux-gnu

Probably GCC 8 regression:

$ ppc64le-linux-gnu-gcc
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c  -Ofast
during GIMPLE pass: vect
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c: In
function ‘foo’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c:10:1:
internal compiler error: Segmentation fault
 foo (void)
 ^~~
0xb84bff crash_signal
        .././../gcc/toplev.c:325

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00000000012d0bc3 in expand_simd_clones (node=node@entry=0x7ffff69cd2e0)
at .././../gcc/omp-simd-clone.c:1612
#2  0x00000000013085d7 in vect_recog_pow_pattern (stmts=<optimized out>,
type_in=0x7fffffffd0b0, type_out=0x7fffffffd0b8) at
.././../gcc/tree-vect-patterns.c:1118
#3  0x0000000001303fe9 in vect_pattern_recog_1
(recog_func=recog_func@entry=0x1ca16a0 <vect_vect_recog_func_ptrs+64>,
stmts_to_replace=stmts_to_replace@entry=0x7fffffffd100, si=...) at
.././../gcc/tree-vect-patterns.c:4489
#4  0x00000000013089f7 in vect_pattern_recog (vinfo=vinfo@entry=0x1e8bc00) at
.././../gcc/tree-vect-patterns.c:4681
#5  0x0000000000e15a6f in vect_analyze_loop_2 (fatal=<synthetic pointer>:
<optimized out>, loop_vinfo=<optimized out>) at
.././../gcc/tree-vect-loop.c:2161
#6  vect_analyze_loop (loop=loop@entry=0x7ffff67fc770,
orig_loop_vinfo=orig_loop_vinfo@entry=0x0) at .././../gcc/tree-vect-loop.c:2612
#7  0x0000000000e33557 in vectorize_loops () at
.././../gcc/tree-vectorizer.c:664
#8  0x0000000000aa4281 in execute_one_pass (pass=pass@entry=0x1dc3200) at
.././../gcc/passes.c:2497
#9  0x0000000000aa4b41 in execute_pass_list_1 (pass=0x1dc3200) at
.././../gcc/passes.c:2586
#10 0x0000000000aa4b53 in execute_pass_list_1 (pass=0x1dc2a70) at
.././../gcc/passes.c:2587
#11 0x0000000000aa4b53 in execute_pass_list_1 (pass=0x1dc16e0) at
.././../gcc/passes.c:2587
#12 0x0000000000aa4b95 in execute_pass_list (fn=<optimized out>,
pass=<optimized out>) at .././../gcc/passes.c:2597
#13 0x000000000074bcf0 in cgraph_node::expand (this=0x7ffff69cd000) at
.././../gcc/cgraphunit.c:2139
#14 0x000000000074d291 in expand_all_functions () at
.././../gcc/cgraphunit.c:2275
#15 symbol_table::compile (this=this@entry=0x7ffff67fe000) at
.././../gcc/cgraphunit.c:2624
#16 0x000000000074fb67 in symbol_table::compile (this=0x7ffff67fe000) at
.././../gcc/cgraphunit.c:2720
#17 symbol_table::finalize_compilation_unit (this=0x7ffff67fe000) at
.././../gcc/cgraphunit.c:2717
#18 0x0000000000b84ede in compile_file () at .././../gcc/toplev.c:480
#19 0x000000000059fd75 in do_compile () at .././../gcc/toplev.c:2132
#20 toplev::main (this=this@entry=0x7fffffffd58e, argc=<optimized out>,
argc@entry=23, argv=<optimized out>, argv@entry=0x7fffffffd688) at
.././../gcc/toplev.c:2267
#21 0x00000000005a22ab in main (argc=23, argv=0x7fffffffd688) at
.././../gcc/main.c:39
(gdb) p *current_pass
$1 = {<pass_data> = {type = GIMPLE_PASS, name = 0x14d5527 "vect", optinfo_flags
= 36, tv_id = TV_TREE_VECTORIZATION, properties_required = 40,
properties_provided = 0, properties_destroyed = 0, todo_flags_start = 524288,
todo_flags_finish = 0}, 
  _vptr.opt_pass = 0x14dace8 <vtable for (anonymous
namespace)::pass_vectorize+16>, sub = 0x1dc3260, next = 0x1dc32c0,
static_pass_number = 166, m_ctxt = 0x1d9a860}

Reply via email to