[Bug tree-optimization/96028] New: SEGV in vect_create_constant_vectors
ro at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 2 09:18:45 GMT 2020
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
More information about the Gcc-bugs
mailing list