https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91178
Serge Belyshev <belyshev at depni dot sinp.msu.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-07-16 CC| |belyshev at depni dot sinp.msu.ru Summary|GCC fails with internal |[9/10 Regression] Infinite |compiler error. |recursion in | |split_constant_offset in | |slp after r260289 Ever confirmed|0 |1 --- Comment #1 from Serge Belyshev <belyshev at depni dot sinp.msu.ru> --- git bisect points at r260289, which is "[PATCH] Merge SLP and non-SLP vectorization costing": https://gcc.gnu.org/ml/gcc-patches/2018-05/msg00599.html stack trace shows infinite recursion in split_constant_offset(): (gdb) run -quiet -O3 ~/src/bugs/bug91178.c ... Program received signal SIGSEGV, Segmentation fault. ... (gdb) bt -100 ... #190637 0x00000000017333b6 in split_constant_offset (exp=<ssa_name 0x7ffff3cd1c18>, var=var@entry=0x7fffffffe028, off=off@entry=0x7fffffffe018, cache=...) at ../../gcc/gcc/tree-data-ref.c:815 #190638 0x000000000173251f in split_constant_offset_1 (type=type@entry=<pointer_type 0x7ffff76c93f0>, op0=<optimized out>, code=code@entry=POINTER_PLUS_EXPR, op1=<integer_cst 0x7ffff7579d38>, var=var@entry=0x7fffffffe278, off=off@entry=0x7fffffffe270, cache=...) at ../../gcc/gcc/tree-data-ref.c:618 #190639 0x0000000001732c6f in split_constant_offset_1 (type=type@entry=<pointer_type 0x7ffff76c93f0>, op0=<optimized out>, code=<optimized out>, op1=<optimized out>, var=var@entry=0x7fffffffe278, off=off@entry=0x7fffffffe270, cache=...) at ../../gcc/gcc/tree-data-ref.c:725 #190640 0x00000000017333b6 in split_constant_offset (exp=exp@entry=<ssa_name 0x7ffff3cd1ca8>, var=var@entry=0x7fffffffe3b0, off=off@entry=0x7fffffffe388, cache=...) at ../../gcc/gcc/tree-data-ref.c:815 #190641 0x0000000001733441 in split_constant_offset (exp=<ssa_name 0x7ffff3cd1ca8>, var=var@entry=0x7fffffffe3b0, off=off@entry=0x7fffffffe388) at ../../gcc/gcc/tree-data-ref.c:828 #190642 0x0000000001733a1c in dr_analyze_innermost (drb=drb@entry=0x353ad10, ref=ref@entry=<mem_ref 0x7ffff4326cf8>, loop=loop@entry=0x0, stmt=stmt@entry=0x7ffff3cd3960) at ../../gcc/gcc/tree-data-ref.c:967 #190643 0x000000000173517f in create_data_ref (nest=<edge 0x0>, loop=loop@entry=0x7ffff76d1000, memref=memref@entry=<mem_ref 0x7ffff4326cf8>, stmt=stmt@entry=<gimple_assign 0x7ffff3cd3960>, is_read=is_read@entry=true, is_conditional_in_stmt=is_conditional_in_stmt@entry=false) at ../../gcc/gcc/tree-data-ref.c:1239 #190644 0x0000000001735598 in find_data_references_in_stmt (nest=nest@entry=0x0, stmt=stmt@entry=<gimple_assign 0x7ffff3cd3960>, datarefs=datarefs@entry=Python Exception <class 'gdb.error'> There is no member or method named m_vecpfx.: 0x7fffffffe5a0) at ../../gcc/gcc/tree-ssa-loop.h:80 #190645 0x000000000174de04 in vect_find_stmt_data_reference (loop=loop@entry=0x0, stmt=stmt@entry=<gimple_assign 0x7ffff3cd3960>, datarefs=datarefs@entry=Python Exception <class 'gdb.error'> There is no member or method named m_vecpfx.: 0x7fffffffe658) at ../../gcc/gcc/tree-vect-data-refs.c:4027 #190646 0x0000000000f582ac in vect_slp_bb (bb=bb@entry=<basic_block 0x7ffff75846e8 (4)>) at ../../gcc/gcc/tree-vect-slp.c:3036 #190647 0x0000000000f5b866 in (anonymous namespace)::pass_slp_vectorize::execute (this=<optimized out>, fun=0x7ffff76ca000) at ../../gcc/gcc/tree-vectorizer.c:1310 #190648 0x0000000000b615fe in execute_one_pass (pass=pass@entry=<opt_pass* 0x2350cf0 "slp"(167)>) at ../../gcc/gcc/passes.c:2474 ...