| // 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_ |