public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'"
@ 2008-07-01 9:29 masaki dot chikama at gmail dot com
2008-07-01 9:35 ` [Bug c/36684] " masaki dot chikama at gmail dot com
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-01 9:29 UTC (permalink / raw)
To: gcc-bugs
gcc-4.3.0 fails to compile with this message when compiling
expect-5.43.0. gcc-4.1.3 can compile without fail.
They are both natively running on sh4 board.
gcc -c -I. -I. -I/usr/include/tcl-private/generic
-DEXP_VERSION=\"5.43.0\" -DSCRIPTDIR=\"/usr/share/tcl8.5/expect5.43\"
-DEXECSCRIPTDIR=\"/usr/lib/tcl8.5/expect5.43\" -DTCL_DEBUGGER -DUSE_NON_CONST
-DSTTY_BIN=\"/bin/stty\" -O2 -g -mieee -O2 -g -mieee -pipe -fPIC
-DDFLT_STTY="\"sane\"" Dbg.c -o shared/Dbg.o ; \
fi
Dbg.c: In function 'Dbg_Interactor':
Dbg.c:1071: error: unable to find a register to spill in class 'R0_REGS'
Dbg.c:1071: error: this is the insn:
(insn:HI 31 50 51 4 Dbg.c:1069 (set (mem/f/c/i:SI (plus:SI (reg/f:SI 3 r3
[186]) (reg:SI 12 r12)) [22 interdata+0 S4 A32])
(reg/v/f:SI 6 r6 [orig:165 data ] [165])) 172 {movsi_ie}
(expr_list:REG_DEAD (reg/f:SI 3 r3 [186])
(expr_list:REG_DEAD (reg/v/f:SI 6 r6 [orig:165 data ] [165])
(nil))))
Dbg.c:1071: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccjGJhgH.out file, please attach this to
your bugreport.
make: *** [Dbg.o] Error 1
# /usr/bin/gcc -v
Using built-in specs.
Target: sh4-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions
--enable-languages=c,c++,objc,obj-c++,java,fortran --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--build=sh4-redhat-linux
Thread model: posix
gcc version 4.3.0 20080404 (Red Hat 4.3.0-6.fs1.1) (GCC)
--
Summary: [4.3 regression] compile failure with message "unable to
find a register to spill in class 'R0_REGS'"
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: masaki dot chikama at gmail dot com
GCC build triplet: sh4-redhat-linux
GCC host triplet: sh4-redhat-linux
GCC target triplet: sh4-redhat-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c/36684] [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'"
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
@ 2008-07-01 9:35 ` masaki dot chikama at gmail dot com
2008-07-01 9:42 ` masaki dot chikama at gmail dot com
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-01 9:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from masaki dot chikama at gmail dot com 2008-07-01 09:34 -------
Created an attachment (id=15838)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15838&action=view)
ccOOu6ip.out
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c/36684] [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'"
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
2008-07-01 9:35 ` [Bug c/36684] " masaki dot chikama at gmail dot com
@ 2008-07-01 9:42 ` masaki dot chikama at gmail dot com
2008-07-01 9:43 ` [Bug middle-end/36684] [4.3 Regression] " rguenth at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-01 9:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from masaki dot chikama at gmail dot com 2008-07-01 09:41 -------
Sorry.
"/tmp/ccjGJhgH.out" is another try's message.
Attached file(ccOOu6ip.out) are produced with same message.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36684] [4.3 Regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'"
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
2008-07-01 9:35 ` [Bug c/36684] " masaki dot chikama at gmail dot com
2008-07-01 9:42 ` masaki dot chikama at gmail dot com
@ 2008-07-01 9:43 ` rguenth at gcc dot gnu dot org
2008-07-01 12:16 ` jakub at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-07-01 9:43 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|c |middle-end
Summary|[4.3 regression] compile |[4.3 Regression] compile
|failure with message "unable|failure with message "unable
|to find a register to spill |to find a register to spill
|in class 'R0_REGS'" |in class 'R0_REGS'"
Target Milestone|--- |4.3.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36684] [4.3 Regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'"
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (2 preceding siblings ...)
2008-07-01 9:43 ` [Bug middle-end/36684] [4.3 Regression] " rguenth at gcc dot gnu dot org
@ 2008-07-01 12:16 ` jakub at gcc dot gnu dot org
2008-07-01 23:59 ` [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2 kkojima at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-01 12:16 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (3 preceding siblings ...)
2008-07-01 12:16 ` jakub at gcc dot gnu dot org
@ 2008-07-01 23:59 ` kkojima at gcc dot gnu dot org
2008-07-02 3:48 ` kkojima at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-01 23:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from kkojima at gcc dot gnu dot org 2008-07-01 23:59 -------
A reduced testcase:
typedef int (proc) (int *interp, void *data);
typedef struct
{
void *func;
void *data;
} InterStruct;
extern InterStruct simple;
extern int simple_interactor ();
static proc *interactor = simple_interactor;
InterStruct Interactor(void *interp, proc inter_proc)
{
InterStruct tmp = simple;
interactor = (inter_proc ? inter_proc : simple_interactor);
return tmp;
}
--
kkojima at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kkojima at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Component|middle-end |target
Ever Confirmed|0 |1
GCC host triplet|sh4-redhat-linux |
GCC target triplet|sh4-redhat-linux |sh4-*-linux
Keywords| |ice-on-valid-code
Known to fail| |4.3.1 4.4.0
Known to work| |4.1.3 4.2.4
Last reconfirmed|0000-00-00 00:00:00 |2008-07-01 23:59:06
date| |
Summary|[4.3 Regression] compile |[4.3/4.4 Regression] spill
|failure with message "unable|failure for class 'R0_REGS'
|to find a register to spill |on sh4 with -fPIC -O2
|in class 'R0_REGS'" |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (4 preceding siblings ...)
2008-07-01 23:59 ` [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2 kkojima at gcc dot gnu dot org
@ 2008-07-02 3:48 ` kkojima at gcc dot gnu dot org
2008-07-02 3:51 ` kkojima at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-02 3:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from kkojima at gcc dot gnu dot org 2008-07-02 03:47 -------
*** Bug 36686 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (5 preceding siblings ...)
2008-07-02 3:48 ` kkojima at gcc dot gnu dot org
@ 2008-07-02 3:51 ` kkojima at gcc dot gnu dot org
2008-07-04 20:54 ` kkojima at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-02 3:51 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from kkojima at gcc dot gnu dot org 2008-07-02 03:50 -------
SH backend enables insn scheduling before reload for SH4 when
the estimated R0 register pressure is low. This PR reveals
that it doesn't work well for PIC which will make many implicit
R0 uses. It seems that there is no easy way to compute accurate
R0 register pressure in that case. I'm testing the patch below.
--- ORIG/trunk/gcc/config/sh/sh.h 2008-05-23 07:30:02.000000000 +0900
+++ INTEST/trunk/gcc/config/sh/sh.h 2008-07-02 08:41:42.000000000 +0900
@@ -712,8 +712,8 @@ do {
\
to the pressure on R0. */ \
/* Enable sched1 for SH4; ready queue will be reordered by \
the target hooks when pressure is high. We can not do this for \
- SH3 and lower as they give spill failures for R0. */ \
- if (!TARGET_HARD_SH4) \
+ PIC, SH3 and lower as they give spill failures for R0. */ \
+ if (!TARGET_HARD_SH4 || flag_pic)
\
flag_schedule_insns = 0; \
/* ??? Current exception handling places basic block boundaries \
after call_insns. It causes the high pressure on R0 and gives \
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (6 preceding siblings ...)
2008-07-02 3:51 ` kkojima at gcc dot gnu dot org
@ 2008-07-04 20:54 ` kkojima at gcc dot gnu dot org
2008-07-05 21:41 ` kkojima at gcc dot gnu dot org
2008-07-05 21:44 ` kkojima at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-04 20:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from kkojima at gcc dot gnu dot org 2008-07-04 20:54 -------
Subject: Bug 36684
Author: kkojima
Date: Fri Jul 4 20:53:18 2008
New Revision: 137487
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=137487
Log:
PR target/36684
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
for PIC.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (7 preceding siblings ...)
2008-07-04 20:54 ` kkojima at gcc dot gnu dot org
@ 2008-07-05 21:41 ` kkojima at gcc dot gnu dot org
2008-07-05 21:44 ` kkojima at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-05 21:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from kkojima at gcc dot gnu dot org 2008-07-05 21:40 -------
Subject: Bug 36684
Author: kkojima
Date: Sat Jul 5 21:39:36 2008
New Revision: 137511
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=137511
Log:
Backport from mainline:
PR target/36684
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
for PIC.
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/sh/sh.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
` (8 preceding siblings ...)
2008-07-05 21:41 ` kkojima at gcc dot gnu dot org
@ 2008-07-05 21:44 ` kkojima at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-05 21:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from kkojima at gcc dot gnu dot org 2008-07-05 21:43 -------
Fixed.
--
kkojima at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36684
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2008-07-05 21:44 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-01 9:29 [Bug c/36684] New: [4.3 regression] compile failure with message "unable to find a register to spill in class 'R0_REGS'" masaki dot chikama at gmail dot com
2008-07-01 9:35 ` [Bug c/36684] " masaki dot chikama at gmail dot com
2008-07-01 9:42 ` masaki dot chikama at gmail dot com
2008-07-01 9:43 ` [Bug middle-end/36684] [4.3 Regression] " rguenth at gcc dot gnu dot org
2008-07-01 12:16 ` jakub at gcc dot gnu dot org
2008-07-01 23:59 ` [Bug target/36684] [4.3/4.4 Regression] spill failure for class 'R0_REGS' on sh4 with -fPIC -O2 kkojima at gcc dot gnu dot org
2008-07-02 3:48 ` kkojima at gcc dot gnu dot org
2008-07-02 3:51 ` kkojima at gcc dot gnu dot org
2008-07-04 20:54 ` kkojima at gcc dot gnu dot org
2008-07-05 21:41 ` kkojima at gcc dot gnu dot org
2008-07-05 21:44 ` kkojima 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).