public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/36686]  New: [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
@ 2008-07-01 10:10 masaki dot chikama at gmail dot com
  2008-07-01 10:14 ` [Bug c++/36686] " masaki dot chikama at gmail dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-01 10:10 UTC (permalink / raw)
  To: gcc-bugs

gcc-4.3.0 fails to compile with this message when compiling 
qt-4.3.4. gcc-4.1.3 can compile without fail.
They are both natively running on sh4 board.

The message is very similar with Bug #36684. They may have the same root cause.


g++ -c -include .pch/release-shared/QtGui -pipe -fno-exceptions -pthread
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -g -mieee
-fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC
-DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS
-DQT_44_API_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT
-DQT_RASTER_IMAGEENGINE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA
-DQT_NO_STYLE_WINDOWSXP -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I.
-I../../include/QtCore -I../../include/QtCore -I../../include
-I../../include/QtGui -I/usr/include/freetype2 -I../3rdparty/harfbuzz/src
-Idialogs -I.moc/release-shared -I/usr/X11R6/include -I.uic/release-shared -o
.obj/release-shared/qcolordialog.o dialogs/qcolordialog.cpp
In file included from dialogs/qcolordialog.cpp:1717:
dialogs/qcolordialog.cpp: In member function 'virtual QSize
QColorPicker::sizeHint() const':
dialogs/qcolordialog.cpp:834: error: unable to find a register to spill in
class 'R0_REGS'
dialogs/qcolordialog.cpp:834: error: this is the insn:
(insn:HI 25 53 26 2 dialogs/qcolordialog.cpp:833 (set (reg:SI 1 r1 [orig:178
pHeight ] [178])
        (mem/c/i:SI (plus:SI (reg/f:SI 1 r1 [175])
                (reg:SI 12 r12)) [11 pHeight+0 S4 A32])) 172 {movsi_ie}
(expr_list:REG_DEAD (reg/f:SI 1 r1 [175])
        (nil)))
dialogs/qcolordialog.cpp:834: confused by earlier errors, bailing out
make[1]: *** [.obj/release-shared/qcolordialog.o] Error 1
make[1]: Leaving directory
`/builddir/build/BUILD/qt-x11-opensource-src-4.3.4/src/gui'


# /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] qt-4.3.4 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=36686


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

* [Bug c++/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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 10:14 ` masaki dot chikama at gmail dot com
  2008-07-02  0:21 ` [Bug target/36686] " kkojima at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-01 10:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from masaki dot chikama at gmail dot com  2008-07-01 10:13 -------
Created an attachment (id=15839)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15839&action=view)
preprocessed file generated by adding -save-temps


-- 


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


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

* [Bug target/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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 10:14 ` [Bug c++/36686] " masaki dot chikama at gmail dot com
@ 2008-07-02  0:21 ` kkojima at gcc dot gnu dot org
  2008-07-02  3:15 ` masaki dot chikama at gmail dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-02  0:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from kkojima at gcc dot gnu dot org  2008-07-02 00:20 -------
Could you please send the testcase without using precompiled headers?
See http://gcc.gnu.org/bugs.html#pch.

I also suspect this is a duplicate of PR36684.  Does -fno-schedule-insns
get rid of this error?


-- 

kkojima at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kkojima at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |WAITING
          Component|c++                         |target
   GCC host triplet|sh4-redhat-linux            |
 GCC target triplet|sh4-redhat-linux            |sh4-*-linux


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


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

* [Bug target/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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 10:14 ` [Bug c++/36686] " masaki dot chikama at gmail dot com
  2008-07-02  0:21 ` [Bug target/36686] " kkojima at gcc dot gnu dot org
@ 2008-07-02  3:15 ` masaki dot chikama at gmail dot com
  2008-07-02  3:21 ` masaki dot chikama at gmail dot com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-02  3:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from masaki dot chikama at gmail dot com  2008-07-02 03:14 -------
>Could you please send the testcase without using precompiled headers?
Do you mean that I should redo without "-include .pch/release-shared/QtGui" ?
I'll attach in next post.

>Does -fno-schedule-insns get rid of this error?
Yes. It passed without failure.
Is this a workaround or right fix ?


-- 


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


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

* [Bug target/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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-02  3:15 ` masaki dot chikama at gmail dot com
@ 2008-07-02  3:21 ` masaki dot chikama at gmail dot com
  2008-07-02  3:48 ` kkojima at gcc dot gnu dot org
  2008-07-02  4:06 ` masaki dot chikama at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-02  3:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from masaki dot chikama at gmail dot com  2008-07-02 03:20 -------
Created an attachment (id=15842)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15842&action=view)
preprocessed file without precompiled headers

gzipped beacuse plain text file's size is 1.5MB


-- 


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


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

* [Bug target/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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-02  3:21 ` masaki dot chikama at gmail dot com
@ 2008-07-02  3:48 ` kkojima at gcc dot gnu dot org
  2008-07-02  4:06 ` masaki dot chikama at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2008-07-02  3:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from kkojima at gcc dot gnu dot org  2008-07-02 03:47 -------
Thanks for the updated testcase.  I've confirmed that this PR is
a duplicate of PR36684 as you suggested.

> Is this a workaround or right fix ?

SH backend enables first insn scheduling pass for SH4 when
the estimated R0 register pressure is low.  PR36684 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.  Also this optimization doesn't make much
difference in performance for such case.  So disabling it for PIC
would be a reasonable fix, I guess.  I'll prepare such patch for
PR36684.


*** This bug has been marked as a duplicate of 36684 ***


-- 

kkojima at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.3.1 4.4.0
         Resolution|                            |DUPLICATE


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


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

* [Bug target/36686] [4.3 regression] qt-4.3.4 compile failure with message "unable to find a register to spill in class 'R0_REGS'"
  2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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-02  3:48 ` kkojima at gcc dot gnu dot org
@ 2008-07-02  4:06 ` masaki dot chikama at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: masaki dot chikama at gmail dot com @ 2008-07-02  4:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from masaki dot chikama at gmail dot com  2008-07-02 04:06 -------
Thank you.
I'll learn more about background of this problem 
along with your comment.


-- 


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


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

end of thread, other threads:[~2008-07-02  4:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-01 10:10 [Bug c++/36686] New: [4.3 regression] qt-4.3.4 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 10:14 ` [Bug c++/36686] " masaki dot chikama at gmail dot com
2008-07-02  0:21 ` [Bug target/36686] " kkojima at gcc dot gnu dot org
2008-07-02  3:15 ` masaki dot chikama at gmail dot com
2008-07-02  3:21 ` masaki dot chikama at gmail dot com
2008-07-02  3:48 ` kkojima at gcc dot gnu dot org
2008-07-02  4:06 ` masaki dot chikama at gmail dot com

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