This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix bootstrap on SPARC/Solaris with RTL checking
- From: "Kaveh R. GHAZI" <ghazi at caip dot rutgers dot edu>
- To: Eric Botcazou <ebotcazou at libertysurf dot fr>
- Cc: gcc-patches at gcc dot gnu dot org, hubicka at ucw dot cz, jh at suse dot cz
- Date: Tue, 3 Jul 2007 16:38:36 -0400 (EDT)
- Subject: Re: [PATCH] Fix bootstrap on SPARC/Solaris with RTL checking
- References: <200706160051.27762.ebotcazou@libertysurf.fr> <200706202234.23478.ebotcazou@libertysurf.fr> <Pine.GSO.4.58.0706292147360.16335@caipclassic.rutgers.edu> <200707031227.42091.ebotcazou@libertysurf.fr>
On Tue, 3 Jul 2007, Eric Botcazou wrote:
> > I tried --enable-checking=yes,rtl today on sparc-sun-solaris2.10, I got:
> >
> > libtool: compile: /tmp/kg/basel/build.rtl/./gcc/xgcc
> > -B/tmp/kg/basel/build.rtl/./gcc/ -B/usr/local/sparc-sun-solaris2.10/bin/
> > -B/usr/local/sparc-sun-solaris2.10/lib/ -isystem
> > /usr/local/sparc-sun-solaris2.10/include -isystem
> > /usr/local/sparc-sun-solaris2.10/sys-include -DHAVE_CONFIG_H -I.
> > -I../../../../../../egcc-SVN20070627/libjava/classpath/native/fdlibm
> > -I../../include -O2 -g -MT e_exp.lo -MD -MP -MF .deps/e_exp.Tpo -c
> > ../../../../../../egcc-SVN20070627/libjava/classpath/native/fdlibm/e_exp.c
> > -fPIC -DPIC -o .libs/e_exp.o
> > ../../../../../../egcc-SVN20070627/libjava/classpath/native/fdlibm/e_exp.c:
> > In function '__ieee754_exp':
> > ../../../../../../egcc-SVN20070627/libjava/classpath/native/fdlibm/e_exp.c:
> >164: internal compiler error: RTL check: expected code 'reg', have 'subreg'
> > in rhs_regno, at rtl.h:956
>
> (insn 245 244 246 23 e_exp.c:1088 (set (reg/v:DF 32 %f0 [orig:128 x ] [128])
> (mult:DF (reg:DF 40 %f8 [246])
> (reg:DF 42 %f10 [orig:126 sh_u ] [126]))) 333 {muldf3}
> (expr_list:REG_EQUAL (mult:DF (subreg:DF (reg/v:DI 42 %f10 [orig:126 sh_u ]
> [126]) 0)
> (const_double:DF
> 9.33263618503218878990089544723817169617091446371708e-302 [0x0.8p-999]))
> (nil)))
>
> REGNO is applied to the above SUBREG. Fallout of the recent RTL unsharing
> changes, discussed in the thread "RTL sharing tester (for testing)".
Sorry I don't understand the connection, at least in triggering the ICE.
In the thread you cite, Jan says he has new checking code, but as I
understand things, it requires this additional patch to activate:
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02027.html
Second, it would seem that Jan's code would be on by default, the ICE I
encountered only occurs when RTL checking it turned on. Is Jan's code
triggered by RTL checking somehow? Or is the ICE on the checking code
itself guarded by the RTL checking macro?
Is it possible, given the backtrace I posted here, it's fallout from the
df merge, rather than Jan's checking code?
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02135.html
Thanks,
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu