[cfe-dev] [analyzer] Summary IPA thoughts

Aleksei Sidorin via cfe-dev cfe-dev at lists.llvm.org
Thu Oct 22 04:01:15 PDT 2015


> You can possibly trim the summary down substantially by doing a BFS 
> from the exit/error nodes of the graph to the entrance nodes. We use 
> this trick when displaying trimmed graphs in GraphViz to show a path 
> to an error node. That could result in a massive savings. 

Hello Ted,

Currently we use trimming but in another way. We need to keep all the 
branches of ExplodedGraph since they form a summary. Instead, after 
analysis is finished, we reclaim some graph nodes that are not 
Summary[Pre/Post]Apply, not have tag, not are branching nodes and not 
are root/end nodes (shouldCollectNode() was modified a bit to support 
this "aggressive" mode). This reduces node count in resulting graph in 
2-3 times. However, there is still room for memory optimization - for 
example, removing GDM entries from states that are not used neither in 
summary nor in report construction.

-- 
Best regards,
Aleksei Sidorin
Software Engineer,
IMSWL-IMCG, SRR, Samsung Electronics




More information about the cfe-dev mailing list