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

            Bug ID: 110038
           Summary: [14 Regression] ICE: in rewrite_expr_tree_parallel, at
                    tree-ssa-reassoc.cc:5522 with
                    --param=tree-reassoc-width=2147483647
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---

Created attachment 55216
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55216&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O --param=tree-reassoc-width=2147483647 testcase.c 
during GIMPLE pass: reassoc
testcase.c: In function 'foo':
testcase.c:4:1: internal compiler error: in rewrite_expr_tree_parallel, at
tree-ssa-reassoc.cc:5522
    4 | foo (unsigned u)
      | ^~~
0x82f7b5 rewrite_expr_tree_parallel
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:5522
0x160d21d reassociate_bb
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:6931
0x160b55a reassociate_bb
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:6994
0x160dc33 do_reassoc
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:7106
0x160dc33 execute_reassoc
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:7195
0x160dc33 execute
        /repo/gcc-trunk/gcc/tree-ssa-reassoc.cc:7236
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.


What probably happens, is an overflow in tree-ssa-reassoc.c due to the extreme
value of param_tree_reassoc_width:

5459  while (width > width_min)
5460    {
5461      int width_mid = (width + width_min) / 2;
5462
5463      if (get_required_cycles (ops_num, width_mid) == cycles_best)

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r14-1399-20230530111808-g456cf52c0d3-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r14-1399-20230530111808-g456cf52c0d3-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.0 20230530 (experimental) (GCC)

Reply via email to