[cfe-dev] why does clang re-evaluate the target info for each input file?
kremenek at apple.com
Sat Mar 1 13:13:13 PST 2008
On Mar 1, 2008, at 12:31 PM, Sam Bishop wrote:
> Hi, Ted.
> Ted Kremenek wrote:
>> Originally the Target was computed only once, prior to adding
>> serialization support. Because the changes I made to the driver
>> when I added serialization support were fairly invasive, small
>> inefficiencies like this were (deliberately) introduced. The
>> desired tradeoff at the time was to have my changes be more
>> readable and understandable at the cost of a few things in the
>> driver being slightly less efficient. The hope was that this would
>> help shake out bugs introduced by my changes (of which there were
>> several that we encountered).
> That makes sense. Thanks.
>> Certainly some of these inefficiencies can (and should) be fixed.
>> I am
> > fine with introducing optimizations like the one you suggest as
> long as
> > we also aim to keep the driver readable and maintainable.
> What got me looking at this was valgrind complaining about target
> information being leaked. I've looked at this a little closer, and
> it appears that the leak is in the library code. I should be able
> to fix that.
> It also looks like there are some other things being recalculated
> unnecessarily, like header-include information. Would you mind if I
> try to lift those things out of the loop?
Feel free to refactor anything out of the loop that makes sense.
Thanks so much!
More information about the cfe-dev