https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106943
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #24) > Appreciate the advice. So far I've managed to reduce the number of LTO > inputs down to two files, RegisterBankInfo.cpp.o plus APInt.cpp.o. I also > built gcc-12.3 with lineinfo and have a better backtrace: > > during GIMPLE pass: thread > /tmp/llvm-project-llvmorg-13.0.1/llvm/lib/CodeGen/GlobalISel/ > RegisterBankInfo.cpp: In member function 'verify': > /tmp/llvm-project-llvmorg-13.0.1/llvm/lib/CodeGen/GlobalISel/ > RegisterBankInfo.cpp:548:6: internal compiler error: Segmentation fault > 548 | bool RegisterBankInfo::ValueMapping::verify(unsigned > MeaningfulBitWidth) const { > | ^ > 0xb369ef crash_signal > ../../gcc-12.3.0/gcc/toplev.cc:322 > 0x17f8977 operator_bitwise_not::fold_range(irange&, tree_node*, irange > const&, irange const&, tree_code) const > ../../gcc-12.3.0/gcc/range-op.cc:3479 > 0x17f8977 operator_bitwise_not::fold_range(irange&, tree_node*, irange > const&, irange const&, tree_code) const > ../../gcc-12.3.0/gcc/range-op.cc:3465 > 0x171cd0a fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:608 > 0x171e7e0 fold_using_range::fold_stmt(irange&, gimple*, fur_source&, > tree_node*) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:554 > 0x171eb4c fold_range(irange&, gimple*, range_query*) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:315 > 0xc985fd path_range_query::range_of_stmt(irange&, gimple*, tree_node*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:771 > 0xc99bc4 path_range_query::range_defined_in_block(irange&, tree_node*, > basic_block_def*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:356 > 0xc99dde path_range_query::internal_range_of_expr(irange&, tree_node*, > gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:209 > 0xc99dde path_range_query::internal_range_of_expr(irange&, tree_node*, > gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:193 > 0xc99ef0 path_range_query::range_of_expr(irange&, tree_node*, gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:225 > 0x171cabf fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:602 > 0x171e7e0 fold_using_range::fold_stmt(irange&, gimple*, fur_source&, > tree_node*) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:554 > 0x171eb4c fold_range(irange&, gimple*, range_query*) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:315 > 0xc985fd path_range_query::range_of_stmt(irange&, gimple*, tree_node*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:771 > 0xc99bc4 path_range_query::range_defined_in_block(irange&, tree_node*, > basic_block_def*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:356 > 0xc99dde path_range_query::internal_range_of_expr(irange&, tree_node*, > gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:209 > 0xc99dde path_range_query::internal_range_of_expr(irange&, tree_node*, > gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:193 > 0xc99ef0 path_range_query::range_of_expr(irange&, tree_node*, gimple*) > ../../gcc-12.3.0/gcc/gimple-range-path.cc:225 > 0x171ccab fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) > ../../gcc-12.3.0/gcc/gimple-range-fold.cc:602 > Please submit a full bug report, with preprocessed source (by using > -freport-bug). This looks like a stack overflow happening. To speed up reducing, reducing the stack size from 8MB (default) down to 4MB might help speed up things.