https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103119

            Bug ID: 103119
           Summary: ICE in get_imports, at gimple-range-gori.cc:230
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

The bug is not reproducible on the trunk anymore (the reduction process took
forever).
I don't know if it was fixed or became latent. Feel free to close it if it is
not relevant anymore.

Reproducer:
unsigned short a;
bool b;
int h, f;
extern bool d[][1];
char g;
void i() {
  for (short c = 0; c < 10; c += 3)
    for (unsigned e = 0; e < a; e = (d[c][0] ? true : 5) * (6021496ULL * b) ?:
f)
      h = g;
}

Error:
>$ g++ -O2 -c func.cpp
during GIMPLE pass: vrp
func.cpp: In function 'void i()':
func.cpp:6:6: internal compiler error: in get_imports, at
gimple-range-gori.cc:230
    6 | void i() {
      |      ^
0x9e98e5 range_def_chain::get_imports(tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:230
0x1edc480 range_def_chain::register_dependency(tree_node*, tree_node*,
basic_block_def*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:288
0x1edb976 range_def_chain::get_def_chain(tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:383
0x1edbf98 range_def_chain::in_chain_p(tree_node*, tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:198
0x1ede29b gori_compute::compute_operand_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:725
0x1edef21 gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:1078
0x1ede699 gori_compute::compute_operand_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:761
0x1edf989 gori_compute::outgoing_edge_range_p(irange&, edge_def*, tree_node*,
range_query&)
        /testing/gcc/gcc_src_master/gcc/gimple-range-gori.cc:1259
0x1ed28c5 ranger_cache::range_on_edge(irange&, edge_def*, tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-cache.cc:983
0x1ed2b69 ranger_cache::propagate_cache(tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range-cache.cc:1082
0x1ecdd9d gimple_ranger::range_of_stmt(irange&, gimple*, tree_node*)
        /testing/gcc/gcc_src_master/gcc/gimple-range.cc:280
0x15d1934 simplify_using_ranges::fold_cond(gcond*)
        /testing/gcc/gcc_src_master/gcc/vr-values.c:3492
0x15d1ea8 simplify_using_ranges::simplify_cond_using_ranges_1(gcond*)
        /testing/gcc/gcc_src_master/gcc/vr-values.c:3568
0x15d6f87 simplify_using_ranges::simplify(gimple_stmt_iterator*)
        /testing/gcc/gcc_src_master/gcc/vr-values.c:4386
0x154e3c8 rvrp_folder::fold_stmt(gimple_stmt_iterator*)
        /testing/gcc/gcc_src_master/gcc/tree-vrp.c:4324
0x14434d6 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
        /testing/gcc/gcc_src_master/gcc/tree-ssa-propagate.c:870
0x1e9c847 dom_walker::walk(basic_block_def*)
        /testing/gcc/gcc_src_master/gcc/domwalk.c:309
0x1442689 substitute_and_fold_engine::substitute_and_fold(basic_block_def*)
        /testing/gcc/gcc_src_master/gcc/tree-ssa-propagate.c:987
0x15442c1 execute_ranger_vrp(function*, bool)
        /testing/gcc/gcc_src_master/gcc/tree-vrp.c:4349
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

GCC version:
gcc version 12.0.0 20211105 (614b39757b8b61f70ac1c666edb7a01a5fc19cd4) (GCC)
  • [Bug tree-optimization/1031... vsevolod.livinskij at frtk dot ru via Gcc-bugs

Reply via email to