https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106943
--- Comment #24 from Alexander Monakov <amonakov at gcc dot gnu.org> --- 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).