diff options
| author | bors <bors@rust-lang.org> | 2013-12-09 16:11:28 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-12-09 16:11:28 -0800 |
| commit | 29ca4350c8d64facb39311660e8ee919766f481a (patch) | |
| tree | 89cc0a532846f00be6159ea2eb5b3c8f3d9cf058 /src/rustllvm/PassWrapper.cpp | |
| parent | f817ed3e6f39e6e0b1a8ec968ea0ad3c1bc36ba5 (diff) | |
| parent | fce4a174b9ffff71a66feecd9f4960f17fc9c331 (diff) | |
| download | rust-29ca4350c8d64facb39311660e8ee919766f481a.tar.gz rust-29ca4350c8d64facb39311660e8ee919766f481a.zip | |
auto merge of #10812 : alexcrichton/rust/lto, r=pcwalton
The first commit was approved from another pull request, but I wanted to rebase LTO on top of it. LTO is not turned on by default at all, and it's hidden behind a `-Z` flag. I have added a few small tests for it, however.
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 0ae8991b2e7..76e24faebd9 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -211,3 +211,11 @@ extern "C" void LLVMRustAddAlwaysInlinePass(LLVMPassManagerBuilderRef PMB, bool AddLifetimes) { unwrap(PMB)->Inliner = createAlwaysInlinerPass(AddLifetimes); } + +extern "C" void +LLVMRustRunRestrictionPass(LLVMModuleRef M, char **symbols, size_t len) { + PassManager passes; + ArrayRef<const char*> ref(symbols, len); + passes.add(llvm::createInternalizePass(ref)); + passes.run(*unwrap(M)); +} |
