https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109841
Bug ID: 109841 Summary: [12/13/14 Regression] ranger ICE in operator_bitwise_not::fold_range Product: gcc Version: 12.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org Target Milestone: --- Created attachment 55076 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55076&action=edit compressed testcase Reduced from gcc-12 LTO ICE on LLVM source code in PR 106943. g++-12 -O2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -std=c++14 -fno-exceptions -fno-rtti -S rbi.ii during GIMPLE pass: thread /tmp/llvm-project-llvmorg-13.0.1/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp: In member function 'bool llvm::RegisterBankInfo::ValueMapping::verify(unsigned int) const': /tmp/llvm-project-llvmorg-13.0.1/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp:61:6: internal compiler error: Segmentation fault 61 | #ifndef NDEBUG | ^~~~~~~~~ 0xda951f crash_signal ../../gcc-12.3.0/gcc/toplev.cc:322 0x1a65ff7 operator_bitwise_not::fold_range(irange&, tree_node*, irange const&, irange const&, tree_code) const ../../gcc-12.3.0/gcc/range-op.cc:3479 0x1a65ff7 operator_bitwise_not::fold_range(irange&, tree_node*, irange const&, irange const&, tree_code) const ../../gcc-12.3.0/gcc/range-op.cc:3465 0x198a38a fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:608 0x198be60 fold_using_range::fold_stmt(irange&, gimple*, fur_source&, tree_node*) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:554 0x198c1cc fold_range(irange&, gimple*, range_query*) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:315 0xf0af5d path_range_query::range_of_stmt(irange&, gimple*, tree_node*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:771 0xf0c524 path_range_query::range_defined_in_block(irange&, tree_node*, basic_block_def*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:356 0xf0c73e path_range_query::internal_range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:209 0xf0c73e path_range_query::internal_range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:193 0xf0c850 path_range_query::range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:225 0x198a13f fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:602 0x198be60 fold_using_range::fold_stmt(irange&, gimple*, fur_source&, tree_node*) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:554 0x198c1cc fold_range(irange&, gimple*, range_query*) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:315 0xf0af5d path_range_query::range_of_stmt(irange&, gimple*, tree_node*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:771 0xf0c524 path_range_query::range_defined_in_block(irange&, tree_node*, basic_block_def*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:356 0xf0c73e path_range_query::internal_range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:209 0xf0c73e path_range_query::internal_range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:193 0xf0c850 path_range_query::range_of_expr(irange&, tree_node*, gimple*) ../../gcc-12.3.0/gcc/gimple-range-path.cc:225 0x198a32b fold_using_range::range_of_range_op(irange&, gimple*, fur_source&) ../../gcc-12.3.0/gcc/gimple-range-fold.cc:602