http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58679

--- Comment #12 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> ---
(In reply to Jorn Wolfgang Rennecke from comment #10)
> (In reply to Uroš Bizjak from comment #7)
>  
> > CC author. Hopefully, following part will be reverted:
> > 
> > 2013-10-25  Vladimir Makarov <vmaka...@redhat.com>
> > 
> >         [...]
> >         * lra-spills.c (lra_final_code_change): Remove useless move insns.
> 
> For the return value sanity checks, we need only a subset of these moves
> preserved.
> Ones that are
> - in the exit block, and
> - likely_spilled_p, and
> - pertain to the function result register, or a part of it.

P.S.: the fact that we have no-op moves like that indicates potential
trouble - it means this likely spilled register is also live before
the return value copy.  So if we need to spill it to do a mode switch,
we are between a rock and a hard place.

Reply via email to