This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Use of SECONDARY_RELOAD_REGISTER HELP PLEASE!!
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: Pierre Mallard <pierremallard at yahoo dot fr>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 06 Nov 2002 22:10:16 +0000
- Subject: Re: Use of SECONDARY_RELOAD_REGISTER HELP PLEASE!!
- Organization: SuperH UK Ltd.
> But this leads to problem with the combione phase
> (.cse) that create then unknow expression such as :
> (parallel
> (set (reg:Mode) (ashift:Mode (reg:Mode)(const_int)))
> (clobber ("fixed reg"))
Presumably that fixed register was before set and/or
clobbered by one of the combined insns.
Such an extra clobber should be really harmless.
Don't do anything rash when you see a register in
a clobber, just ignore it if you don't need it.
If you find that its presence impedes optimization,
you can use a splitter to get rid of it.
> Then I'm takig another direction by finally use
> SECONDARY_RELOAD_CLASS.
> In order to do this I created two register classes ,
> one with only one Pmode reg C1 and the other with the
> rest of my register C2. I thought that then if he
> wants to reload the first one C1 he will create a
> scratch in C2 and C2 will get a C1 scratch.
> But it appears that when he wants to reload C1 and
> get C2 but just after will try C2 and get C1 ... ...
> And here we go for an infinite loop.!!!!
This sounds like you bothed the test that checks
what value is being reloaded.
--
--------------------------
SuperH (UK) Ltd.
2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
T:+44 1454 465658