summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/Core/Transform.cpp
diff options
context:
space:
mode:
authorEdwin Vane <edwin.vane@intel.com>2013-05-30 17:48:11 +0000
committerEdwin Vane <edwin.vane@intel.com>2013-05-30 17:48:11 +0000
commitb76a13eb4ee46fabb7eb55fb13d5687d25db800f (patch)
treee2c98f8b18a66acacdcd7c9127874891eb99290b /clang-tools-extra/cpp11-migrate/Core/Transform.cpp
parent8fe6d11b84ddbde08aeeae528e208e82a3ecc3c5 (diff)
downloadbcm5719-llvm-b76a13eb4ee46fabb7eb55fb13d5687d25db800f.tar.gz
bcm5719-llvm-b76a13eb4ee46fabb7eb55fb13d5687d25db800f.zip
cpp11-migrate: Transforms collect timing data.
Using updated form of newFrontendActionFactory(), Transforms now automatically measure, if requested, how long it takes to apply a MatchFinder to a source file. Other per-transform overhead, e.g. applying replacements, is not currently measured. This behaviour is disabled for now and soon will be connected to a new command line arg. llvm-svn: 182942
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/Core/Transform.cpp')
-rw-r--r--clang-tools-extra/cpp11-migrate/Core/Transform.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang-tools-extra/cpp11-migrate/Core/Transform.cpp b/clang-tools-extra/cpp11-migrate/Core/Transform.cpp
index d235356075f..c6bb835321d 100644
--- a/clang-tools-extra/cpp11-migrate/Core/Transform.cpp
+++ b/clang-tools-extra/cpp11-migrate/Core/Transform.cpp
@@ -35,3 +35,19 @@ void collectResults(clang::Rewriter &Rewrite,
Results[Entry->getName()] = ResultBuf;
}
}
+
+bool Transform::handleBeginSource(CompilerInstance &CI, StringRef Filename) {
+ if (!EnableTiming)
+ return true;
+
+ Timings.push_back(std::make_pair(Filename.str(), llvm::TimeRecord()));
+ Timings.back().second -= llvm::TimeRecord::getCurrentTime(true);
+ return true;
+}
+
+void Transform::handleEndSource() {
+ if (!EnableTiming)
+ return;
+
+ Timings.back().second += llvm::TimeRecord::getCurrentTime(false);
+}
OpenPOWER on IntegriCloud