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

            Bug ID: 89238
           Summary: cc1 hangs after <simdclone>
           Product: gcc
           Version: 8.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: konstantin.vladimirov at gmail dot com
  Target Milestone: ---

Reproduction after creduce:

---
a, b, c, d, f, g, h, i, j, k;
unsigned long e;
l(m) {
  unsigned n = 0;
  unsigned long o = g + (e >> 5) - 7;
  for (; j; j++)
    g = g + 30 - b;
  for (; k; k++)
    h = b * f & i * b * 7 & b;
  for (; n < 9; n += 3) {
    j = 0;
    for (; j < 14; j++) {
      d = 8 | h & o | g << 1 ^ a & 5 & a + (a << 3);
      o = h * g * 3 + c + ~o;
    }
  }
}

p() {
  l(0);
  l(0);
}
---

> gcc  -w -O3 minimize.c

Hangs forever (or at least long enough to make user unhappy, I think for such
simple reproduction "forever" starts from 5 minutes).

Compiler information:

---
> gcc -v
COLLECT_GCC=/apps/gcc/8.2.0/.bin/gcc
COLLECT_LTO_WRAPPER=/apps/gcc/8.2.0/.bin/../libexec/gcc/x86_64-suse-linux/8.2.0/lto-wrapper
Target: x86_64-suse-linux
Configured with: ./configure --prefix=/apps/gcc/8.2.0
--libdir=/apps/gcc/8.2.0/lib64 --libexecdir=/apps/gcc/8.2.0/libexec
--bindir=/apps/gcc/8.2.0/bin --with-isl=/apps/gcc/8.2.0
--with-libelf=/apps/gcc/8.2.0 --with-mpfr=/apps/gcc/8.2.0
--with-gmp=/apps/gcc/8.2.0 --with-mpc=/apps/gcc/8.2.0
--disable-gnu-unique-object --enable-gold=yes --enable-lto
--enable-languages=c,c++,objc,fortran --build=x86_64-suse-linux
--host=x86_64-suse-linux --target=x86_64-suse-linux --enable-libotm
--disable-libstdcxx-pch
Thread model: posix
gcc version 8.2.0 (GCC)
---

I ran cc1 and output is:

---
> cc1 -w -O3 minimize.c
 l p
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes>
<targetclone> <free-fnsummary> <whole-program> <profile_estimate> <icf>
<devirt> <cp> <fnsummary> <inline> <pure-const> <free-fnsummary> <static-var>
<single-use> <comdats>Assembling functions:
 <materialize-all-clones> <simdclone> l
---

I.e. it is hanging after simdclone

Reply via email to