This is the mail archive of the gcc@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: Use of SECONDARY_RELOAD_REGISTER HELP PLEASE!!


> 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


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