################################################################################
# Autogenerated by build_tools/bazel_to_cmake/bazel_to_cmake.py from           #
# compiler/src/iree/compiler/Dialect/VM/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
    "VMDialect.h"
    "VMFuncEncoder.h"
    "VMOps.h"
    "VMTraits.h"
    "VMTypes.h"
  TEXTUAL_HDRS
    "VMAttrs.cpp.inc"
    "VMAttrs.h.inc"
    "VMEnums.cpp.inc"
    "VMEnums.h.inc"
    "VMOpEncoder.cpp.inc"
    "VMOpInterfaces.cpp.inc"
    "VMOpInterfaces.h.inc"
    "VMOps.cpp.inc"
    "VMOps.h.inc"
  SRCS
    "VMDialect.cpp"
    "VMOpFolders.cpp"
    "VMOps.cpp"
    "VMTypes.cpp"
  DEPS
    ::VMAttrsGen
    ::VMEnumsGen
    ::VMOpEncoderGen
    ::VMOpInterfacesGen
    ::VMOpsGen
    LLVMSupport
    MLIRAsmParser
    MLIRControlFlowInterfaces
    MLIRFuncDialect
    MLIRFunctionInterfaces
    MLIRIR
    MLIRSideEffectInterfaces
    MLIRSupport
    MLIRTransformUtils
    iree::compiler::Dialect::Util::IR
    iree::compiler::Utils
  PUBLIC
)

iree_tablegen_library(
  NAME
    VMAttrsGen
  TD_FILE
    "VMBase.td"
  OUTS
    --gen-attrdef-decls --attrdefs-dialect=vm VMAttrs.h.inc
    --gen-attrdef-defs --attrdefs-dialect=vm VMAttrs.cpp.inc
)

iree_tablegen_library(
  NAME
    VMEnumsGen
  TD_FILE
    "VMBase.td"
  OUTS
    --gen-enum-decls VMEnums.h.inc
    --gen-enum-defs VMEnums.cpp.inc
)

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

iree_tablegen_library(
  NAME
    VMOpEncoderGen
  TD_FILE
    "VMOps.td"
  OUTS
    --gen-iree-vm-op-encoder-defs VMOpEncoder.cpp.inc
  TBLGEN
    IREE
)

iree_tablegen_library(
  NAME
    VMOpInterfacesGen
  TD_FILE
    "VMBase.td"
  OUTS
    --gen-op-interface-decls VMOpInterfaces.h.inc
    --gen-op-interface-defs VMOpInterfaces.cpp.inc
)

iree_tablegen_doc(
  NAME
    VMDialectDocGen
  TD_FILE
    "VMOps.td"
  OUTS
    --gen-dialect-doc --dialect=vm VMDialect.md
)

### BAZEL_TO_CMAKE_PRESERVES_ALL_CONTENT_BELOW_THIS_LINE ###
