This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Fix rtl-optimization/22258
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.