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

Reply via email to