From ba4801ee4f1dce995b901af47683115c2358d0e4 Mon Sep 17 00:00:00 2001 From: Anirudh Sundar Date: Fri, 26 Jul 2024 12:50:06 +0530 Subject: [PATCH] [LLVM] Fix for getHostCPUFeatures API change This patch fixes a minor API change in latest LLVM. --- src/target/llvm/codegen_llvm.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/target/llvm/codegen_llvm.cc b/src/target/llvm/codegen_llvm.cc index 6098a3f32f0d..4c5bea8c9b4b 100644 --- a/src/target/llvm/codegen_llvm.cc +++ b/src/target/llvm/codegen_llvm.cc @@ -2315,6 +2315,16 @@ TVM_REGISTER_GLOBAL("tvm.codegen.llvm.GetHostCPUName").set_body_typed([]() -> st TVM_REGISTER_GLOBAL("tvm.codegen.llvm.GetHostCPUFeatures") .set_body_typed([]() -> Map { +#if TVM_LLVM_VERSION >= 200 + Map ret; + auto features = llvm::sys::getHostCPUFeatures(); + for (auto it = features.begin(); it != features.end(); ++it) { + std::string name = it->getKey().str(); + bool value = it->getValue(); + ret.Set(name, IntImm(DataType::Bool(), value)); + } + return ret; +#else llvm::StringMap features; if (llvm::sys::getHostCPUFeatures(features)) { Map ret; @@ -2325,6 +2335,7 @@ TVM_REGISTER_GLOBAL("tvm.codegen.llvm.GetHostCPUFeatures") } return ret; } +#endif LOG(WARNING) << "Current version of LLVM does not support feature detection on your CPU"; return {}; });