diff options
| author | Anna Zaks <ganna@apple.com> | 2013-01-30 19:12:39 +0000 |
|---|---|---|
| committer | Anna Zaks <ganna@apple.com> | 2013-01-30 19:12:39 +0000 |
| commit | c84d151892303a86478ec8ed7b12d0e03d6747c9 (patch) | |
| tree | 6fe277d5bf7fbc7948c38f3bb9ebf00ad5db8540 /clang/lib/StaticAnalyzer/Frontend | |
| parent | 66b9f1660eac648d55a147e658c2e256ca2320fb (diff) | |
| download | bcm5719-llvm-c84d151892303a86478ec8ed7b12d0e03d6747c9.tar.gz bcm5719-llvm-c84d151892303a86478ec8ed7b12d0e03d6747c9.zip | |
[analyzer] Make shallow mode more shallow.
Redefine the shallow mode to inline all functions for which we have a
definite definition (ipa=inlining). However, only inline functions that
are up to 4 basic blocks large and cut the max exploded nodes generated
per top level function in half.
This makes shallow faster and allows us to keep inlining small
functions. For example, we would keep inlining wrapper functions and
constructors/destructors.
With the new shallow, it takes 104s to analyze sqlite3, whereas
the deep mode is 658s and previous shallow is 209s.
llvm-svn: 173958
Diffstat (limited to 'clang/lib/StaticAnalyzer/Frontend')
| -rw-r--r-- | clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp index c2c5256d9ce..a3195305525 100644 --- a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -616,7 +616,7 @@ void AnalysisConsumer::ActionExprEngine(Decl *D, bool ObjCGCEnabled, // Execute the worklist algorithm. Eng.ExecuteWorkList(Mgr->getAnalysisDeclContextManager().getStackFrame(D), - Mgr->options.MaxNodes); + Mgr->options.getMaxNodesPerTopLevelFunction()); // Release the auditor (if any) so that it doesn't monitor the graph // created BugReporter. |

