| // Copyright 2024 The IREE Authors |
| // |
| // Licensed under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| #ifndef IREE_COMPILER_PLUGINS_TARGET_LLVMCPU_RESOLVECPUANDCPUFEATURES_H_ |
| #define IREE_COMPILER_PLUGINS_TARGET_LLVMCPU_RESOLVECPUANDCPUFEATURES_H_ |
| |
| #include <string> |
| #include <string_view> |
| |
| namespace mlir::iree_compiler::IREE::HAL { |
| |
| enum class ResolveCPUAndCPUFeaturesStatus { |
| OK, |
| InconsistentHost, |
| UnimplementedMapping, |
| ImplicitGenericFallback |
| }; |
| |
| // Given an input `triple` and the input-output parameters `cpu` and |
| // `cpuFeatures`, which may be empty or the special "host" value, this function |
| // populates `cpu` and `cpuFeatures` with all the information that is known. |
| ResolveCPUAndCPUFeaturesStatus |
| resolveCPUAndCPUFeatures(std::string_view triple, std::string &cpu, |
| std::string &cpuFeatures); |
| |
| std::string getMessage(ResolveCPUAndCPUFeaturesStatus status, |
| std::string_view triple); |
| |
| } // namespace mlir::iree_compiler::IREE::HAL |
| |
| #endif // IREE_COMPILER_PLUGINS_TARGET_LLVMCPU_RESOLVECPUANDCPUFEATURES_H_ |