[tree-ssa] copy prop vs. debugging

Jason Merrill jason@redhat.com
Thu Jul 3 16:00:00 GMT 2003


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.

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:
2) Remember the dead copies, make a list of which temporary holds the value
   of a variable at any given time, and feed this list to the debugging
   backend.

Thoughts?  Is there any live range splitting code in gcc these days?

Jason



More information about the Gcc mailing list