################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/src/iree/compiler/Dialect/Flow/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
    IR
  HDRS
    "FlowAttrs.h.inc"
    "FlowDialect.h"
    "FlowEnums.h.inc"
    "FlowOpInterfaces.h.inc"
    "FlowOps.h"
    "FlowOps.h.inc"
    "FlowTypeInterfaces.h.inc"
    "FlowTypes.h"
    "FlowTypes.h.inc"
  SRCS
    "FlowAttrs.cpp.inc"
    "FlowDialect.cpp"
    "FlowEnums.cpp.inc"
    "FlowOpFolders.cpp"
    "FlowOpInterfaces.cpp.inc"
    "FlowOps.cpp"
    "FlowOps.cpp.inc"
    "FlowTypeInterfaces.cpp.inc"
    "FlowTypes.cpp"
    "FlowTypes.cpp.inc"
  DEPS
    ::FlowEnumsGen
    ::FlowInterfacesGen
    ::FlowOpsGen
    ::FlowTypesGen
    LLVMSupport
    MLIRAffineDialect
    MLIRAffineUtils
    MLIRAnalysis
    MLIRArithDialect
    MLIRArithUtils
    MLIRControlFlowInterfaces
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRIR
    MLIRInferTypeOpInterface
    MLIRMemRefDialect
    MLIRParser
    MLIRSideEffectInterfaces
    MLIRSupport
    MLIRTensorDialect
    MLIRTransformUtils
    MLIRViewLikeInterface
    iree::compiler::Dialect::Util::IR
    iree::compiler::Utils
  PUBLIC
)

iree_tablegen_library(
  NAME
    FlowEnumsGen
  TD_FILE
    "FlowBase.td"
  OUTS
    --gen-enum-decls FlowEnums.h.inc
    --gen-enum-defs FlowEnums.cpp.inc
)

iree_tablegen_library(
  NAME
    FlowInterfacesGen
  TD_FILE
    "FlowInterfaces.td"
  OUTS
    --gen-op-interface-decls FlowOpInterfaces.h.inc
    --gen-op-interface-defs FlowOpInterfaces.cpp.inc
    --gen-type-interface-decls FlowTypeInterfaces.h.inc
    --gen-type-interface-defs FlowTypeInterfaces.cpp.inc
)

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

iree_tablegen_library(
  NAME
    FlowTypesGen
  TD_FILE
    "FlowBase.td"
  OUTS
    --gen-attrdef-decls --attrdefs-dialect=flow FlowAttrs.h.inc
    --gen-attrdef-defs --attrdefs-dialect=flow FlowAttrs.cpp.inc
    --gen-typedef-decls --typedefs-dialect=flow FlowTypes.h.inc
    --gen-typedef-defs --typedefs-dialect=flow FlowTypes.cpp.inc
)

iree_tablegen_doc(
  NAME
    FlowDialectDocGen
  TD_FILE
    "FlowOps.td"
  OUTS
    --gen-dialect-doc -dialect=flow FlowDialect.md
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
