[PATCH] Another BLOCK issue - PR56570

Richard Biener rguenther@suse.de
Fri Mar 8 13:13:00 GMT 2013


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.



More information about the Gcc-patches mailing list