diff options
| author | bors <bors@rust-lang.org> | 2017-09-20 12:24:49 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-20 12:24:49 +0000 |
| commit | 4cdb36262b93390c8733a1ce44665619d9348981 (patch) | |
| tree | bf4dd15c310505c6ba4f86bb6bd41d56aaa050e6 /src/rustllvm/PassWrapper.cpp | |
| parent | 183329cf738e8903058484845338f59a9e14d094 (diff) | |
| parent | 824fb3817c0cbcb3a31a705d02a77219c8331608 (diff) | |
| download | rust-4cdb36262b93390c8733a1ce44665619d9348981.tar.gz rust-4cdb36262b93390c8733a1ce44665619d9348981.zip | |
Auto merge of #44407 - mattico:print-native-cpu, r=arielb1
Add 'native' to -C target-cpu=help Fixes #44393
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"); |
