torch-mlir/utils/bazel/torch-mlir-overlay/BUILD.bazel

914 lines
27 KiB
Python

# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("@llvm-project//mlir:tblgen.bzl", "gentbl_cc_library", "td_library")
load("@com_github_bazelbuild_buildtools//buildifier:def.bzl", "buildifier")
package(
default_visibility = [
"//visibility:public",
],
)
# Format bazel BUILD and .bzl files with a standard convention
# Invoke as `bazel run @torch-mlir//:buildifier`
buildifier(
name = "buildifier",
)
# Torch Dialect/IR
td_library(
name = "MLIRTorchOpsIncGenTdFiles",
srcs = glob([
"include/torch-mlir/Dialect/Torch/IR/*.td",
]),
includes = ["include"],
deps = [
"@llvm-project//mlir:CastInterfacesTdFiles",
"@llvm-project//mlir:ControlFlowInterfacesTdFiles",
"@llvm-project//mlir:InferTypeOpInterfaceTdFiles",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:SideEffectInterfacesTdFiles",
],
)
gentbl_cc_library(
name = "MLIRTorchOpsIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-op-decls"],
"include/torch-mlir/Dialect/Torch/IR/TorchOps.h.inc",
),
(
["-gen-op-defs"],
"include/torch-mlir/Dialect/Torch/IR/TorchOps.cpp.inc",
),
(
[
"-gen-dialect-decls",
"-dialect=torch",
],
"include/torch-mlir/Dialect/Torch/IR/TorchDialect.h.inc",
),
(
[
"-gen-dialect-defs",
"-dialect=torch",
],
"include/torch-mlir/Dialect/Torch/IR/TorchDialect.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Dialect/Torch/IR/TorchOps.td",
deps = [
":MLIRTorchOpsIncGenTdFiles",
],
)
gentbl_cc_library(
name = "MLIRTorchTypesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-typedef-decls"],
"include/torch-mlir/Dialect/Torch/IR/TorchTypes.h.inc",
),
(
["-gen-typedef-defs"],
"include/torch-mlir/Dialect/Torch/IR/TorchTypes.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Dialect/Torch/IR/TorchTypes.td",
deps = [
":MLIRTorchOpsIncGenTdFiles",
],
)
cc_library(
name = "TorchMLIRTorchDialectUtils",
srcs = [
"lib/Dialect/Torch/Utils/SparsityUtils.cpp",
"lib/Dialect/Torch/Utils/TorchUpstream.cpp",
"lib/Dialect/Torch/Utils/Utils.cpp",
],
hdrs = [
"include/torch-mlir/Dialect/Torch/IR/TorchOps.h",
"include/torch-mlir/Dialect/Torch/IR/TorchTraits.h",
"include/torch-mlir/Dialect/Torch/IR/TorchTypes.h",
"include/torch-mlir/Dialect/Torch/Utils/SparsityUtils.h",
"include/torch-mlir/Dialect/Torch/Utils/TorchUpstream.h",
"include/torch-mlir/Dialect/Torch/Utils/Utils.h",
],
strip_include_prefix = "include",
deps = [
":MLIRTorchOpsIncGen",
":MLIRTorchTypesIncGen",
"@llvm-project//mlir:CastInterfaces",
"@llvm-project//mlir:ControlFlowInterfaces",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InferTypeOpInterface",
"@llvm-project//mlir:SparseTensorDialect",
"@llvm-project//mlir:SparseTensorEnums",
],
)
cc_library(
name = "TorchMLIRTorchDialect",
srcs = [
"lib/Dialect/Torch/IR/TorchDialect.cpp",
"lib/Dialect/Torch/IR/TorchOps.cpp",
"lib/Dialect/Torch/IR/TorchOpsODSGenerated.cpp",
"lib/Dialect/Torch/IR/TorchTypes.cpp",
"lib/Dialect/Torch/IR/UtilsForODSGenerated.cpp",
"lib/Dialect/Torch/IR/UtilsForODSGenerated.h",
],
hdrs = glob([
"include/torch-mlir/Dialect/Torch/IR/*.h",
]),
includes = ["include"],
deps = [
":MLIRTorchOpsIncGen",
":MLIRTorchTypesIncGen",
":TorchMLIRTorchDialectUtils",
"@llvm-project//mlir:ControlFlowInterfaces",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InferTypeOpInterface",
"@llvm-project//mlir:SparseTensorDialect",
"@llvm-project//mlir:TransformUtils",
],
)
# Torch Dialect/Transforms
td_library(
name = "TorchMLIRTorchPassesTdFiles",
srcs = [
"include/torch-mlir/Dialect/Torch/Transforms/Passes.td",
],
includes = ["include"],
deps = [
"@llvm-project//mlir:OpBaseTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTorchPassesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-pass-decls"],
"include/torch-mlir/Dialect/Torch/Transforms/Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Dialect/Torch/Transforms/Passes.td",
deps = [
":TorchMLIRTorchPassesTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
cc_library(
name = "TorchMLIRTorchPasses",
srcs = glob([
"lib/Dialect/Torch/Transforms/*.cpp",
"lib/Dialect/Torch/Transforms/*.h",
]),
hdrs = [
"include/torch-mlir/Dialect/Torch/Transforms/Passes.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchDialect",
":TorchMLIRTorchPassesIncGen",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Parser",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Transforms",
],
)
# TorchConversion diaelct
td_library(
name = "MLIRTorchConversionOpsTdFiles",
srcs = [
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionBase.td",
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionOps.td",
],
includes = ["include"],
deps = [
":MLIRTorchOpsIncGenTdFiles",
"@llvm-project//mlir:AttrTdFiles",
"@llvm-project//mlir:CastInterfacesTdFiles",
"@llvm-project//mlir:ControlFlowInterfacesTdFiles",
"@llvm-project//mlir:InferTypeOpInterfaceTdFiles",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:SideEffectInterfacesTdFiles",
],
)
gentbl_cc_library(
name = "MLIRTorchConversionOpsIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-op-decls"],
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionOps.h.inc",
),
(
["-gen-op-defs"],
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionOps.cpp.inc",
),
(
[
"-gen-dialect-decls",
"-dialect=torch_c",
],
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionDialect.h.inc",
),
(
[
"-gen-dialect-defs",
"-dialect=torch_c",
],
"include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionDialect.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Dialect/TorchConversion/IR/TorchConversionOps.td",
deps = [
":MLIRTorchConversionOpsTdFiles",
],
)
cc_library(
name = "TorchMLIRTorchConversionDialect",
srcs = glob(["lib/Dialect/TorchConversion/IR/*.cpp"]),
hdrs = glob(["include/torch-mlir/Dialect/TorchConversion/IR/*.h"]),
strip_include_prefix = "include",
deps = [
":MLIRTorchConversionOpsIncGen",
":TorchMLIRTorchDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InferTypeOpInterface",
],
)
# Conversion
td_library(
name = "TorchMLIRConversionPassesTdFiles",
srcs = [
"include/torch-mlir/Conversion/Passes.td",
],
includes = ["include"],
)
gentbl_cc_library(
name = "TorchMLIRConversionPassesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
[
"-gen-pass-decls",
"-DTORCH_MLIR_ENABLE_STABLEHLO",
],
"include/torch-mlir/Conversion/Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Conversion/Passes.td",
deps = [
":TorchMLIRConversionPassesTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
td_library(
name = "TorchMLIRConversionTorchOnnxToTorchPassTdFiles",
srcs = [
"include/torch-mlir/Conversion/TorchOnnxToTorch/Passes.td",
],
includes = ["include"],
)
gentbl_cc_library(
name = "TorchMLIRConversionTorchOnnxToTorchPassIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-pass-decls"],
"include/torch-mlir/Conversion/TorchOnnxToTorch/Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Conversion/TorchOnnxToTorch/Passes.td",
deps = [
":TorchMLIRConversionTorchOnnxToTorchPassTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
# TorchConversion transforms
td_library(
name = "TorchMLIRTorchConversionPassesTdFiles",
srcs = [
"include/torch-mlir/Dialect/TorchConversion/Transforms/Passes.td",
],
deps = [
"@llvm-project//mlir:OpBaseTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTorchConversionPassesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-pass-decls"],
"include/torch-mlir/Dialect/TorchConversion/Transforms/Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/Dialect/TorchConversion/Transforms/Passes.td",
deps = [
":TorchMLIRTorchConversionPassesTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
cc_library(
name = "TorchMLIRConversionUtils",
srcs = [
"lib/Conversion/Utils/Utils.cpp",
],
hdrs = [
"include/torch-mlir/Conversion/Utils/Utils.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTorchDialect",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ControlFlowDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:Transforms",
],
)
cc_library(
name = "TorchMLIRTorchToLinalg",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToLinalg/*.cpp",
"lib/Conversion/TorchToLinalg/*.h",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchToLinalg/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
":TorchMLIRTorchDialect",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ControlFlowDialect",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:TensorUtils",
"@llvm-project//mlir:TransformUtils",
],
)
cc_library(
name = "TorchMLIRTorchToSCF",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToSCF/*.cpp",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchToSCF/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:ArithDialect",
"@llvm-project//mlir:ControlFlowDialect",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:TensorUtils",
"@llvm-project//mlir:TransformUtils",
],
)
cc_library(
name = "TorchMLIRTorchToArith",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToArith/*.cpp",
]),
hdrs = glob([
"include/torch-mlir/Conversion/TorchToArith/*.h",
]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:Dialect",
],
)
cc_library(
name = "TorchMLIRTorchToTensor",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToTensor/*.cpp",
]),
hdrs = glob([
"include/torch-mlir/Conversion/TorchToTensor/*.h",
]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
":TorchMLIRTorchDialect",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:TensorDialect",
],
)
cc_library(
name = "TorchMLIRTorchConversionToMLProgram",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchConversionToMLProgram/*.cpp",
]),
hdrs = glob([
"include/torch-mlir/Conversion/TorchConversionToMLProgram/*.h",
]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:MLProgramDialect",
],
)
cc_library(
name = "TorchMLIRTorchToTMTensor",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToTMTensor/*.cpp",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchToTMTensor/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTMTensorDialect",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:LinalgDialect",
],
)
cc_library(
name = "TorchMLIRTorchToStablehlo",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToStablehlo/*.h",
"lib/Conversion/TorchToStablehlo/*.cpp",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchToStablehlo/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:Dialect",
"@stablehlo//:register",
"@stablehlo//:stablehlo_passes",
],
)
cc_library(
name = "TorchMLIRTorchOnnxToTorch",
srcs = glob([
"lib/Conversion/TorchOnnxToTorch/*.h",
"lib/Conversion/TorchOnnxToTorch/*.cpp",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchOnnxToTorch/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionTorchOnnxToTorchPassIncGen",
":TorchMLIRTorchDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:Pass",
],
)
cc_library(
name = "TorchMLIRConversionPasses",
srcs = [
"lib/Conversion/Passes.cpp",
],
hdrs = [
"include/torch-mlir/Conversion/Passes.h",
],
defines = [
"TORCH_MLIR_ENABLE_STABLEHLO",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTorchConversionToMLProgram",
":TorchMLIRTorchOnnxToTorch",
":TorchMLIRTorchToArith",
":TorchMLIRTorchToLinalg",
":TorchMLIRTorchToSCF",
":TorchMLIRTorchToStablehlo",
":TorchMLIRTorchToTMTensor",
":TorchMLIRTorchToTensor",
":TorchMLIRTorchToTosa",
],
)
cc_library(
name = "TorchMLIRTorchConversionPasses",
srcs = glob([
"lib/Dialect/TorchConversion/Transforms/*.cpp",
"lib/Dialect/TorchConversion/Transforms/*.h",
]),
hdrs = glob(["include/torch-mlir/Dialect/TorchConversion/Transforms/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
":TorchMLIRTorchConversionPassesIncGen",
":TorchMLIRTorchConversionToMLProgram",
":TorchMLIRTorchDialect",
":TorchMLIRTorchPasses",
":TorchMLIRTorchToArith",
":TorchMLIRTorchToLinalg",
":TorchMLIRTorchToSCF",
":TorchMLIRTorchToStablehlo",
":TorchMLIRTorchToTMTensor",
":TorchMLIRTorchToTensor",
":TorchMLIRTorchToTosa",
"@llvm-project//mlir:ConversionPasses",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:MemRefTransforms",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:TosaDialect",
],
)
cc_library(
name = "TorchMLIRTorchToTosa",
srcs = glob([
"lib/Conversion/*.h",
"lib/Conversion/TorchToTosa/*.cpp",
]),
hdrs = glob(["include/torch-mlir/Conversion/TorchToTosa/*.h"]),
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPassesIncGen",
":TorchMLIRConversionUtils",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:QuantOps",
"@llvm-project//mlir:TosaDialect",
],
)
# Dialects.TorchConversion
cc_library(
name = "TorchMLIRTorchBackendTypeConversion",
srcs = [
"lib/Dialect/TorchConversion/Transforms/BackendTypeConversion.cpp",
],
hdrs = [
"include/torch-mlir/Dialect/TorchConversion/Transforms/BackendTypeConversion.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:FuncTransforms",
],
)
td_library(
name = "TorchMLIRTMTensorOpsTdFiles",
srcs = [
"include/torch-mlir-dialects/Dialect/TMTensor/IR/ScalarLoopOpInterface.td",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorBase.td",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorInterfaces.td",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOps.td",
],
includes = ["include"],
deps = [
"@llvm-project//mlir:ControlFlowInterfacesTdFiles",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:SideEffectInterfacesTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTMTensorInterfacesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-op-interface-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOpInterfaces.h.inc",
),
(
["-gen-op-interface-defs"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOpInterfaces.cpp.inc",
),
(
["-gen-type-interface-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorTypeInterfaces.h.inc",
),
(
["-gen-type-interface-defs"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorTypeInterfaces.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorInterfaces.td",
deps = [
":TorchMLIRTMTensorOpsTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTMTensorScalarLoopOpInterfaceIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-op-interface-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/ScalarLoopOpInterface.h.inc",
),
(
["-gen-op-interface-defs"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/ScalarLoopOpInterface.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir-dialects/Dialect/TMTensor/IR/ScalarLoopOpInterface.td",
deps = [
":TorchMLIRTMTensorOpsTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTMTensorOpsIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-op-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOps.h.inc",
),
(
["-gen-op-defs"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOps.cpp.inc",
),
(
["-gen-typedef-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorTypes.h.inc",
),
(
[
"-gen-dialect-decls",
"-dialect=tm_tensor",
],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorDialect.h.inc",
),
(
[
"-gen-dialect-defs",
"-dialect=tm_tensor",
],
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorDialect.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOps.td",
deps = [
":TorchMLIRTMTensorOpsTdFiles",
],
)
cc_library(
name = "TorchMLIRTMTensorDialect",
srcs = [
"lib/Dialect/TMTensor/IR/ScalarLoopOpInterface.cpp",
"lib/Dialect/TMTensor/IR/TMTensorDialect.cpp",
"lib/Dialect/TMTensor/IR/TMTensorInterfaces.cpp",
"lib/Dialect/TMTensor/IR/TMTensorOps.cpp",
],
hdrs = [
"include/torch-mlir-dialects/Dialect/TMTensor/IR/ScalarLoopOpInterface.h",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorDialect.h",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorInterfaces.h",
"include/torch-mlir-dialects/Dialect/TMTensor/IR/TMTensorOps.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTMTensorInterfacesIncGen",
":TorchMLIRTMTensorOpsIncGen",
":TorchMLIRTMTensorScalarLoopOpInterfaceIncGen",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:ControlFlowInterfaces",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:DialectUtils",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:ViewLikeInterface",
],
)
td_library(
name = "TorchMLIRTMTensorTransformsPassesTdFiles",
srcs = [
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.td",
],
deps = [
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRTMTensorTransformsPassesIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-pass-decls"],
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.h.inc",
),
(
["-gen-pass-capi-header"],
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.h.cpi.inc",
),
(
["-gen-pass-capi-impl"],
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.cpi.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.td",
deps = [
":TorchMLIRTMTensorTransformsPassesTdFiles",
],
)
cc_library(
name = "TorchMLIRTMTensorPasses",
srcs = [
"lib/Dialect/TMTensor/Transforms/Bufferize.cpp",
"lib/Dialect/TMTensor/Transforms/ConvertToLoops.cpp",
"lib/Dialect/TMTensor/Transforms/Passes.cpp",
],
hdrs = [
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/PassDetail.h",
"include/torch-mlir-dialects/Dialect/TMTensor/Transforms/Passes.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRTMTensorDialect",
":TorchMLIRTMTensorTransformsPassesIncGen",
"@llvm-project//mlir:BufferizationTransforms",
"@llvm-project//mlir:FuncTransforms",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Transforms",
],
)
# RefBackend
filegroup(
name = "TorchMLIRRefBackendPassesDetails",
srcs = [
"lib/RefBackend/PassDetail.h",
],
)
td_library(
name = "TorchMLIRRefBackendPassTdFiles",
srcs = [
"include/torch-mlir/RefBackend/Passes.td",
],
deps = [
"@llvm-project//mlir:OpBaseTdFiles",
],
)
gentbl_cc_library(
name = "TorchMLIRRefBackendPassIncGen",
strip_include_prefix = "include",
tbl_outs = [
(
["-gen-pass-decls"],
"include/torch-mlir/RefBackend/Passes.h.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "include/torch-mlir/RefBackend/Passes.td",
deps = [
":TorchMLIRRefBackendPassTdFiles",
"@llvm-project//mlir:PassBaseTdFiles",
],
)
cc_library(
name = "TorchMLIRRefBackendPass",
srcs = [
"lib/RefBackend/RefBackend.cpp",
] + [":TorchMLIRRefBackendPassesDetails"],
hdrs = [
"include/torch-mlir/RefBackend/Passes.h",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRRefBackendPassIncGen",
":TorchMLIRTorchBackendTypeConversion",
":TorchMLIRTorchConversionDialect",
"@llvm-project//mlir:ArithTransforms",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MLProgramDialect",
"@llvm-project//mlir:MathTransforms",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:Pass",
],
)
cc_library(
name = "TorchMLIRInitAll",
srcs = [
"lib/InitAll.cpp",
],
hdrs = [
"include/torch-mlir/InitAll.h",
],
copts = [
"-DTORCH_MLIR_ENABLE_REFBACKEND",
"-DTORCH_MLIR_ENABLE_STABLEHLO",
],
strip_include_prefix = "include",
deps = [
":TorchMLIRConversionPasses",
":TorchMLIRRefBackendPass",
":TorchMLIRTMTensorDialect",
":TorchMLIRTMTensorPasses",
":TorchMLIRTorchConversionDialect",
":TorchMLIRTorchConversionPasses",
":TorchMLIRTorchDialect",
":TorchMLIRTorchPasses",
"@llvm-project//mlir:AllExtensions",
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:DialectUtils",
"@llvm-project//mlir:IR",
"@stablehlo//:linalg_passes",
"@stablehlo//:stablehlo_passes",
],
)
# tools
cc_binary(
name = "torch-mlir-opt",
srcs = [
"tools/torch-mlir-opt/torch-mlir-opt.cpp",
],
deps = [
":TorchMLIRInitAll",
":TorchMLIRTorchDialect",
":TorchMLIRTorchPasses",
"@llvm-project//mlir:AllExtensions",
"@llvm-project//mlir:AllPassesAndDialects",
"@llvm-project//mlir:MlirOptLib",
],
)