On Wed, Oct 26, 2016 at 02:30:04PM +0200, Bernd Schmidt wrote:
> On 10/26/2016 01:19 PM, Segher Boessenkool wrote:
> >Separate shrink-wrapping creates this not-all-that-smart code because
> >the profile is quite messed up, and spread_components isn't super smart
> >to begin with.  I'll have a patch for that soon, but even with it (and
> >also without separate shrink-wrapping as far as I see) sched should not
> >reorder insns that have CFI notes that conflict.
> 
> I think I agree with this as long as we really do prevent movement only 
> if notes conflict. For example, I see no reason to forbid swapping 
> normal register saves/restores, and doing so may well cost performance. 
> So I think the patch needs to do better than just check RTX_FRAME_RELATED_P.

That's what I thought first as well, but two things:

1) As I wrote in the original mail: "I originally was a bit worried
that this would degrade code quality, but it seems to even improve it:
more other insns are scheduled between the prologue insns."

OTOH I now set true output dependencies, which probably explains all
that, hrm.

2) We do not necessarily have all notes yet, if the port lets dwarf2cfi
create notes by itself.  Most (or even all?) ports do.


Segher

Reply via email to