Hi Jeff,

On Mon, Oct 22, 2018 at 02:52:12PM -0600, Jeff Law wrote:
> I know we've gone back and forth on this stuff through the years,
> particularly for targets with likely-to-spilled classes that are used
> for register passing/return values.

Right, there already was code to not copy to a pseudo for such registers,
and this patch extends it to all hard (but not fixed) registers.  That
reduces code quality quite a bit though, because the move itself can often
be combine.  For that, this now adds an extra copy to a fresh pseudo, and
that fixes this.  (cc:ing Alan who did the previous attempt I remember).

> I'm certainly willing to go with this as general guidance.  I wouldn't
> be surprised if we find that things like CSE, fwprop and other passes
> need twiddling over time to mimick what you're doing in combine.

Yes that could well be.  I think fwprop is fine, but there could well
be other passes.  The asm problem in PR87600 no longer triggers, but it
could be those passes stay away from asm, or something like that.


Segher

Reply via email to