[cfe-commits] r154078 - /cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

Anna Zaks ganna at apple.com
Wed Apr 4 19:10:21 PDT 2012


Author: zaks
Date: Wed Apr  4 21:10:21 2012
New Revision: 154078

URL: http://llvm.org/viewvc/llvm-project?rev=154078&view=rev
Log:
[analyzer] Move stats calculation out of AnalysisConsumer destructor.
The ASTConsumer does not get deleted with clang --analyze (for
performance reasons), we still want the diagnostics to work.

Modified:
    cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

Modified: cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp?rev=154078&r1=154077&r2=154078&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp Wed Apr  4 21:10:21 2012
@@ -125,13 +125,6 @@
   }
 
   ~AnalysisConsumer() {
-    // Count how many basic blocks we have not covered.
-    NumBlocksInAnalyzedFunctions = FunctionSummaries.getTotalNumBasicBlocks();
-    if (NumBlocksInAnalyzedFunctions > 0)
-      PercentReachableBlocks =
-        (FunctionSummaries.getTotalNumVisitedBasicBlocks() * 100) /
-          NumBlocksInAnalyzedFunctions;
-
     if (Opts.PrintStats)
       delete TUTotalTimer;
   }
@@ -383,6 +376,14 @@
   Mgr.reset(NULL);
 
   if (TUTotalTimer) TUTotalTimer->stopTimer();
+
+  // Count how many basic blocks we have not covered.
+  NumBlocksInAnalyzedFunctions = FunctionSummaries.getTotalNumBasicBlocks();
+  if (NumBlocksInAnalyzedFunctions > 0)
+    PercentReachableBlocks =
+      (FunctionSummaries.getTotalNumVisitedBasicBlocks() * 100) /
+        NumBlocksInAnalyzedFunctions;
+
 }
 
 static void FindBlocks(DeclContext *D, SmallVectorImpl<Decl*> &WL) {





More information about the cfe-commits mailing list