[Bug rtl-optimization/91223] [10 Regression] ICE: in curr_insn_transform, at lra-constraints.c:4459

su at cs dot ucdavis.edu gcc-bugzilla@gcc.gnu.org
Tue Jul 23 07:23:00 GMT 2019


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

Zhendong Su <su at cs dot ucdavis.edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |su at cs dot ucdavis.edu

--- Comment #4 from Zhendong Su <su at cs dot ucdavis.edu> ---
Another and somewhat smaller test that triggers the same ICE: 

[513] % gcctk -v
Using built-in specs.
COLLECT_GCC=gcctk
COLLECT_LTO_WRAPPER=/home/suz/software/gcctk/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/10.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-source-trunk/configure --disable-multilib
--enable-languages=c,c++,lto --prefix=/home/suz/software/gcctk/gcc-trunk
--disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.0.0 20190722 (experimental) [trunk revision 273699] (GCC) 
[514] % 
[514] % gcctk -O1 small.c
during RTL pass: reload
small.c: In function ‘main’:
small.c:45:1: internal compiler error: in curr_insn_transform, at
lra-constraints.c:4459
   45 | }
      | ^
0xad2168 curr_insn_transform
        ../../gcc-source-trunk/gcc/lra-constraints.c:4459
0xad4086 lra_constraints(bool)
        ../../gcc-source-trunk/gcc/lra-constraints.c:4987
0xabbc14 lra(_IO_FILE*)
        ../../gcc-source-trunk/gcc/lra.c:2468
0xa6deb9 do_reload
        ../../gcc-source-trunk/gcc/ira.c:5522
0xa6deb9 execute
        ../../gcc-source-trunk/gcc/ira.c:5706
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.
[515] % 
[515] % cat small.c
int printf (const char *, ...);

struct S
{
  int f1;
  int f2; 
  int f3;
  char f4;
  int f5; 
} a, b, c;

int d, e, f, j, k, l;

int main ()
{
  short g[2];
  int i = 0;
  for (; i < 2; i++)
    g[i] = 1;
  while (f)
    {
      if (l)
        g[0] ^= c.f4;
      while (1)
        {
          if (j)
            break;
          int n = e, o;
          while (a.f2)
            {
              struct S p;
              if (o)
                {
                  int q = k && q; 
                  printf ("%d", c.f1);
                  if (b.f5)
                    o = p.f3;
                  d = n;
                }
            }
          f = g[0];
        }
    }
  return 0;
}


More information about the Gcc-bugs mailing list