################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/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_cc_library(
  NAME
    IREECodegenDialect
  HDRS
    "IREECodegenAttrs.h"
    "IREECodegenDialect.h"
    "IREECodegenInterfaces.h"
    "IREECodegenOps.h"
    "UKernelOps.h"
  TEXTUAL_HDRS
    "IREECodegenAttrs.cpp.inc"
    "IREECodegenAttrs.h.inc"
    "IREECodegenDialect.cpp.inc"
    "IREECodegenDialect.h.inc"
    "IREECodegenInterfaces.cpp.inc"
    "IREECodegenInterfaces.h.inc"
    "IREECodegenOps.cpp.inc"
    "IREECodegenOps.h.inc"
    "IREECodegenTypes.h"
    "LoweringConfigEnums.cpp.inc"
    "LoweringConfigEnums.h.inc"
    "UKernelOps.cpp.inc"
    "UKernelOps.h.inc"
  SRCS
    "IREECodegenAttrs.cpp"
    "IREECodegenDialect.cpp"
    "IREECodegenInterfaces.cpp"
    "IREECodegenLibraryManager.cpp"
    "IREECodegenOps.cpp"
    "UKernelOps.cpp"
  DEPS
    ::IREECodegenDialectGen
    ::IREECodegenOpsGen
    ::LoweringConfigGen
    ::LoweringConfigInterfaceGen
    ::UKernelOpsGen
    LLVMSupport
    MLIRArithDialect
    MLIRArithUtils
    MLIRBufferizationDialect
    MLIRDestinationStyleOpInterface
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRIR
    MLIRInferTypeOpInterface
    MLIRMemRefDialect
    MLIRParser
    MLIRSCFDialect
    MLIRSupport
    MLIRTransformDialect
    MLIRTransformDialectTransforms
    MLIRViewLikeInterface
    iree::compiler::Codegen::Interfaces::UKernelOpInterface
  PUBLIC
)

iree_tablegen_library(
  NAME
    IREECodegenDialectGen
  TD_FILE
    "IREECodegenDialect.td"
  OUTS
    --gen-dialect-decls IREECodegenDialect.h.inc
    --gen-dialect-defs IREECodegenDialect.cpp.inc
)

iree_tablegen_library(
  NAME
    IREECodegenOpsGen
  TD_FILE
    "IREECodegenOps.td"
  OUTS
    --gen-op-decls IREECodegenOps.h.inc
    --gen-op-defs IREECodegenOps.cpp.inc
)

iree_tablegen_library(
  NAME
    LoweringConfigInterfaceGen
  TD_FILE
    "IREECodegenInterfaces.td"
  OUTS
    --gen-attr-interface-decls IREECodegenInterfaces.h.inc
    --gen-attr-interface-defs IREECodegenInterfaces.cpp.inc
)

iree_tablegen_library(
  NAME
    LoweringConfigGen
  TD_FILE
    "IREECodegenAttrs.td"
  OUTS
    --gen-attrdef-decls IREECodegenAttrs.h.inc
    --gen-attrdef-defs IREECodegenAttrs.cpp.inc
    --gen-enum-decls LoweringConfigEnums.h.inc
    --gen-enum-defs LoweringConfigEnums.cpp.inc
)

iree_tablegen_library(
  NAME
    UKernelOpsGen
  TD_FILE
    "UKernelOps.td"
  OUTS
    --gen-op-decls UKernelOps.h.inc
    --gen-op-defs UKernelOps.cpp.inc
)

iree_tablegen_doc(
  NAME
    IREECodegenDialectDocGen
  TD_FILE
    "IREECodegenOps.td"
  OUTS
    --gen-dialect-doc --dialect=iree_codegen IREECodegenDialect.md
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
