public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/100844] New: ICE with -O2: Segmentation fault signal terminated program cc1
@ 2021-06-01  4:28 cnsun at uwaterloo dot ca
  2021-06-01  6:54 ` [Bug tree-optimization/100844] " rguenth at gcc dot gnu.org
  2021-06-01  7:03 ` rguenth at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: cnsun at uwaterloo dot ca @ 2021-06-01  4:28 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 100844
           Summary: ICE with -O2: Segmentation fault signal terminated
                    program cc1
           Product: gcc
           Version: tree-ssa
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: cnsun at uwaterloo dot ca
  Target Milestone: ---

(Sorry about this lengthy bug report. I could not reduce it further.)

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/tmp.4wFFqTQrHF-gcc-builder/gcc/configure
--enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch
--prefix=/scratch/software/gcc-trunk --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20210601 (experimental) [master revision
:54832e2f6:28daadc98094501175c9dfe4a985871fa6aa4f94] (GCC)

$ cat mutant.c
int
foo (char *p, unsigned n)
{
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n--)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n)
while (n--)
while (n--)
while (n)
while (n)
while (n)
while (n)
while (n--)
while (n--)
while (n)
while (n--)
while (n)
while (n)
while (n)
while (n)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
while (n--)
p[n] = 'A';
}

$ gcc-trunk -O2 mutant.c
gcc-trunk: internal compiler error: Segmentation fault signal terminated
program cc1
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug tree-optimization/100844] ICE with -O2: Segmentation fault signal terminated program cc1
  2021-06-01  4:28 [Bug c/100844] New: ICE with -O2: Segmentation fault signal terminated program cc1 cnsun at uwaterloo dot ca
@ 2021-06-01  6:54 ` rguenth at gcc dot gnu.org
  2021-06-01  7:03 ` rguenth at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01  6:54 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-06-01
           Keywords|                            |compile-time-hog
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, repetitive lines can be abbreviated using macros like

#define WONE while (n--)
#define WTEN WONE WONE WONE WONE WONE WONE WONE WONE WONE WONE
#define WHUNDRED WTEN WTEN WTEN WTEN WTEN WTEN WTEN WTEN WTEN WTEN
WHUNDRED WHUNDRED WTEN WTEN

for two hundred twenty repetitions of while (n--).  Your testcase doesn't
reproduce the ICE for me.  I'm quite sure you're running into a stack
overflow due to some recursive (in loop depth) algorithm in GCC.  Lowering
the stack ulimit from 8MB to 2MB makes it run into

#0  0x00000000012005f9 in expr_expected_value_1 (
    type=<error reading variable: Cannot access memory at address
0x7fffffdfefb8>, 
    op0=<error reading variable: Cannot access memory at address
0x7fffffdfefb0>, code=<error reading variable: Cannot access memory at address
0x7fffffdfefac>, 
    op1=<error reading variable: Cannot access memory at address
0x7fffffdfefa0>, 
    visited=<error reading variable: Cannot access memory at address
0x7fffffdfef98>, 
    predictor=<error reading variable: Cannot access memory at address
0x7fffffdfef90>, probability=0x7fffffdff310)
    at /home/rguenther/src/gcc4/gcc/predict.c:2362
#1  0x0000000001200a40 in expr_expected_value_1 (
    type=<integer_type 0x7ffff6583690 unsigned int>, 
    op0=<ssa_name 0x7ffff61cf798 6222>, code=SSA_NAME, op1=<tree 0x0>, 
    visited=0x7fffffffd910, predictor=0x7fffffdff318, 
    probability=0x7fffffdff310) at /home/rguenther/src/gcc4/gcc/predict.c:2451
...
#8828 0x00000000012008dd in expr_expected_value_1 (type=<integer_type
0x7ffff6583690 unsigned int>, op0=<ssa_name 0x7ffff65755e8 1973>,
code=SSA_NAME, op1=<tree 0x0>, visited=0x7fffffffd910,
predictor=0x7fffffffd8bc, probability=0x7fffffffd8b0) at
/home/rguenther/src/gcc4/gcc/predict.c:2423
#8829 0x00000000012013af in expr_expected_value (expr=<ssa_name 0x7ffff65755e8
1973>, visited=0x7fffffffd910, predictor=0x7fffffffd8bc,
probability=0x7fffffffd8b0) at /home/rguenther/src/gcc4/gcc/predict.c:2641
#8830 0x0000000001201085 in expr_expected_value_1 (type=<boolean_type
0x7ffff6583b28 _Bool>, op0=<ssa_name 0x7ffff65755e8 1973>, code=NE_EXPR,
op1=<integer_cst 0x7ffff656af60>, visited=0x7fffffffd910,
predictor=0x7fffffffd8bc, probability=0x7fffffffd8b0) at
/home/rguenther/src/gcc4/gcc/predict.c:2575
#8831 0x00000000012016d0 in tree_predict_by_opcode (bb=<basic_block
0x7ffff627f068 (4)>) at /home/rguenther/src/gcc4/gcc/predict.c:2709
#8832 0x0000000001202aa1 in tree_estimate_probability_bb (bb=<basic_block
0x7ffff627f068 (4)>, local_only=false) at
/home/rguenther/src/gcc4/gcc/predict.c:3096
#8833 0x0000000001202b65 in tree_estimate_probability (dry_run=false) at
/home/rguenther/src/gcc4/gcc/predict.c:3126
#8834 0x0000000001206094 in (anonymous namespace)::pass_profile::execute
(this=0x3793f30, fun=0x7ffff66c6000) at
/home/rguenther/src/gcc4/gcc/predict.c:4102
#8835 0x00000000011e8147 in execute_one_pass (pass=<opt_pass* 0x3793f30
"profile_estimate"(53)>) at /home/rguenther/src/gcc4/gcc/passes.c:2567

so it's not really loop depth but a large dependent expression.  The
unlimited expr walk is also a possible compile-time issue - for binary
ops it brances off to both arms even.  The whole thing is a bit odd,
probably wanting to only sparsely evaluate "expected values" but ending
of evaluating things more than once if exprs are reached by multiple
"last stmts".  A forward sweep over the IL would lose sparseness but
would remove the recursion and make the whole thing predictiable.
Alternatively using a worklist and a SSA def "likely value" cache for
all expr evaluations might preserve the sparseness but at bigger
constant cost.

Btw, I've never seen this function on the radar for "real" code.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug tree-optimization/100844] ICE with -O2: Segmentation fault signal terminated program cc1
  2021-06-01  4:28 [Bug c/100844] New: ICE with -O2: Segmentation fault signal terminated program cc1 cnsun at uwaterloo dot ca
  2021-06-01  6:54 ` [Bug tree-optimization/100844] " rguenth at gcc dot gnu.org
@ 2021-06-01  7:03 ` rguenth at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01  7:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Oh, and at -O0 garbage collection recursion overflows the stack following
SSA_NAME_DEF_STMT.  We can almost make that GTY((skip(""))) but for the fact
that we have GIMPLE_NOP for default-defs and those are not in the IL ...
(OTOH it presents the opportunity to have a single global GIMPLE_NOP as
GTY root since GIMPLE_NOP does not have a SSA def).  Or simply have NULL
as SSA def of default defs.

Btw, we're entering the SSA def chain via REG_DECL, we might want to consider
NULLing all SSA_NAME_DEF_STMT after expanding to RTL as well.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-01  7:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-01  4:28 [Bug c/100844] New: ICE with -O2: Segmentation fault signal terminated program cc1 cnsun at uwaterloo dot ca
2021-06-01  6:54 ` [Bug tree-optimization/100844] " rguenth at gcc dot gnu.org
2021-06-01  7:03 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).