r175988 - [analyzer] tracking stores/constraints now works for ObjC ivars or struct fields.
Jordan Rose
jordan_rose at apple.com
Mon Feb 25 13:28:35 PST 2013
On Feb 25, 2013, at 13:23 , Ted Kremenek <kremenek at apple.com> wrote:
> I found one possible optimization opportunity that recovers most of this cost. It occurs to me that ExplodedNodes with a ProgramPoint of PreStmtPurgeDeadSymbols are no longer needed after they have a single successor. That is, we use them as a mechanism for processing work in ExprEngine, but they don't appear to be used by any client code in the analyzer once we are done removing dead bindings and have generated a PostStmtPurgeDeadSymbols node.
>
> With that optimization added on to the extra retained nodes for "interesting lvalue expressions", I only see a 2% increase in memory usage from the original baseline before my change. While that isn't totally awesome, I think that's far more acceptable since it really improves the fidelity of our diagnostics.
Seems reasonable about PreStmtPurgeDeadSymbols, and sounds good for a 2% increase. Lvalues are good to have around for a variety of diagnostics.
Thanks for looking into this.
Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130225/7c9a9080/attachment.html>
More information about the cfe-commits
mailing list