https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96028
Bug ID: 96028 Summary: SEGV in vect_create_constant_vectors Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: rguenth at gcc dot gnu.org Target Milestone: --- Host: sparc-sun-solaris2.11 Target: sparc-sun-solaris2.11 Build: sparc-sun-solaris2.11 The new gcc.dg/torture/pr95761.c test causes an ICE on 64-bit Solaris/SPARC: +FAIL: gcc.dg/torture/pr95761.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error) +FAIL: gcc.dg/torture/pr95761.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) +FAIL: gcc.dg/torture/pr95761.c -O3 -g (internal compiler error) +FAIL: gcc.dg/torture/pr95761.c -O3 -g (test for excess errors) Excess errors: during GIMPLE pass: slp /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/torture/pr95761.c:12:6: internal compiler error: Segmentation Fault 0xc55d0b crash_signal /vol/gcc/src/hg/master/local/gcc/toplev.c:328 0xf86164 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /vol/gcc/src/hg/master/local/gcc/tree.h:3414 0xf86164 vect_create_constant_vectors /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3699 0xf86d4f vect_schedule_slp_instance /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4314 0xf86d4f vect_schedule_slp_instance /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4314 0xf8f14f vect_schedule_slp(vec_info*) /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4554 0xf9002f vect_slp_bb_region /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3379 0xf9002f vect_slp_bb(basic_block_def*) /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3509 0xf91e0f execute /vol/gcc/src/hg/master/local/gcc/tree-vectorizer.c:1384 Can be reproduced with $ cc1 -fpreprocessed pr95761.i -quiet -m64 -O3 -o pr95761.s gdb shows Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] vect_create_constant_vectors (vinfo=0x1bc5f38, op_node=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3699 3699 if (!types_compatible_p (TREE_TYPE (vector_type), TREE_TYPE (op))) (gdb) p vector_type $1 = <vector_type 0xfa8835c0> (gdb) p op $2 = <tree 0x0> (gdb) where #0 vect_create_constant_vectors (vinfo=0x1bc5f38, op_node=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3699 #1 0x00f86d50 in vect_schedule_slp_instance (vinfo=0x1bc5f38, node=0x1beab48, instance=0x1a95680) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4314 #2 0x00f86d50 in vect_schedule_slp_instance (vinfo=0x1bc5f38, node=0x1bea748, instance=0x1a95680) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4314 #3 0x00f8f150 in vect_schedule_slp (vinfo=0x1bc5f38) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:4554 #4 0x00f90030 in vect_slp_bb_region (n_stmts=<optimized out>, datarefs=..., region_end=..., region_begin=...) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3379 #5 vect_slp_bb (bb=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/tree-vect-slp.c:3509 #6 0x00f91e10 in (anonymous namespace)::pass_slp_vectorize::execute ( this=<optimized out>, fun=0xfa8ac000) at /vol/gcc/src/hg/master/local/gcc/tree-vectorizer.c:1384 #7 0x00b4264c in execute_one_pass (pass=<opt_pass* 0x1a9c8b0 "slp"(172)>) at /vol/gcc/src/hg/master/local/gcc/passes.c:2502 #8 0x00b430f4 in execute_pass_list_1 (pass=<opt_pass* 0x1a9c8b0 "slp"(172)>) at /vol/gcc/src/hg/master/local/gcc/passes.c:2590 #9 0x00b43118 in execute_pass_list_1 (pass=<opt_pass* 0x1a9c268 "loop"(147)>) at /vol/gcc/src/hg/master/local/gcc/passes.c:2591 #10 0x00b43118 in execute_pass_list_1 (pass=<opt_pass* 0x1a9b590 "*all_optimizations"(-1)>) at /vol/gcc/src/hg/master/local/gcc/passes.c:2591 #11 0x00b4316c in execute_pass_list (fn=0xfa8ac000, pass=<opt_pass* 0x1a9b410 "fixup_cfg"(94)>) at /vol/gcc/src/hg/master/local/gcc/passes.c:2601 #12 0x006dbd48 in cgraph_node::expand (this=<cgraph_node * const 0xfa8100d8 "k"/2>) at /vol/gcc/src/hg/master/local/gcc/context.h:48 #13 0x006dd548 in expand_all_functions () at /vol/gcc/src/hg/master/local/gcc/cgraphunit.c:2472 #14 symbol_table::compile (this=0xfa810000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.c:2823 #15 0x006e092c in symbol_table::compile (this=0xfa810000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.c:3003 #16 symbol_table::finalize_compilation_unit (this=0xfa810000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.c:3003 #17 0x00c56218 in compile_file () at /vol/gcc/src/hg/master/local/gcc/toplev.c:483 #18 0x00c58b9c in do_compile () at /vol/gcc/src/hg/master/local/gcc/toplev.c:2307 #19 toplev::main (this=0xffbfe97e, argc=<optimized out>, argv=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/toplev.c:2446 #20 0x015fed9c in main (argc=8, argv=0xffbfe9e4) at /vol/gcc/src/hg/master/local/gcc/main.c:39