This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: tuples: data structure separation from trees


On 3/29/07, Daniel Jacobowitz <drow@false.org> wrote:
On Thu, Mar 29, 2007 at 06:40:30PM -0700, Andrew Pinski wrote:
> On 29 Mar 2007 18:24:56 -0700, Ian Lance Taylor <iant@google.com> wrote:
> >Why will expressions have location?  It seems to me preferable to save
> >the memory.  After a few optimization passes many of the expressions
> >have no location anyhow.

> And I know from past experiences, that this is really a bug that they
> don't produce expressions with locations.  I remember Daniel Berlin
> was talking about how SRA does the correct thing with respect of
> locations and other passes should really follow that.  We can see how
> out of SSA can produce cases where PHIs would create expressions
> without locations but that is a bug (I cannot find the PR right now
> but Daniel J. filed it).

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26475

But I'm not convinced that adding locations on more things is a
workable solution to the problem.  I wish someone had sufficient
incentive to sit down and design a proper solution to our degenerating
debug info.


The problem is that we have conflicting goals. We want good debug info, but don't want -g to affect the optimizations performed. However, the easiest (and probably best) way to keep the debug info up to date through optimizations is to do what LLVM does, and make it part of the IR. This sadly, can affect optimizations performed. I'm not sure we will ever keep every pass from mucking up debug info unless they have to do a *lot* less work than they would now. I don't see how to make that happen without making it either completely automatic using magic pixie dust, or part of the IR.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]