diff options
author | Anna Zaks <ganna@apple.com> | 2012-03-09 21:14:01 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-03-09 21:14:01 +0000 |
commit | 394d07ea88d6f748b18a2571e7deb41ff81c9b6e (patch) | |
tree | 521e31b96d9828401aebfe6958af136bf3e873e2 /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | |
parent | c255577062e9b97d559ffdaaf258e99e07ce902e (diff) | |
download | bcm5719-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.cpp | 5 |
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(), |