[Support] Define sys::getHostCPUName for RISC-V
authorAndreas Schwab <schwab@suse.de>
Fri, 8 Oct 2021 17:08:39 +0000 (10:08 -0700)
committerFangrui Song <i@maskray.me>
Fri, 8 Oct 2021 17:08:39 +0000 (10:08 -0700)
The RISCV target doesn't define a "generic" cpu, only "generic-rv32" and
"generic-rv64".  Define sys::getHostCPUName for RISC-V that returns the
correct cpu for the host.

Reviewed By: craig.topper, MaskRay

Differential Revision: https://reviews.llvm.org/D105274

llvm/lib/Support/Host.cpp

index 20de52c..7b14616 100644 (file)
@@ -1356,6 +1356,16 @@ StringRef sys::getHostCPUName() {
     return "generic";
   }
 }
+#elif defined(__riscv)
+StringRef sys::getHostCPUName() {
+#if __riscv_xlen == 64
+  return "generic-rv64";
+#elif __riscv_xlen == 32
+  return "generic-rv32";
+#else
+#error "Unhandled value of __riscv_xlen"
+#endif
+}
 #else
 StringRef sys::getHostCPUName() { return "generic"; }
 namespace llvm {