about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index b57695199f9..2a3d8aeb79e 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -16,6 +16,8 @@
 #include "llvm/PassManager.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/FormattedStream.h"
+#include "llvm/Support/Timer.h"
+#include "llvm/Support/raw_ostream.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetSelect.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -121,3 +123,13 @@ extern "C" LLVMValueRef LLVMRustConstSmallInt(LLVMTypeRef IntTy, unsigned N,
                                               LLVMBool SignExtend) {
   return LLVMConstInt(IntTy, (unsigned long long)N, SignExtend);
 }
+
+extern bool llvm::TimePassesIsEnabled;
+extern "C" void LLVMRustEnableTimePasses() {
+  TimePassesIsEnabled = true;
+}
+
+extern "C" void LLVMRustPrintPassTimings() {
+  raw_fd_ostream OS (2, false); // stderr.
+  TimerGroup::printAll(OS);
+}