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

iree_cc_library(
  NAME
    CommonGPUPasses
  HDRS
    "GPUPatterns.h"
    "GPUVectorDistribution.h"
    "Passes.h"
  SRCS
    "AMDGPUDistributeContract.cpp"
    "ExpandGPUOps.cpp"
    "GPUApplyTilingLevel.cpp"
    "GPUCheckResourceUsage.cpp"
    "GPUCombineValueBarriers.cpp"
    "GPUCreateFastSlowPath.cpp"
    "GPUDistribute.cpp"
    "GPUDistributeForall.cpp"
    "GPUDistributeScfFor.cpp"
    "GPUDistributeSharedMemoryCopy.cpp"
    "GPUDistributionPatterns.cpp"
    "GPUFuseAndHoistParallelLoops.cpp"
    "GPUGeneralizeNamedOps.cpp"
    "GPUGreedilyDistributeToThreads.cpp"
    "GPUInferMemorySpace.cpp"
    "GPULowerToUKernels.cpp"
    "GPUMultiBuffering.cpp"
    "GPUNestedLayoutDistributionPatterns.cpp"
    "GPUPackToIntrinsics.cpp"
    "GPUPadOperands.cpp"
    "GPUPatterns.cpp"
    "GPUPipelining.cpp"
    "GPUPromoteMatmulOperands.cpp"
    "GPUPropagateDispatchSizeBounds.cpp"
    "GPUReduceBankConflicts.cpp"
    "GPUReuseSharedMemoryAllocs.cpp"
    "GPUTensorAlloc.cpp"
    "GPUTensorTile.cpp"
    "GPUTensorTileToSerialLoops.cpp"
    "GPUTile.cpp"
    "GPUTileReduction.cpp"
    "GPUVectorAlloc.cpp"
    "GPUVectorDistribution.cpp"
    "GPUVerifyDistribution.cpp"
    "Passes.cpp"
    "VectorReductionToGPU.cpp"
    "WorkgroupReordering.cpp"
  DEPS
    ::PassHeaders
    ::PassesIncGen
    LLVMSupport
    MLIRAMDGPUDialect
    MLIRAffineDialect
    MLIRAffineTransforms
    MLIRAffineUtils
    MLIRAnalysis
    MLIRArithDialect
    MLIRArithUtils
    MLIRBufferizationDialect
    MLIRControlFlowDialect
    MLIRDestinationStyleOpInterface
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRGPUDialect
    MLIRGPUTransformOps
    MLIRGPUTransforms
    MLIRGPUUtils
    MLIRIR
    MLIRLLVMCommonConversion
    MLIRLinalgDialect
    MLIRLinalgTransforms
    MLIRLinalgUtils
    MLIRLoopLikeInterface
    MLIRMemRefDialect
    MLIRMemRefTransforms
    MLIRNVGPUDialect
    MLIRPass
    MLIRRewrite
    MLIRSCFDialect
    MLIRSCFTransforms
    MLIRSCFUtils
    MLIRSideEffectInterfaces
    MLIRSupport
    MLIRTensorDialect
    MLIRTensorTransforms
    MLIRTilingInterface
    MLIRTransformUtils
    MLIRTransforms
    MLIRValueBoundsOpInterface
    MLIRVectorDialect
    MLIRVectorToSCF
    MLIRVectorTransforms
    iree::compiler::Codegen::Common
    iree::compiler::Codegen::Common::VectorLayoutAnalysis
    iree::compiler::Codegen::Dialect::Codegen::IR::IREECodegenDialect
    iree::compiler::Codegen::Dialect::Codegen::Utils
    iree::compiler::Codegen::Dialect::GPU::IR::IREEGPUDialect
    iree::compiler::Codegen::Dialect::GPU::Transforms::GPUTransforms
    iree::compiler::Codegen::Dialect::VectorExt::IR::IREEVectorExtDialect
    iree::compiler::Codegen::Interfaces::PartitionableLoopsInterface
    iree::compiler::Codegen::Transforms
    iree::compiler::Codegen::Utils
    iree::compiler::Codegen::Utils::VectorOpUtils
    iree::compiler::Dialect::HAL::IR
    iree::compiler::Utils
  PUBLIC
)

iree_cc_library(
  NAME
    GPUHeuristics
  HDRS
    "GPUHeuristics.h"
  SRCS
    "GPUHeuristics.cpp"
  DEPS
    LLVMSupport
    MLIRIR
    MLIRSupport
  PUBLIC
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
