public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891
@ 2020-11-09 11:45 zhendong.su at inf dot ethz.ch
  2020-11-09 12:18 ` [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b marxin at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: zhendong.su at inf dot ethz.ch @ 2020-11-09 11:45 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 97765
           Summary: ICE at -Os: in clear_slot, at hash-table.h:891
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zhendong.su at inf dot ethz.ch
  Target Milestone: ---

The test is hard to reduce and is still quite hairy. 

[534] % gcctk -v
Using built-in specs.
COLLECT_GCC=gcctk
COLLECT_LTO_WRAPPER=/local/suz-local/software/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-trunk/configure --disable-bootstrap
--prefix=/local/suz-local/software/local/gcc-trunk --enable-languages=c,c++
--disable-werror --enable-multilib --with-system-zlib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20201109 (experimental) [master revision
946b73c1132:a700e491347:dc7e8839c92c4bc3c3741cf27b0af81edb803fe7] (GCC) 
[535] % 
[535] % 
[535] % gcctk -O1 -c -w small.c
[536] % 
[536] % gcctk -Os -c -w small.c
during GIMPLE pass: pre
small.c: In function ‘ae’:
small.c:69:6: internal compiler error: in clear_slot, at hash-table.h:891
   69 | void ae() {
      |      ^~
0xed6b05 hash_table<expr_pred_trans_d, false,
xcallocator>::clear_slot(expr_pred_trans_d*)
        ../../gcc-trunk/gcc/hash-table.h:890
0xed6b05 phi_translate
        ../../gcc-trunk/gcc/tree-ssa-pre.c:1745
0xed6b6c phi_translate_set
        ../../gcc-trunk/gcc/tree-ssa-pre.c:1773
0xed6fea compute_antic_aux
        ../../gcc-trunk/gcc/tree-ssa-pre.c:2112
0xed6fea compute_antic
        ../../gcc-trunk/gcc/tree-ssa-pre.c:2458
0xedaf3a execute
        ../../gcc-trunk/gcc/tree-ssa-pre.c:4295
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
[537] % 
[537] % cat small.c
static short a, c;
char b, d;
static char e;
int f, h;
long g;
short *i;
unsigned j;

extern void ad ();

static unsigned aa() {
  int l, m = l & e, n;
  char o, p, r = j;
  long q;
  short s;
  if (!d)
    goto L2;
  q = s = h;
L1:
  b = -(e >> (h / ~0 & m + g) & ~s);
  char v = ~(f % c);
  unsigned short w = b | j < h | c;
  char x = -c & b | h % l ^ e + g;
  int y = ~(x | b > ((l | j) & g & h % f) ^ e);
  unsigned long z = -(j & (l & a)) | ~f | ~(y % b) ^ g & (h ^ ~0) ^ v;
  unsigned char k = ~(j | v + d | (b | ~(y % h)) + (-(x % g & ~c) ^ e ^ a) &
z);
  short t = ~f & l ^ (g ^ -z & ~b & d >> ~0) + (v | h) & j ^ k ^ e & c ^ y;
  int u = ~(~x & (f | h ^ -j & y >> e >> g % (l + c + b)));
  int ab =
      ~(~(l ^ f ^ v & x) % (-k | z & y | b + a) % ((g & h) + u + -e) - (d & w)
&
        j);
  if (b && j) {
    w = a;
    e = -((-(w ^ -k & l) ^ x ^ ~g + h & y | (a ^ ab) + f) + (-e | v + j) & ~t);
    a = -((a ^ y ^ (a ^ ~h ^ j % e ^ w + l) ^ g + t + ~(x ^ v)) %
          (c ^ (b ^ ~0) | d));
    d = -(-(k | j & ~(h << d)) << ~(e | v | (l | g ^ y) % -c ^ j) | ab);
    f = l % d + ~a | x % h | -f ^ y & b ^ w | -v - j + (c | b < 0);
    b = ~(~(a + ~e + ~v & b) %
          ~((b & g | j % w) + (-~j ^ h + d & -y % h ^ f & c + d)));
    c = -((j ^ a + f ^ g + ~(h ^ x) % ~d | h & c) % d | e & b + j ^ (k | ~l));
    h = -(b | a + (~t | d & (~(j > h) ^ v | j ^ f | x) % ~k) ^ h + c % l |
          y & ~(-g % -d));
    l = ~(~(g | e) % a ^ ~(-l & j) % ~b & c % d % ab & (~k ^ h & f) + (b + j));
    if (a)
      goto L1;
    goto L3;
  }
L2:
  c = -(a && o & (b & d)) & ~(e && q) > ~g ^ p;
  if (j || ab)
    ad();
  if (!(e || h || ab && c && (l = n) && n - 1 && s)) {
    ad();
    goto L1;
  }
  if (n || a >= d) {
    ad((long)e);
    goto L1;
  }
  p = h && r;
  if (p)
    o = ~(j | (d && c | e) | o);
  *i += 1;
  goto L1;
L3:;
}

void ae() {
  aa();
  for (;;)
    ;
}

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

* [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b
  2020-11-09 11:45 [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891 zhendong.su at inf dot ethz.ch
@ 2020-11-09 12:18 ` marxin at gcc dot gnu.org
  2020-11-09 12:20 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-11-09 12:18 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
   Target Milestone|---                         |11.0
   Last reconfirmed|                            |2020-11-09
      Known to fail|                            |11.0
      Known to work|                            |10.2.0
           Priority|P3                          |P1
            Summary|ICE at -Os: in clear_slot,  |[11 Regression] ICE at -Os:
                   |at hash-table.h:891         |in clear_slot, at
                   |                            |hash-table.h:891 since
                   |                            |r11-4796-g600be7f09ea1ea4b
     Ever confirmed|0                           |1
           Keywords|                            |ice-on-valid-code

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r11-4796-g600be7f09ea1ea4b.

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

* [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b
  2020-11-09 11:45 [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891 zhendong.su at inf dot ethz.ch
  2020-11-09 12:18 ` [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b marxin at gcc dot gnu.org
@ 2020-11-09 12:20 ` rguenth at gcc dot gnu.org
  2020-11-09 13:07 ` cvs-commit at gcc dot gnu.org
  2020-11-09 13:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-11-09 12:20 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Testing patch.

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

* [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b
  2020-11-09 11:45 [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891 zhendong.su at inf dot ethz.ch
  2020-11-09 12:18 ` [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b marxin at gcc dot gnu.org
  2020-11-09 12:20 ` rguenth at gcc dot gnu.org
@ 2020-11-09 13:07 ` cvs-commit at gcc dot gnu.org
  2020-11-09 13:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-11-09 13:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:17c25a454e056f4677649a5ed4a8b8587d29177c

commit r11-4831-g17c25a454e056f4677649a5ed4a8b8587d29177c
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Nov 9 11:09:01 2020 +0100

    Use a per-edge PRE PHI translation cache

    This changes the phi translation cache to be per edge which
    pushes it off the profiling radar.  For larger testcases the
    combined hashtable causes a load of cache misses and making it
    per edge allows to shrink the entry further.

    2020-11-09  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/97765
            * tree-ssa-pre.c (bb_bitmap_sets::phi_translate_table): Add.
            (PHI_TRANS_TABLE): New macro.
            (phi_translate_table): Remove.
            (expr_pred_trans_d::pred): Remove.
            (expr_pred_trans_d::hash): Simplify.
            (expr_pred_trans_d::equal): Likewise.
            (phi_trans_add): Adjust.
            (phi_translate): Likewise.  Remove hash-table expansion
            detection and optimization.
            (phi_translate_set): Allocate PHI_TRANS_TABLE here.
            (init_pre): Adjsust.
            (fini_pre): Free PHI_TRANS_TABLE.

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

* [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b
  2020-11-09 11:45 [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891 zhendong.su at inf dot ethz.ch
                   ` (2 preceding siblings ...)
  2020-11-09 13:07 ` cvs-commit at gcc dot gnu.org
@ 2020-11-09 13:08 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-11-09 13:08 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2020-11-09 13:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 11:45 [Bug tree-optimization/97765] New: ICE at -Os: in clear_slot, at hash-table.h:891 zhendong.su at inf dot ethz.ch
2020-11-09 12:18 ` [Bug tree-optimization/97765] [11 Regression] ICE at -Os: in clear_slot, at hash-table.h:891 since r11-4796-g600be7f09ea1ea4b marxin at gcc dot gnu.org
2020-11-09 12:20 ` rguenth at gcc dot gnu.org
2020-11-09 13:07 ` cvs-commit at gcc dot gnu.org
2020-11-09 13:08 ` 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).