diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-08-03 00:09:51 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-08-03 00:09:51 +0000 |
commit | 4a2b237967010f18d60e22e81b79a0a915b994a8 (patch) | |
tree | 8286eaaaf7f1586c3b25ac91e285d28225b099d7 /clang/lib/Analysis/AnalysisContext.cpp | |
parent | 7cac95778f234953b5c7a1a41b1a2bcd4fe0e7e1 (diff) | |
download | bcm5719-llvm-4a2b237967010f18d60e22e81b79a0a915b994a8.tar.gz bcm5719-llvm-4a2b237967010f18d60e22e81b79a0a915b994a8.zip |
Add -cc1 option '-unoptimized-cfg' to toggle using a CFG (for static analysis) that doesn't prune CFG edges.
llvm-svn: 110087
Diffstat (limited to 'clang/lib/Analysis/AnalysisContext.cpp')
-rw-r--r-- | clang/lib/Analysis/AnalysisContext.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Analysis/AnalysisContext.cpp b/clang/lib/Analysis/AnalysisContext.cpp index ef0a50f98ee..ced4f1dd2ee 100644 --- a/clang/lib/Analysis/AnalysisContext.cpp +++ b/clang/lib/Analysis/AnalysisContext.cpp @@ -54,6 +54,9 @@ const ImplicitParamDecl *AnalysisContext::getSelfDecl() const { } CFG *AnalysisContext::getCFG() { + if (UseUnoptimizedCFG) + return getUnoptimizedCFG(); + if (!builtCFG) { cfg = CFG::buildCFG(D, getBody(), &D->getASTContext(), true, AddEHEdges); // Even when the cfg is not successfully built, we don't @@ -98,7 +101,7 @@ AnalysisContext *AnalysisContextManager::getContext(const Decl *D, idx::TranslationUnit *TU) { AnalysisContext *&AC = Contexts[D]; if (!AC) - AC = new AnalysisContext(D, TU); + AC = new AnalysisContext(D, TU, UseUnoptimizedCFG); return AC; } |