diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-12 09:14:03 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-12 09:14:03 +0530 |
| commit | 9e2cf11c8951e73ec6d696a7fd3266c729dbe98b (patch) | |
| tree | b40700b4e8774a104c572ee5d00fff2fb51baabd /src/rustllvm/PassWrapper.cpp | |
| parent | 497f6b77c3196ef06af80beb071224b27c202c20 (diff) | |
| parent | 660b48fae5f54c4a4994b8c23550f580927775ab (diff) | |
| download | rust-9e2cf11c8951e73ec6d696a7fd3266c729dbe98b.tar.gz rust-9e2cf11c8951e73ec6d696a7fd3266c729dbe98b.zip | |
Rollup merge of #23238 - mahkoh:nativecpu, r=dotdash
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index ce3090390db..b205d87598c 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -14,6 +14,7 @@ #include "llvm/Support/CBindingWrapping.h" #include "llvm/Support/FileSystem.h" +#include "llvm/Support/Host.h" #include "llvm/Target/TargetLibraryInfo.h" #include "llvm/Transforms/IPO/PassManagerBuilder.h" @@ -83,6 +84,11 @@ LLVMRustCreateTargetMachine(const char *triple, return NULL; } + StringRef real_cpu = cpu; + if (real_cpu == "native") { + real_cpu = sys::getHostCPUName(); + } + TargetOptions Options; Options.PositionIndependentExecutable = PositionIndependentExecutable; Options.NoFramePointerElim = NoFramePointerElim; @@ -96,7 +102,7 @@ LLVMRustCreateTargetMachine(const char *triple, } TargetMachine *TM = TheTarget->createTargetMachine(Trip.getTriple(), - cpu, + real_cpu, feature, Options, RM, |
