On Tue, Feb 04, 2014 at 04:59:54PM +0000, Richard Sandiford wrote:
> Right, that was my point.  So by relying on unwind info in var-tracking.c
> we're getting the wrong answer for the stack offset after the LM(G)
> instruction.  It sounds like we're going to pretend it's right anyway
> for expediency.  But in that case why not also allow the exit block
> offsets to vary on the same basis?  It's not like the current test is
> an assert -- it's just silently refusing to do any var-tracking on the
> function if the epilogue isn't fully understood.
> 
> If these offsets must match on exit for correctness then we should
> assert rather than silently bailing out.  But if they're allowed to vary
> then we should do our best to carry on.  And since the exit block offset
> is never used, it seems expedient to allow varying offsets in that case.

Ok then, but please do follow-up on the changes to not save/restore
r15 in the unwind info, use REG_CFA_ADJUST_CFA where possible and teach
var-tracking about that note.

        Jakub

Reply via email to