diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2014-08-09 12:43:45 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2014-10-12 09:18:14 -0400 |
| commit | 4deb4bcba590e707e23670d8b40bc5520c5ab7fe (patch) | |
| tree | b526b8d7a52e985301ee3a96e7aaf95b01453c1a /src/rustllvm/PassWrapper.cpp | |
| parent | 86509d8d7ab68c5e4202dea9ff1bfb79409f2f8d (diff) | |
| download | rust-4deb4bcba590e707e23670d8b40bc5520c5ab7fe.tar.gz rust-4deb4bcba590e707e23670d8b40bc5520c5ab7fe.zip | |
optimize position independent code in executables
Position independent code has fewer requirements in executables, so pass the appropriate flag to LLVM in order to allow more optimization. At the moment this means faster thread-local storage.
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index eb074001d58..ce3090390db 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -71,6 +71,7 @@ LLVMRustCreateTargetMachine(const char *triple, bool EnableSegmentedStacks, bool UseSoftFloat, bool NoFramePointerElim, + bool PositionIndependentExecutable, bool FunctionSections, bool DataSections) { std::string Error; @@ -83,6 +84,7 @@ LLVMRustCreateTargetMachine(const char *triple, } TargetOptions Options; + Options.PositionIndependentExecutable = PositionIndependentExecutable; Options.NoFramePointerElim = NoFramePointerElim; #if LLVM_VERSION_MINOR < 5 Options.EnableSegmentedStacks = EnableSegmentedStacks; |
