################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/src/iree/compiler/Codegen/LLVMGPU/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
    MLIRNVGPUDialect
    MLIRPass
    MLIRTransforms
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Dialect::HAL::IR
    iree::compiler::Utils
  PUBLIC
)

iree_tablegen_library(
  NAME
    ROCDLPassesIncGen
  TD_FILE
    "ROCDLPasses.td"
  OUTS
    --gen-pass-decls ROCDLPasses.h.inc
)

iree_cc_library(
  NAME
    ROCDLPassHeaders
  HDRS
    "ROCDLPasses.h"
    "ROCDLPasses.h.inc"
  DEPS
    ::ROCDLPassesIncGen
    MLIRPass
    iree::compiler::Dialect::HAL::IR
  PUBLIC
)

iree_cc_library(
  NAME
    LLVMGPU
  HDRS
    "ConvertToLLVM.h"
    "KernelConfig.h"
    "Passes.h"
    "ROCDLKernelConfig.h"
    "ROCDLPasses.h"
  SRCS
    "ConvertToLLVM.cpp"
    "ConvertToNVVM.cpp"
    "ConvertToROCDL.cpp"
    "ExtractAddressComputationGPUPass.cpp"
    "KernelConfig.cpp"
    "LLVMGPUAssignConstantOrdinals.cpp"
    "LLVMGPUCastAddressSpaceFunction.cpp"
    "LLVMGPUCastTypeToFitMMA.cpp"
    "LLVMGPUConfigureTensorLayouts.cpp"
    "LLVMGPULinkExecutables.cpp"
    "LLVMGPULowerExecutableTarget.cpp"
    "LLVMGPUPackSharedMemoryAlloc.cpp"
    "LLVMGPUPrefetching.cpp"
    "LLVMGPUPromoteMatmulToFitMMA.cpp"
    "LLVMGPUSelectLoweringStrategy.cpp"
    "LLVMGPUTensorCoreVectorization.cpp"
    "LLVMGPUTensorPad.cpp"
    "LLVMGPUTileAndDistribute.cpp"
    "LLVMGPUVectorDistribute.cpp"
    "LLVMGPUVectorLowering.cpp"
    "LLVMGPUVectorToGPU.cpp"
    "Passes.cpp"
    "ROCDLAnnotateKernelForTranslation.cpp"
    "ROCDLKernelConfig.cpp"
    "ROCDLLowerExecutableTarget.cpp"
    "ROCDLSelectLoweringStrategy.cpp"
    "TestLLVMGPUQueryMMAPass.cpp"
    "Verifiers.cpp"
  DEPS
    ::PassHeaders
    ::PassesIncGen
    ::ROCDLPassHeaders
    ::ROCDLPassesIncGen
    IREELinalgTransformDialect
    IREELinalgTransformDialectPasses
    LLVMSupport
    MLIRAMDGPUDialect
    MLIRAMDGPUToROCDL
    MLIRAMDGPUTransforms
    MLIRAMDGPUUtils
    MLIRAffineDialect
    MLIRAffineToStandard
    MLIRAffineTransforms
    MLIRAnalysis
    MLIRArithDialect
    MLIRArithToAMDGPU
    MLIRArithToLLVM
    MLIRArithTransforms
    MLIRBufferizationDialect
    MLIRBufferizationTransforms
    MLIRComplexToLLVM
    MLIRComplexToStandard
    MLIRControlFlowToLLVM
    MLIRFuncDialect
    MLIRFuncToLLVM
    MLIRFuncTransforms
    MLIRFunctionInterfaces
    MLIRGPUDialect
    MLIRGPUToNVVMTransforms
    MLIRGPUToROCDLTransforms
    MLIRGPUTransformOps
    MLIRGPUTransforms
    MLIRIR
    MLIRLLVMCommonConversion
    MLIRLLVMDialect
    MLIRLinalgDialect
    MLIRLinalgTransforms
    MLIRMathDialect
    MLIRMathToLLVM
    MLIRMemRefDialect
    MLIRMemRefToLLVM
    MLIRMemRefTransforms
    MLIRNVGPUDialect
    MLIRNVGPUToNVVM
    MLIRNVGPUTransforms
    MLIRNVGPUUtils
    MLIRNVVMDialect
    MLIRNVVMToLLVM
    MLIRPDLDialect
    MLIRPDLInterpDialect
    MLIRPass
    MLIRROCDLDialect
    MLIRROCDLTarget
    MLIRROCDLToLLVMIRTranslation
    MLIRSCFDialect
    MLIRSCFToControlFlow
    MLIRSCFTransforms
    MLIRSideEffectInterfaces
    MLIRSupport
    MLIRTensorDialect
    MLIRTransformDialect
    MLIRTransformUtils
    MLIRTransforms
    MLIRValueBoundsOpInterface
    MLIRVectorDialect
    MLIRVectorToGPU
    MLIRVectorToLLVM
    MLIRVectorToSCF
    MLIRVectorTransforms
    iree::compiler::Codegen::Common
    iree::compiler::Codegen::Common::GPU::CommonGPUPasses
    iree::compiler::Codegen::Common::GPU::GPUHeuristics
    iree::compiler::Codegen::Common::TransformDialectInterpreterPass
    iree::compiler::Codegen::Common::VectorLayoutAnalysis
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Codegen::Dialect::GPU::IR::IREEGPUDialect
    iree::compiler::Codegen::Dialect::GPU::TargetUtils::ConfigUtils
    iree::compiler::Codegen::Dialect::GPU::Transforms::GPUTransforms
    iree::compiler::Codegen::Dialect::VectorExt::IR::IREEVectorExtDialect
    iree::compiler::Codegen::Dialect::VectorExt::Transforms::VectorExtTransforms
    iree::compiler::Codegen::Interfaces::PartitionableLoopsInterface
    iree::compiler::Codegen::Interfaces::UKernelOpInterface
    iree::compiler::Codegen::LLVMGPU::TransformExtensions::LLVMGPUExtensions
    iree::compiler::Codegen::LLVMGPU::Utils
    iree::compiler::Codegen::Transforms
    iree::compiler::Codegen::Utils
    iree::compiler::Codegen::Utils::VectorOpUtils
    iree::compiler::Dialect::Flow::IR
    iree::compiler::Dialect::Flow::Transforms
    iree::compiler::Dialect::HAL::IR
    iree::compiler::Dialect::HAL::Transforms
    iree::compiler::Dialect::LinalgExt::IR
    iree::compiler::Dialect::LinalgExt::Transforms
    iree::compiler::Dialect::LinalgExt::Utils
    iree::compiler::Dialect::Util::IR
    iree::compiler::Dialect::Util::Transforms
    iree::compiler::Utils
  PUBLIC
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
