public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/42536]  New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
@ 2009-12-29 12:41 debian-gcc at lists dot debian dot org
  2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2009-12-29 12:41 UTC (permalink / raw)
  To: gcc-bugs

seen with 20091228 trunk and 4.4 branch on i486-linux-gnu, not seen with 4.3
branch (opening new report, because PR39431 is fixed for 4.4 and 4.5). Adding
-fomit-frame-pointer avoids the ice.

  Matthias

$ /usr/lib/gcc-snapshot/bin/gcc -g -O2 -fno-gcse -fno-inline-functions
-fno-unit-at-a-time -fstack-protector -c cvm.i 
cvm.c: In function '_ILCVMInterpreter':
cvm.c:889:1: error: unable to find a register to spill in class 'GENERAL_REGS'
cvm.c:889:1: error: this is the insn:
(insn 11992 11991 11993 863 cvm_ptr.c:66 (set (mem:DI (plus:SI (plus:SI
(mult:SI (reg:SI 6750 [ D.20325 ])
                        (const_int 8 [0x8]))
                    (reg/f:SI 6746 [ tempptr.3460 ]))
                (const_int 4 [0x4])) [16 S8 A64])
        (reg:DI 12123)) 88 {*movdi_2} (expr_list:REG_DEAD (reg:DI 12123)
        (expr_list:REG_DEAD (reg:SI 6750 [ D.20325 ])
            (expr_list:REG_DEAD (reg/f:SI 6746 [ tempptr.3460 ])
                (nil)))))
cvm.c:889:1: internal compiler error: in spill_failure, at reload1.c:2141
Please submit a full bug report,
with preprocessed source if appropriate.


-- 
           Summary: [4.4/4.5 regression] ICE in spill_failure, at
                    reload1.c:2141
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: debian-gcc at lists dot debian dot org


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
@ 2009-12-29 12:41 ` debian-gcc at lists dot debian dot org
  2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: debian-gcc at lists dot debian dot org @ 2009-12-29 12:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from debian-gcc at lists dot debian dot org  2009-12-29 12:41 -------
Created an attachment (id=19411)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19411&action=view)
preprocessed source


-- 


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
  2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
@ 2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
  2010-01-02 14:30 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-12-31 16:56 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra
   Target Milestone|---                         |4.4.3


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
  2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
  2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
@ 2010-01-02 14:30 ` jakub at gcc dot gnu dot org
  2010-01-02 16:44 ` jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-02 14:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2010-01-02 14:30 -------
With 3 register vars in the function (ebx, edi, esi) on the register starved
ix86 the error is tollerable.  From the 8 registers the programmer takes 3,
%esp is fixed, without -fomit-frame-pointer %ebp is fixed too, which leaves
just %eax, %edx and %ecx for register allocation.  Even if this happens to
compile, the result can't work fast, as almost all insns need to have
temporaries spilled and reread back.


-- 


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
                   ` (2 preceding siblings ...)
  2010-01-02 14:30 ` jakub at gcc dot gnu dot org
@ 2010-01-02 16:44 ` jakub at gcc dot gnu dot org
  2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-02 16:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jakub at gcc dot gnu dot org  2010-01-02 16:44 -------
Reduced testcase:
/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-O2 -fno-gcse" } */

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);
}

Wonder why RA doesn't try to force the memory address into register, that would
free up one register from the 4 otherwise needed (2 for the address, 2 for
DImode value being stored into the memory). 


-- 


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
                   ` (3 preceding siblings ...)
  2010-01-02 16:44 ` jakub at gcc dot gnu dot org
@ 2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
  2010-01-21 13:15 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-01-07 14:45 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
                   ` (4 preceding siblings ...)
  2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
@ 2010-01-21 13:15 ` jakub at gcc dot gnu dot org
  2010-03-20 13:04 ` steven at gcc dot gnu dot org
  2010-04-30  8:58 ` [Bug target/42536] [4.4/4.5/4.6 " jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-21 13:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.4.3                       |4.4.4


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


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

* [Bug target/42536] [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
                   ` (5 preceding siblings ...)
  2010-01-21 13:15 ` jakub at gcc dot gnu dot org
@ 2010-03-20 13:04 ` steven at gcc dot gnu dot org
  2010-04-30  8:58 ` [Bug target/42536] [4.4/4.5/4.6 " jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-03-20 13:04 UTC (permalink / raw)
  To: gcc-bugs



-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-03-20 13:03:43
               date|                            |


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


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

* [Bug target/42536] [4.4/4.5/4.6 regression] ICE in spill_failure, at reload1.c:2141
  2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
                   ` (6 preceding siblings ...)
  2010-03-20 13:04 ` steven at gcc dot gnu dot org
@ 2010-04-30  8:58 ` jakub at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-04-30  8:58 UTC (permalink / raw)
  To: gcc-bugs



-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.4.4                       |4.4.5


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


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

end of thread, other threads:[~2010-04-30  8:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-29 12:41 [Bug target/42536] New: [4.4/4.5 regression] ICE in spill_failure, at reload1.c:2141 debian-gcc at lists dot debian dot org
2009-12-29 12:41 ` [Bug target/42536] " debian-gcc at lists dot debian dot org
2009-12-31 16:56 ` rguenth at gcc dot gnu dot org
2010-01-02 14:30 ` jakub at gcc dot gnu dot org
2010-01-02 16:44 ` jakub at gcc dot gnu dot org
2010-01-07 14:45 ` rguenth at gcc dot gnu dot org
2010-01-21 13:15 ` jakub at gcc dot gnu dot org
2010-03-20 13:04 ` steven at gcc dot gnu dot org
2010-04-30  8:58 ` [Bug target/42536] [4.4/4.5/4.6 " jakub at gcc dot gnu dot 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).