On Fri, 8 Mar 2013, Jakub Jelinek wrote: > On Fri, Mar 08, 2013 at 01:59:23PM +0100, Richard Biener wrote: > > This PR shows that when SRA creates DECL_DEBUG_EXPRs with locations > > (and blocks) this does not work with inlining. The reason is that > > the inliner does not bother to copy vars used only in lhs of > > debug-stmts (eek) and thus ends up sharing DECL_DEBUG_EXPRs > > It is not about not bothering, we really shouldn't have different sets > of copied vars with -g vs. -g0, otherwise we end up with -fcompare-debug > failures. > > > Any comments about the above code? > > I don't understand how the tree-inline.c change is related to this.
It just fell out of my attempts to fix the bug in the inliner. I can postpone that change to 4.9 if you like (possibly trying to unify those two functions with using a template ...). > For 4.9, once the verification that DECL_DEBUG_EXPR doesn't have locations is > in, > we can remove the DECL_DEBUG_EXPR handling code from tree-ssa-live.c. > Also for 4.9 we should rename DECL_DEBUG_EXPR_IS_FROM to > DECL_HAS_DEBUG_EXPR_P. Yeah. I'll put it on my TODO. Thanks, Richard.