[Bug rtl-optimization/58679] [4.9 regression] ICE in create_pre_exit, at mode-switching.c:421 with -mavx after r202915

amylaar at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Oct 26 16:22:00 GMT 2013


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 <vmakarov@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.


More information about the Gcc-bugs mailing list