This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix bootstrap on SPARC/Solaris with RTL checking


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]