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

            Bug ID: 102565
           Summary: ICE: in upper_bound, at value-range.h:531 under -O2
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: suochenyao at 163 dot com
  Target Milestone: ---

*******************************************************************************
OS and Platform:
CentOS Linux release 7.8.2003 (Core).0, x86_64 GNU/Linux
*******************************************************************************
Program:
struct a {
  signed b;
};
char c;
short d;
int e;
long(f)() { return 0; }
void g() {
  struct a h = {1};
  short *i = &d;
  *i = 0;
  e = c << h.b;
  f(e == 1 || d) == c;
}
void main() {}
*******************************************************************************
version:
$ gcc -v
Using built-in specs.
COLLECT_GCC=/data/bin/gcc-dev/bin/gcc
COLLECT_LTO_WRAPPER=/data/bin/gcc-dev/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --prefix=/data/bin/gcc-dev/ --disable-multilib
--enable-languages=c,c++
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20211002 (experimental) (GCC)

git ver: 9d116bcc5556c7df32803f7bf8e6e238ea1c13fb
*******************************************************************************
Command Lines:
$ gcc -O2 a.c
during GIMPLE pass: evrp
a.c: In function ā€˜g’:
a.c:15:1: internal compiler error: in upper_bound, at value-range.h:531
   15 | void main() {}
      | ^~~~
0xbc9939 irange::upper_bound() const
        ../../gcc/value-range.h:531
0x1be6f03 operator_lshift::op1_range(irange&, tree_node*, irange const&, irange
const&, tree_code) const
        ../../gcc/range-op.cc:2131
0x1ae0b0b gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        ../../gcc/gimple-range-gori.cc:1011
0x1ae0b9e gori_compute::compute_operand_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        ../../gcc/gimple-range-gori.cc:689
0x1ae0b9e gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        ../../gcc/gimple-range-gori.cc:1064
0x1ae1bc1 gori_compute::compute_operand_range(irange&, gimple*, irange const&,
tree_node*, fur_source&)
        ../../gcc/gimple-range-gori.cc:689
0x1ae1bc1 gori_compute::outgoing_edge_range_p(irange&, edge_def*, tree_node*,
range_query&)
        ../../gcc/gimple-range-gori.cc:1245
0x1ad5b93 ranger_cache::range_on_edge(irange&, edge_def*, tree_node*)
        ../../gcc/gimple-range-cache.cc:979
0x1ad62f5 ranger_cache::range_on_edge(irange&, edge_def*, tree_node*)
        ../../gcc/gimple-range-fold.h:97
0x1ad62f5 ranger_cache::propagate_cache(tree_node*)
        ../../gcc/gimple-range-cache.cc:1078
0x1ad6c6d ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
        ../../gcc/gimple-range-cache.cc:1290
0x1ad6dcf ranger_cache::block_range(irange&, basic_block_def*, tree_node*,
bool)
        ../../gcc/gimple-range-cache.cc:1022
0x1ad2b39 gimple_ranger::range_on_entry(irange&, basic_block_def*, tree_node*)
        ../../gcc/gimple-range.cc:131
0x1ad32a8 gimple_ranger::range_of_expr(irange&, tree_node*, gimple*)
        ../../gcc/gimple-range.cc:105
0x1adc712 fold_using_range::range_of_range_op(irange&, gimple*, fur_source&)
        ../../gcc/gimple-range-fold.cc:604
0x1addc09 fold_using_range::fold_stmt(irange&, gimple*, fur_source&,
tree_node*)
        ../../gcc/gimple-range-fold.cc:556
0x1ad290d gimple_ranger::fold_range_internal(irange&, gimple*, tree_node*)
        ../../gcc/gimple-range.cc:226
0x1ad290d gimple_ranger::range_of_stmt(irange&, gimple*, tree_node*)
        ../../gcc/gimple-range.cc:269
0x1ad33ff gimple_ranger::range_of_expr(irange&, tree_node*, gimple*)
        ../../gcc/gimple-range.cc:100
0x11abbdf range_query::value_of_expr(tree_node*, gimple*)
        ../../gcc/value-query.cc:87
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.

Reply via email to