################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/src/iree/compiler/Codegen/LLVMCPU/BUILD.bazel                       #
#                                                                              #
# Use iree_cmake_extra_content from iree/build_defs.oss.bzl to add arbitrary   #
# CMake-only content.                                                          #
#                                                                              #
# To disable autogeneration for this file entirely, delete this header.        #
################################################################################

iree_add_all_subdirs()

iree_tablegen_library(
  NAME
    PassesIncGen
  TD_FILE
    "Passes.td"
  OUTS
    --gen-pass-decls Passes.h.inc
)

iree_cc_library(
  NAME
    PassHeaders
  HDRS
    "Passes.h"
    "Passes.h.inc"
  DEPS
    ::PassesIncGen
    MLIRLinalgTransforms
    MLIRMemRefDialect
    MLIRPass
    MLIRTransformUtils
    MLIRTransforms
    iree::compiler::Codegen::Dialect::CPU::IR::IREECPUDialect
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Dialect::HAL::IR
    iree::compiler::Utils
  PUBLIC
)

iree_cc_library(
  NAME
    LLVMCPU
  HDRS
    "DispatchABI.h"
    "KernelDispatch.h"
    "LLVMCPUSelectUKernels.h"
    "Passes.h"
    "TargetMLTransformInfo.h"
    "Utils.h"
  SRCS
    "ConvertToLLVM.cpp"
    "DispatchABI.cpp"
    "ExpandF16OpToF32.cpp"
    "KernelDispatch.cpp"
    "LLVMCPU2DScalableTo1DScalable.cpp"
    "LLVMCPUAssignConstantOrdinals.cpp"
    "LLVMCPUAssignImportOrdinals.cpp"
    "LLVMCPUAssignWorkgroupLocalMemory.cpp"
    "LLVMCPUCheckIRBeforeLLVMConversion.cpp"
    "LLVMCPUEmitVectorizationRemarks.cpp"
    "LLVMCPULinkExecutables.cpp"
    "LLVMCPULowerExecutableTarget.cpp"
    "LLVMCPUMmt4dVectorLowering.cpp"
    "LLVMCPUPeel.cpp"
    "LLVMCPUSelectLoweringStrategy.cpp"
    "LLVMCPUSelectUKernels.cpp"
    "LLVMCPUSplitReduction.cpp"
    "LLVMCPUSynchronizeSymbolVisibility.cpp"
    "LLVMCPUTile.cpp"
    "LLVMCPUTileAndFuseProducerConsumer.cpp"
    "LLVMCPUTileToVectorSize.cpp"
    "LLVMCPUUnfuseFMAOps.cpp"
    "LLVMCPUVectorShapeCastLowering.cpp"
    "LLVMCPUVectorTransposeLowering.cpp"
    "LLVMCPUVerifyVectorSizeLegality.cpp"
    "LLVMCPUVirtualVectorLowering.cpp"
    "Passes.cpp"
    "TargetMLTransformInfo.cpp"
    "Utils.cpp"
    "VectorContractCustomKernels.cpp"
    "VerifyLinalgTransformLegality.cpp"
  DEPS
    ::PassHeaders
    ::PassesIncGen
    LLVMBinaryFormat
    LLVMSupport
    LLVMTargetParser
    MLIRAffineDialect
    MLIRAffineToStandard
    MLIRAffineTransforms
    MLIRAffineUtils
    MLIRAnalysis
    MLIRArithDialect
    MLIRArithToArmSME
    MLIRArithToLLVM
    MLIRArithTransforms
    MLIRArmNeon2dToIntr
    MLIRArmNeonDialect
    MLIRArmNeonTransforms
    MLIRArmSMEToLLVM
    MLIRArmSMEToLLVMIRTranslation
    MLIRArmSMEToSCF
    MLIRArmSMETransforms
    MLIRArmSVEDialect
    MLIRArmSVETransforms
    MLIRBufferizationDialect
    MLIRComplexToLLVM
    MLIRComplexToStandard
    MLIRControlFlowToLLVM
    MLIRFuncDialect
    MLIRFuncToLLVM
    MLIRFuncTransforms
    MLIRFunctionInterfaces
    MLIRIR
    MLIRIndexToLLVM
    MLIRIndexingMapOpInterface
    MLIRLLVMCommonConversion
    MLIRLLVMDialect
    MLIRLinalgDialect
    MLIRLinalgInterfacesIncGenLib
    MLIRLinalgTransforms
    MLIRLinalgUtils
    MLIRMathDialect
    MLIRMathToLLVM
    MLIRMathTransforms
    MLIRMemRefDialect
    MLIRMemRefToLLVM
    MLIRMemRefTransforms
    MLIRMemRefUtils
    MLIRPDLDialect
    MLIRPDLInterpDialect
    MLIRPass
    MLIRReconcileUnrealizedCasts
    MLIRSCFDialect
    MLIRSCFToControlFlow
    MLIRSCFTransforms
    MLIRSCFUtils
    MLIRTensorDialect
    MLIRTensorTransforms
    MLIRTilingInterface
    MLIRTosaDialect
    MLIRTosaToArith
    MLIRTransformDialect
    MLIRTransformUtils
    MLIRTransforms
    MLIRUBDialect
    MLIRUBToLLVM
    MLIRValueBoundsOpInterface
    MLIRVectorDialect
    MLIRVectorToArmSME
    MLIRVectorToLLVM
    MLIRVectorToSCF
    MLIRVectorTransforms
    MLIRX86Transforms
    iree::compiler::Codegen::Common
    iree::compiler::Codegen::Common::CPU::CommonCPUPasses
    iree::compiler::Codegen::Common::TransformDialectInterpreterPass
    iree::compiler::Codegen::Dialect::CPU::IR::IREECPUDialect
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Codegen::Dialect::Codegen::Transforms::IREECodegenTransforms
    iree::compiler::Codegen::Dialect::Codegen::Utils
    iree::compiler::Codegen::Dialect::VectorExt::IR::IREEVectorExtDialect
    iree::compiler::Codegen::Dialect::VectorExt::Transforms::VectorExtTransforms
    iree::compiler::Codegen::Interfaces::PartitionableLoopsInterface
    iree::compiler::Codegen::Transforms
    iree::compiler::Codegen::Utils
    iree::compiler::Codegen::Utils::CodegenOptions
    iree::compiler::Dialect::HAL::IR
    iree::compiler::Dialect::HAL::IR::HALDialect
    iree::compiler::Dialect::LinalgExt::IR
    iree::compiler::Dialect::LinalgExt::Transforms
    iree::compiler::Dialect::LinalgExt::Utils
    iree::compiler::Dialect::TensorExt::IR
    iree::compiler::Dialect::Util::Analysis
    iree::compiler::Dialect::Util::IR
    iree::compiler::Dialect::Util::Transforms
    iree::compiler::Transforms
    iree::compiler::Utils
    iree::schemas::cpu_data
    iree::schemas::instruments
  PUBLIC
)

iree_tablegen_doc(
  NAME
    CodegenLLVMCPUPassesDocGen
  CATEGORY
    "Passes"
  TD_FILE
    "Passes.td"
  OUTS
    --gen-pass-doc CodegenLLVMCPUPasses.md
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
