This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] copy prop vs. debugging
- From: law at redhat dot com
- To: Jason Merrill <jason at redhat dot com>
- Cc: Andrew MacLeod <amacleod at redhat dot com>, Diego Novillo <dnovillo at redhat dot com>, gcc at gcc dot gnu dot org
- Date: Thu, 03 Jul 2003 10:48:49 -0600
- Subject: Re: [tree-ssa] copy prop vs. debugging
- Reply-to: law at redhat dot com
In message <wvlof0bvdws.fsf@prospero.boston.redhat.com>, Jason Merrill writes:
>When a temporary is copied into a variable, any dominated uses of that
>variable are replaced with uses of the temporary. If all uses are
>dominated by such a copy, the variable is removed. This obviously hurts
>debugging.
>
>This isn't a major problem in the current tree, but a patch I'm working
>on to always evaluate non-trivial expressions into temps causes it to
>happen much more frequently; now pretty much any modification of a user
>variable is a copy.
Yes. I've been pondering this as well -- I first noticed this effect
when forcing the LHS of a MODIFY_EXPR to be a temporary if the RHS could
throw.
>I can think of two ways to address this:
>
>1) When coalescing, try to replace temps with user variables which are
> copied from them. This is an incomplete solution, but might be simpler
> than:
In the cases I was looking at, this was going to be reasonably effective.
It's simply a matter of adding this support to the coalescer.
Jeff