Skip to content

Commit ab54bbd

Browse files
committed
Fix path running time per entry point recording
1 parent 07bcb96 commit ab54bbd

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
#include "llvm/Support/TimeProfiler.h"
4040
#include "llvm/Support/Timer.h"
4141
#include "llvm/Support/raw_ostream.h"
42+
#include <cmath>
4243
#include <memory>
4344
#include <utility>
4445

@@ -142,7 +143,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
142143
DigestAnalyzerOptions();
143144

144145
if (Opts.AnalyzerDisplayProgress || Opts.PrintStats ||
145-
Opts.ShouldSerializeStats) {
146+
Opts.ShouldSerializeStats || !Opts.DumpEntryPointStatsToCSV.empty()) {
146147
AnalyzerTimers = std::make_unique<llvm::TimerGroup>(
147148
"analyzer", "Analyzer timers");
148149
SyntaxCheckTimer = std::make_unique<llvm::Timer>(
@@ -788,6 +789,8 @@ void AnalysisConsumer::RunPathSensitiveChecks(Decl *D,
788789
ExprEngineTimer->stopTimer();
789790
llvm::TimeRecord ExprEngineEndTime = ExprEngineTimer->getTotalTime();
790791
ExprEngineEndTime -= ExprEngineStartTime;
792+
PathRunningTime.set(static_cast<unsigned>(
793+
std::lround(ExprEngineEndTime.getWallTime() * 1000)));
791794
DisplayTime(ExprEngineEndTime);
792795
}
793796

clang/test/Analysis/analyzer-stats/entry-point-stats.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
// CHECK-NEXT: "c:@F@fib#i#": {
99
// CHECK-NEXT: "File": "{{.*}}/entry-point-stats.cpp",
1010
// CHECK-NEXT: "DebugName": "fib(unsigned int)",
11-
// CHECK-NEXT: "PathRunningTime": "",
11+
// CHECK-NEXT: "PathRunningTime": "{{[0-9]+}}",
1212
// CHECK-NEXT: "MaxBugClassSize": "{{[0-9]+}}",
1313
// CHECK-NEXT: "MaxCFGSize": "{{[0-9]+}}",
1414
// CHECK-NEXT: "MaxQueueSize": "{{[0-9]+}}",
@@ -45,7 +45,7 @@
4545
// CHECK-NEXT: "c:@F@main#I#**C#": {
4646
// CHECK-NEXT: "File": "{{.*}}/entry-point-stats.cpp",
4747
// CHECK-NEXT: "DebugName": "main(int, char **)",
48-
// CHECK-NEXT: "PathRunningTime": "",
48+
// CHECK-NEXT: "PathRunningTime": "{{[0-9]+}}",
4949
// CHECK-NEXT: "MaxBugClassSize": "{{[0-9]+}}",
5050
// CHECK-NEXT: "MaxCFGSize": "{{[0-9]+}}",
5151
// CHECK-NEXT: "MaxQueueSize": "{{[0-9]+}}",

0 commit comments

Comments
 (0)