http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55277



             Bug #: 55277

           Summary: [4.6/4.7/4.8 regression] ICE in assign_by_spills, at

                    lra-assigns.c:1217

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Keywords: ra

          Severity: normal

          Priority: P3

         Component: target

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: ste...@gcc.gnu.org

                CC: debian-...@lists.debian.org, gcc-bugs@gcc.gnu.org,

                    ja...@gcc.gnu.org, l...@gcc.gnu.org, l...@redhat.com,

                    vmaka...@gcc.gnu.org, vmaka...@redhat.com

        Depends on: 42536

            Target: i486-linux-gnu





+++ This bug was initially created as a clone of Bug #42536 +++



Cloned for LRA.



/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */

/* { dg-options "-O2 -fno-gcse -fno-omit-frame-pointer -m32" } */



struct C;

struct B { struct C *b; };

struct C { void (*baz) (struct B *, void *, int); };

typedef union { int f; void *e; } D;

struct E { struct B *e; };

struct A { struct E *a1; D *a2; D *a3; };



void

foo (long *x, long y)

{

  *(long long *) x = y;

}



extern long fn1 (D);

extern void fn2 (void);



void

_bar (struct A *x)

{

  register int a asm ("esi");

  register D *volatile b asm ("edi");

  register int c asm ("ebx");

  void *d;

  asm volatile ("" : "=r" (a), "=r" (b), "=r" (c) : : "memory");

  if ((d = b[-2].e) != 0 && b [-2].e < d)

    {

      foo (&(((long *) d) + 1) [b[0].f], fn1 (b[-1]));

      x->a2 = (D *) c;

      x->a3 = b;

      fn2 ();

    }

  x->a1->e->b->baz (x->a1->e, (void *) (long) a, 1);

}





At trunk r193411:



t.c: In function '_bar':

t.c:36:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1217

 }

 ^

0x8d6d6f assign_by_spills

        ../../trunk/gcc/lra-assigns.c:1217

0x8d7ab5 lra_assign()

        ../../trunk/gcc/lra-assigns.c:1369

0x8d2942 lra(_IO_FILE*)

        ../../trunk/gcc/lra.c:2303

0x882ea0 do_reload

        ../../trunk/gcc/ira.c:4624

0x883089 rest_of_handle_reload

        ../../trunk/gcc/ira.c:4737

Please submit a full bug report,

with preprocessed source if appropriate.

Reply via email to