summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-10-23 23:59:05 +0000
committerJordan Rose <jordan_rose@apple.com>2012-10-23 23:59:05 +0000
commit746c06d0bc578c1fb66e31b55ffec75ff8fe021b (patch)
tree367f893b3f76c3b0b3a00f0ee2eb9f190adb95c1 /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
parenta96da4773cb9d5867a2e59a7f3a67d24b9dd8447 (diff)
downloadbcm5719-llvm-746c06d0bc578c1fb66e31b55ffec75ff8fe021b.tar.gz
bcm5719-llvm-746c06d0bc578c1fb66e31b55ffec75ff8fe021b.zip
[analyzer] Replace -analyzer-no-eagerly-trim-egraph with graph-trim-interval.
After every 1000 CFGElements processed, the ExplodedGraph trims out nodes that satisfy a number of criteria for being "boring" (single predecessor, single successor, and more). Rather than controlling this with a cc1 option, which can only disable this behavior, we now have an analyzer-config option, 'graph-trim-interval', which can change this interval from 1000 to something else. Setting the value to 0 disables reclamation. The next commit relies on this behavior to actually test anything. llvm-svn: 166528
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngine.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
index 213ab7ad5cc..08f8405c4b2 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -72,10 +72,11 @@ ExprEngine::ExprEngine(AnalysisManager &mgr, bool gcEnabled,
ObjCGCEnabled(gcEnabled), BR(mgr, *this),
VisitedCallees(VisitedCalleesIn)
{
- if (mgr.options.eagerlyTrimExplodedGraph) {
- // Enable eager node reclaimation when constructing the ExplodedGraph.
- G.enableNodeReclamation();
- }
+ unsigned TrimInterval = mgr.options.getGraphTrimInterval();
+ if (TrimInterval != 0) {
+ // Enable eager node reclaimation when constructing the ExplodedGraph.
+ G.enableNodeReclamation(TrimInterval);
+ }
}
ExprEngine::~ExprEngine() {
OpenPOWER on IntegriCloud