diff options
| author | Matt Ickstadt <mattico8@gmail.com> | 2017-09-07 20:07:16 -0500 |
|---|---|---|
| committer | Matt Ickstadt <mattico8@gmail.com> | 2017-09-15 00:32:59 -0500 |
| commit | 824fb3817c0cbcb3a31a705d02a77219c8331608 (patch) | |
| tree | 668e463f5f1f05f769a59e6e25473f3cc8f4d2ab /src/rustllvm/PassWrapper.cpp | |
| parent | 2f1ef9ef1181298d46e79d5dde6bafeb6483926f (diff) | |
| download | rust-824fb3817c0cbcb3a31a705d02a77219c8331608.tar.gz rust-824fb3817c0cbcb3a31a705d02a77219c8331608.zip | |
Add 'native' to -C target-cpu=help
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index ba0c4fbe173..2f966e5a1c5 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -299,10 +299,17 @@ static size_t getLongestEntryLength(ArrayRef<SubtargetFeatureKV> Table) { extern "C" void LLVMRustPrintTargetCPUs(LLVMTargetMachineRef TM) { const TargetMachine *Target = unwrap(TM); const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo(); + const Triple::ArchType HostArch = Triple(sys::getProcessTriple()).getArch(); + const Triple::ArchType TargetArch = Target->getTargetTriple().getArch(); const ArrayRef<SubtargetFeatureKV> CPUTable = MCInfo->getCPUTable(); unsigned MaxCPULen = getLongestEntryLength(CPUTable); printf("Available CPUs for this target:\n"); + if (HostArch == TargetArch) { + const StringRef HostCPU = sys::getHostCPUName(); + printf(" %-*s - Select the CPU of the current host (currently %.*s).\n", + MaxCPULen, "native", (int)HostCPU.size(), HostCPU.data()); + } for (auto &CPU : CPUTable) printf(" %-*s - %s.\n", MaxCPULen, CPU.Key, CPU.Desc); printf("\n"); |
