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).