public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS
@ 2012-03-13 6:29 ralf_corsepius at rtems dot org
2012-03-13 8:12 ` [Bug target/52575] " ralf_corsepius at rtems dot org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: ralf_corsepius at rtems dot org @ 2012-03-13 6:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575
Bug #: 52575
Summary: avr*: error: unable to find a register to spill in
class 'POINTER_REGS
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: ralf_corsepius@rtems.org
CC: eric.weddington@atmel.com, gjl@gcc.gnu.org,
joel.sherrill@oarcorp.com
Target: avr-*
Created attachment 26883
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26883
*.i of the file triggering the error
Bootstrapping gcc-4.7.0-RC-20120203 ICEs for avr-rtems*:
/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/xgcc
-B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/
-nostdinc
-B/builddir/build/BUILD/rtems-4.11-avr--4.7.0/build/avr-rtems4.11/avr25/newlib/
-isystem
/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/avr-rtems4.11/avr25/newlib/targ-include
-isystem
/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/newlib/libc/include
-B/opt/rtems-4.11/avr-rtems4.11/bin/ -B/opt/rtems-4.11/avr-rtems4.11/lib/
-isystem /opt/rtems-4.11/avr-rtems4.11/include -isystem
/opt/rtems-4.11/avr-rtems4.11/sys-include -mmcu=avr25
-DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
-DPACKAGE_VERSION=\"1.20.0\" -DPACKAGE_STRING=\"newlib\ 1.20.0\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I.
-I../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search -Os
-DPREFER_SIZE_OVER_SPEED -mcall-prologues -D_COMPILING_NEWLIB -DMALLOC_PROVIDED
-DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED
-DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN
-D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN
-fno-builtin -g -O2 -c -o lib_a-hash.o `test -f 'hash.c' || echo
'../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/'`hash.c
-save-temps
../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c: In function
'__expand_table':
../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898:1: error:
unable to find a register to spill in class 'POINTER_REGS'
../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898:1: error:
this is the insn:
(insn 172 96 173 10 (set (reg:QI 18 r18)
(mem/c:QI (plus:HI (reg/f:HI 28 r28)
(const_int 5 [0x5])) [16 S1 A8]))
../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:886 18
{movqi_insn}
(nil))
../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898: confused
by earlier errors, bailing out
Configuration:
CC='gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
../gcc-4.7.0-RC-20120302/configure --prefix=/opt/rtems-4.11
--bindir=/opt/rtems-4.11/bin --exec_prefix=/opt/rtems-4.11
--includedir=/opt/rtems-4.11/include --libdir=/opt/rtems-4.11/lib
--libexecdir=/opt/rtems-4.11/libexec --mandir=/opt/rtems-4.11/share/man
--infodir=/opt/rtems-4.11/share/info --datadir=/opt/rtems-4.11/share
--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu
--target=avr-rtems4.11 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld
--verbose --with-newlib --with-system-zlib --disable-nls
--without-included-gettext --disable-win32-registry
--enable-version-specific-runtime-libs --enable-threads --disable-lto
--disable-plugin --enable-newlib-io-c99-formats --enable-newlib-iconv
--enable-languages=c
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
2012-03-13 6:29 [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS ralf_corsepius at rtems dot org
@ 2012-03-13 8:12 ` ralf_corsepius at rtems dot org
2012-03-13 9:44 ` gjl at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: ralf_corsepius at rtems dot org @ 2012-03-13 8:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575
--- Comment #1 from Ralf Corsepius <ralf_corsepius at rtems dot org> 2012-03-13 08:11:56 UTC ---
FWIW: As things currently appear, this breakdown is not restricted to the
-mmcu=avr25 multilib-variant, but affects all RTEMS multilibs.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
2012-03-13 6:29 [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS ralf_corsepius at rtems dot org
2012-03-13 8:12 ` [Bug target/52575] " ralf_corsepius at rtems dot org
@ 2012-03-13 9:44 ` gjl at gcc dot gnu.org
2012-03-13 17:01 ` ralf_corsepius at rtems dot org
2012-03-15 12:54 ` gjl at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-03-13 9:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575
Georg-Johann Lay <gjl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-13 09:44:04 UTC ---
There are already spill fails reported for AVR, it's a known problem.
At this point it cannot be said if this PR is really the same as PR50925, but
it's not unlikely.
Thus, marking as duplicate resp. yet another testcase for a potential fix of
PR50925.
*** This bug has been marked as a duplicate of bug 50925 ***
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
2012-03-13 6:29 [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS ralf_corsepius at rtems dot org
2012-03-13 8:12 ` [Bug target/52575] " ralf_corsepius at rtems dot org
2012-03-13 9:44 ` gjl at gcc dot gnu.org
@ 2012-03-13 17:01 ` ralf_corsepius at rtems dot org
2012-03-15 12:54 ` gjl at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: ralf_corsepius at rtems dot org @ 2012-03-13 17:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575
--- Comment #3 from Ralf Corsepius <ralf_corsepius at rtems dot org> 2012-03-13 14:08:21 UTC ---
(In reply to comment #2)
> There are already spill fails reported for AVR, it's a known problem.
>
> At this point it cannot be said if this PR is really the same as PR50925, but
> it's not unlikely.
I am confused:
PR50925 says "fails to build 4.6.2", however avr-rtems-gcc4.6.2 and 4.6.3 are
known to build, c.f.
(4.6.2-based rpms) ftp://ftp.rtems.org/pub/rtems/linux/obsolete/4.11/fedora/16/
and
(4.6.3-based rpms) ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/16
... but 4.7.0 does not BUILD at all!
=> Regression
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
2012-03-13 6:29 [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS ralf_corsepius at rtems dot org
` (2 preceding siblings ...)
2012-03-13 17:01 ` ralf_corsepius at rtems dot org
@ 2012-03-15 12:54 ` gjl at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-03-15 12:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575
--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-15 12:14:56 UTC ---
(In reply to comment #3)
> (In reply to comment #2)
> > There are already spill fails reported for AVR, it's a known problem.
> >
> > At this point it cannot be said if this PR is really the same as PR50925,
> > but it's not unlikely.
>
> I am confused:
>
> PR50925 says "fails to build 4.6.2", however avr-rtems-gcc4.6.2 and 4.6.3 are
> known to build,
These spill fails might come or go with slight variations in surrounding code,
compiler source (i.e. version) or change of compiler options. The absence of a
spill fail does not mean that it is not present in the compiler, it just means
it does not show with that specific test case and set of options.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50925#c19
test case breaks 4.5, 4.6, 4.7 and 4.8 for example.
PR42204 indicates that the problem occurs with framepointer needed/framepointer
not needed transitions and changing back and forth. Such transitions depend on
the surrounding code and compiler optimizations, of course.
PR52148 is a bit different: The root cause is the same. But a code cleanup made
the test case pass. Therefore it's not marked as a duplicate, even though it's
very likely that its root cause is also the same as in PR50925. However, the
code cleanup along with PR52148 does not fix the root cause; it's just a
cleanup that's nice in itself.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-15 12:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-13 6:29 [Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS ralf_corsepius at rtems dot org
2012-03-13 8:12 ` [Bug target/52575] " ralf_corsepius at rtems dot org
2012-03-13 9:44 ` gjl at gcc dot gnu.org
2012-03-13 17:01 ` ralf_corsepius at rtems dot org
2012-03-15 12:54 ` gjl at gcc dot gnu.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).