https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97317
Bug ID: 97317 Summary: [11 Regression] ICE in verify_range, at value-range.cc:369 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- For the following testcase: struct a { unsigned c : 17; }; struct a b; int d(void) { short e = b.c; return e ? 0 : b.c; } AArch64 GCC ICEs at -O2 with: during GIMPLE pass: evrp test.c: In function 'd': test.c:8:1: internal compiler error: in verify_range, at value-range.cc:369 8 | } | ^ 0x1126f4a irange::verify_range() /home/alecop01/toolchain/src/gcc/gcc/value-range.cc:369 0x1127050 irange::irange_set(tree_node*, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/value-range.cc:172 0x1127ef5 irange::set(tree_node*, tree_node*, value_range_kind) /home/alecop01/toolchain/src/gcc/gcc/value-range.cc:226 0x19ec5cd operator_cast::op1_range(irange&, tree_node*, irange const&, irange const&) const /home/alecop01/toolchain/src/gcc/gcc/range-op.cc:1847 0x1a85dc7 gimple_range_calc_op1(irange&, gimple const*, irange const&, irange const&) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:333 0x1a9563a gori_compute::compute_name_range_op(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:490 0x1a9886a gori_compute::compute_operand_range(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:590 0x1a990b3 gori_compute_cache::compute_operand_range(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:1276 0x1a95d23 gori_compute::compute_operand1_range(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:903 0x1a989bc gori_compute::compute_operand_range(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:602 0x1a990b3 gori_compute_cache::compute_operand_range(irange&, gimple*, irange const&, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:1276 0x1a9614a gori_compute::outgoing_edge_range_p(irange&, edge_def*, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-gori.cc:1001 0x1a90b9e ranger_cache::iterative_cache_update(tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-cache.cc:636 0x1a91933 ranger_cache::fill_block_cache(tree_node*, basic_block_def*, basic_block_def*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-cache.cc:808 0x1a91dab ranger_cache::block_range(irange&, basic_block_def*, tree_node*, bool) /home/alecop01/toolchain/src/gcc/gcc/gimple-range-cache.cc:589 0x1a84f0c gimple_ranger::range_on_entry(irange&, basic_block_def*, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:875 0x1a89634 gimple_ranger::range_of_expr(irange&, tree_node*, gimple*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:846 0x1a8dba1 gimple_ranger::range_of_range_op(irange&, gimple*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:418 0x1a8ddb6 gimple_ranger::calc_stmt(irange&, gimple*, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:369 0x1a8e70d gimple_ranger::range_of_stmt(irange&, gimple*, tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-range.cc:952 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.