RFA: Fix rtl-optimization/22258

Joern RENNECKE joern.rennecke@st.com
Thu Jun 30 20:37:00 GMT 2005


Bernd Schmidt wrote:

>    
> Ok, I see.  I must say I'm not very fond of introducing hard reg 
> references into complex insns during combine; I'd prefer 
> cant_combine_insn_p to just reject any moves involving hardregs.  My 
> initial version of that function did that, but in
>    http://gcc.gnu.org/ml/gcc-patches/2002-05/msg01216.html
> Dale Johannesen claims that restricting the test to 
> CLASS_LIKELY_SPILLED_P is a win on PPC.  I'm curious why.

It is also a win on the SH, because arguments that are passed in 
registers can be put directly into the right register.

It would also make sense to allow combinations with a 
CLASS_LIKELY_SPILLED_P destination in i3,
except that since your last reload rewrite this won't work if a spill in 
that class is needed for that insn
(yes, what we had before was unsafe, but it did get this case right) - 
we could make it work if we didn't
put the newly set register into bad_spill_regs and instead tracked the 
actual hard reg use.  At least if
we have an actual operand with a constraint, we know if this is an 
earlyclobber operand or not.
   



More information about the Gcc-patches mailing list