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

            Bug ID: 111435
           Summary: [14 Regression] gimple_zero_one_valued_p() infinite
                    recursion
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at gcc dot gnu.org
  Target Milestone: ---

Created attachment 55911
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55911&action=edit
tree-ssa-loop-niter.cc.cc.gz

Noticed on i686-linux gcc bootstrap when building r14-4077-g86451305d8b2a2.

Reproduced on x86_64-linux -m32 as well.

r14-4038-gb975c0dc3be285 looks suspicious. The reduction is a bit slow.
Attaching partially reduced.

How to crash:

$ gcc/xg++ -Bgcc ~/dev/bugs/gcc-14-i686-ICE/tree-ssa-loop-niter.cc.cc -O2 -m32
--verbose

Or:

$ gcc/cc1plus -quiet -imultilib . -iprefix
/tmp/gb/gcc/../lib/gcc/x86_64-pc-linux-gnu/14.0.0/ -isystem gcc/include
-isystem gcc/include-fixed -D_GNU_SOURCE
/home/slyfox/dev/bugs/gcc-14-i686-ICE/tree-ssa-loop-niter.cc.cc -quiet -dumpdir
a- -dumpbase tree-ssa-loop-niter.cc.cc -dumpbase-ext .cc -m32 -mtune=generic
-march=x86-64 -O2 -version -o /run/user/1000/ccgZ63HD.s
GNU C++17 (GCC) version 14.0.0 20230916 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 14.0.0 20230916 (experimental), GMP version
6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 7c2c55b6bcbe18476b6d2c66d34ac4cc
Segmentation fault (core dumped)

Backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x000000000150a239 in get_nonzero_bits (name=0x7fffe8c02240) at
/home/slyfox/dev/git/gcc/gcc/tree-ssanames.cc:494
494       unsigned int precision = element_precision (TREE_TYPE (name));
(gdb) bt
#0  0x000000000150a239 in get_nonzero_bits (name=0x7fffe8c02240) at
/home/slyfox/dev/git/gcc/gcc/tree-ssanames.cc:494
#1  0x000000000150ad4c in get_nonzero_bits (name=<optimized out>) at
/home/slyfox/dev/git/gcc/gcc/tree-ssanames.cc:489
#2  0x0000000000f04105 in tree_nonzero_bits (t=t@entry=0x7fffe8c02240) at
/home/slyfox/dev/git/gcc/gcc/fold-const.cc:16792
#3  0x00000000021de3ce in gimple_zero_one_valued_p (t=0x7fffe8c02240,
valueize=valueize@entry=0x14a18c0 <rpo_vn_valueize(tree_node*)>) at
gimple-match-3.cc:19
#4  0x00000000021de537 in gimple_zero_one_valued_p (t=0x7fffe8c02090,
valueize=valueize@entry=0x14a18c0 <rpo_vn_valueize(tree_node*)>) at
gimple-match-3.cc:70
#5  0x00000000021de537 in gimple_zero_one_valued_p (t=0x7fffe8c02240,
valueize=valueize@entry=0x14a18c0 <rpo_vn_valueize(tree_node*)>) at
gimple-match-3.cc:70
#6  0x00000000021de537 in gimple_zero_one_valued_p (t=0x7fffe8c02090,
valueize=valueize@entry=0x14a18c0 <rpo_vn_valueize(tree_node*)>) at
gimple-match-3.cc:70
...

Reply via email to