[Statistics] Use the new Statistic::updateMax to atomically calculate a maximum value...
authorCraig Topper <craig.topper@gmail.com>
Thu, 18 May 2017 01:11:52 +0000 (01:11 +0000)
committerCraig Topper <craig.topper@gmail.com>
Thu, 18 May 2017 01:11:52 +0000 (01:11 +0000)
llvm-svn: 303320

clang/lib/StaticAnalyzer/Core/BugReporter.cpp
clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

index 2114033..2c3169c 100644 (file)
@@ -3448,14 +3448,12 @@ void BugReporter::FlushReport(BugReport *exampleReport,
     // the BugReporterVisitors may mark this bug as a false positive.
     assert(!bugReports.empty());
 
-    MaxBugClassSize =
-        std::max(bugReports.size(), static_cast<size_t>(MaxBugClassSize));
+    MaxBugClassSize.updateMax(bugReports.size());
 
     if (!generatePathDiagnostic(*D.get(), PD, bugReports))
       return;
 
-    MaxValidBugClassSize =
-        std::max(bugReports.size(), static_cast<size_t>(MaxValidBugClassSize));
+    MaxValidBugClassSize.updateMax(bugReports.size());
 
     // Examine the report and see if the last piece is in a header. Reset the
     // report location to the last piece in the main source file.
index 0fe0f3a..c47edc7 100644 (file)
@@ -674,10 +674,8 @@ void AnalysisConsumer::HandleCode(Decl *D, AnalysisMode Mode,
 
   DisplayFunction(D, Mode, IMode);
   CFG *DeclCFG = Mgr->getCFG(D);
-  if (DeclCFG) {
-    unsigned CFGSize = DeclCFG->size();
-    MaxCFGSize = MaxCFGSize < CFGSize ? CFGSize : MaxCFGSize;
-  }
+  if (DeclCFG)
+    MaxCFGSize.updateMax(DeclCFG->size());
 
   BugReporter BR(*Mgr);