diff options
| author | Graydon Hoare <[email protected]> | 2011-05-10 16:10:08 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-05-10 16:10:08 -0700 |
| commit | d6f1fcff6b056f1f0eb54989bbd2a68bf255ff22 (patch) | |
| tree | 71317080577dd8cac3cb0e0ce48e58960a9d1e96 /src/rustllvm | |
| parent | stdlib: Remove Str.unsafe_from_mutable_bytes(). rustc now self-hosts 18 secon... (diff) | |
| download | rust-d6f1fcff6b056f1f0eb54989bbd2a68bf255ff22.tar.xz rust-d6f1fcff6b056f1f0eb54989bbd2a68bf255ff22.zip | |
Add --time-llvm-passes.
Diffstat (limited to 'src/rustllvm')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 12 | ||||
| -rw-r--r-- | src/rustllvm/rustllvm.def.in | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index b5769519..2a3d8aeb 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); +} diff --git a/src/rustllvm/rustllvm.def.in b/src/rustllvm/rustllvm.def.in index 2da66c24..212c5be1 100644 --- a/src/rustllvm/rustllvm.def.in +++ b/src/rustllvm/rustllvm.def.in @@ -1,9 +1,11 @@ LLVMRustCreateMemoryBufferWithContentsOfFile +LLVMRustEnableTimePasses LLVMRustWriteOutputFile LLVMRustGetLastError LLVMRustGetHostTriple LLVMRustConstSmallInt LLVMRustParseBitcode +LLVMRustPrintPassTimings LLVMLinkModules LLVMCreateObjectFile LLVMDisposeObjectFile |