summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-03-09 21:14:01 +0000
committerAnna Zaks <ganna@apple.com>2012-03-09 21:14:01 +0000
commit394d07ea88d6f748b18a2571e7deb41ff81c9b6e (patch)
tree521e31b96d9828401aebfe6958af136bf3e873e2 /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
parentc255577062e9b97d559ffdaaf258e99e07ce902e (diff)
downloadbcm5719-llvm-394d07ea88d6f748b18a2571e7deb41ff81c9b6e.tar.gz
bcm5719-llvm-394d07ea88d6f748b18a2571e7deb41ff81c9b6e.zip
[analyzer] Add support for NoRedundancy inlining mode.
We do not reanalyze a function, which has already been analyzed as an inlined callee. As per PRELIMINARY testing, this gives over 50% run time reduction on some benchmarks without decreasing of the number of bugs found. Turning the mode on by default. llvm-svn: 152440
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
index d19cc9c7d3d..63027175cad 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -57,10 +57,11 @@ static inline Selector GetNullarySelector(const char* name, ASTContext &Ctx) {
// Engine construction and deletion.
//===----------------------------------------------------------------------===//
-ExprEngine::ExprEngine(AnalysisManager &mgr, bool gcEnabled)
+ExprEngine::ExprEngine(AnalysisManager &mgr, bool gcEnabled,
+ SetOfDecls *VisitedCallees)
: AMgr(mgr),
AnalysisDeclContexts(mgr.getAnalysisDeclContextManager()),
- Engine(*this),
+ Engine(*this, VisitedCallees),
G(Engine.getGraph()),
StateMgr(getContext(), mgr.getStoreManagerCreator(),
mgr.getConstraintManagerCreator(), G.getAllocator(),
OpenPOWER on IntegriCloud