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