Use of SECONDARY_RELOAD_REGISTER HELP PLEASE!!
Joern Rennecke
joern.rennecke@superh.com
Wed Nov 6 14:26:00 GMT 2002
> 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
More information about the Gcc
mailing list