[Bug middle-end/126814] [17 Regression] ICE in RTL expand in fill_ranger_cache at gimple-range-cache.cc:1658 since r17-3171

"zhendong.su at inf dot ethz.ch via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126814

Zhendong Su <zhendong.su at inf dot ethz.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zhendong.su at inf dot ethz.ch

--- Comment #4 from Zhendong Su <zhendong.su at inf dot ethz.ch> ---
Another reproducer at -Os:

[534] % gcctk -v
Using built-in specs.
COLLECT_GCC=gcctk
COLLECT_LTO_WRAPPER=/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-trunk/configure --disable-bootstrap
--enable-checking=yes --prefix=/local/suz-local/software/local/gcc-trunk
--enable-sanitizers --enable-languages=c,c++,lto --disable-werror
--disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 17.0.0 20260812 (experimental) [master r17-1628-gd1c12591336] (GCC) 
[535] % 
[535] % gcctk -Os -c small.c
during RTL pass: expand
small.c: In function ‘m’:
small.c:9:6: internal compiler error: in fill_block_cache, at
gimple-range-cache.cc:1658
    9 | void m() {
      |      ^
0x27c95ab internal_error(char const*, ...)
        ../../gcc-trunk/gcc/diagnostic-global-context.cc:787
0xa2dc61 fancy_abort(char const*, int, char const*)
        ../../gcc-trunk/gcc/diagnostics/context.cc:1813
0x844980 ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
        ../../gcc-trunk/gcc/gimple-range-cache.cc:1658
0xe2d8b7 ranger_cache::block_range(vrange&, basic_block_def*, tree_node*, bool)
        ../../gcc-trunk/gcc/gimple-range-cache.cc:1397
0xe2352e gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:189
0xe24bcf gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*)
        ../../gcc-trunk/gcc/tree.h:3830
0xe24bcf gimple_ranger::range_on_exit(vrange&, basic_block_def*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:231
0xe251b7 gimple_ranger::range_on_exit(vrange&, basic_block_def*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:292
0xe251b7 gimple_ranger::range_on_edge(vrange&, edge_def*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:279
0xe32058 fold_using_range::range_of_phi(vrange&, gphi*, fur_source&)
        ../../gcc-trunk/gcc/gimple-range-fold.cc:1201
0xe35f38 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*)
        ../../gcc-trunk/gcc/gimple-range-fold.cc:700
0xe20374 gimple_ranger::fold_range_internal(vrange&, gimple*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:303
0xe20374 gimple_ranger::prefill_stmt_dependencies(tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:494
0xe20bea gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:363
0xe23d23 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
        ../../gcc-trunk/gcc/gimple-range.cc:315
0xe23d23 gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
        ../../gcc-trunk/gcc/gimple-range.cc:124
0xd89522 tree_single_nonnegative_p(tree_node*, int)
        ../../gcc-trunk/gcc/fold-const.cc:14700
0xe3073b fold_using_range::range_of_call(vrange&, gcall*, fur_source&)
        ../../gcc-trunk/gcc/gimple-range-fold.cc:1330
0xe36248 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*)
        ../../gcc-trunk/gcc/gimple-range-fold.cc:702
0xe3690c fold_range(vrange&, gimple*, range_query*)
        ../../gcc-trunk/gcc/gimple-range-fold.cc:321
/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1
-quiet -I /usr/local/include -I /local/suz-local/software/local/include
-imultiarch x86_64-linux-gnu -iprefix
/local/home/suz/suz-local/software/local/gcc-trunk/bin/../lib/gcc/x86_64-pc-linux-gnu/17.0.0/
small.c -quiet -dumpbase small.c -dumpbase-ext .c -mtune=generic -march=x86-64
-Os -o /tmp/ccRq4BEM.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
[536] % 
[536] % cat small.c
long a, c;
int f, j;
float g, *h, **i;
float fmodf(float, float);
long b(long k) {
  __int128 d = k - a, e = -d;
  return e;
}
void m() {
  i = &h;
  do {
    *i = &g;
    c = f;
    j = c >> 2;
    g = j;
    *h = fmodf(g, g) + g;
  } while (b((g ? : 8020979276165518) - ((long)j >> 52)));
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.