2021-05-18 15:42:25 -07:00
|
|
|
# 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
|
|
|
|
|
|
|
|
# Description:
|
|
|
|
# The MLIR "Multi-Level Intermediate Representation" Compiler Infrastructure
|
|
|
|
|
|
|
|
load(":tblgen.bzl", "gentbl_cc_library", "td_library")
|
|
|
|
load(":linalggen.bzl", "genlinalg")
|
2021-11-11 08:34:18 -08:00
|
|
|
load(
|
|
|
|
":build_defs.bzl",
|
|
|
|
"cc_headers_only",
|
|
|
|
"if_cuda_available",
|
|
|
|
"mlir_c_api_cc_library",
|
|
|
|
)
|
2021-05-18 15:42:25 -07:00
|
|
|
|
|
|
|
package(
|
|
|
|
default_visibility = ["//visibility:public"],
|
2021-11-15 15:31:08 -08:00
|
|
|
features = ["layering_check"],
|
2021-05-18 15:42:25 -07:00
|
|
|
licenses = ["notice"],
|
|
|
|
)
|
|
|
|
|
|
|
|
exports_files([
|
|
|
|
"LICENSE.TXT",
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOps.td",
|
|
|
|
"run_lit.sh",
|
|
|
|
])
|
|
|
|
|
|
|
|
filegroup(
|
|
|
|
name = "c_headers",
|
|
|
|
srcs = glob(["include/mlir-c/**/*"]), # <== i.e. match the entire tree
|
|
|
|
)
|
|
|
|
|
2021-12-10 02:03:50 +00:00
|
|
|
filegroup(
|
|
|
|
name = "ConversionPassDetail",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Conversion/GPUToROCDL/Runtimes.h",
|
|
|
|
"lib/Conversion/PassDetail.h",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-14 12:09:41 -07:00
|
|
|
exports_files(glob(["include/**/*.td"]))
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
[
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = name + "IncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/IR/" + name + ".h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/IR/" + name + ".cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/" + name + ".td",
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
for name in [
|
|
|
|
"OpAsmInterface",
|
|
|
|
"RegionKindInterface",
|
|
|
|
"SymbolInterfaces",
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TensorEncodingIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-decls"],
|
|
|
|
"include/mlir/IR/TensorEncInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-defs"],
|
|
|
|
"include/mlir/IR/TensorEncInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/TensorEncoding.td",
|
|
|
|
deps = [":TensorOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "SubElementInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/IR/SubElementInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SubElementInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-decls"],
|
|
|
|
"include/mlir/IR/SubElementAttrInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-defs"],
|
|
|
|
"include/mlir/IR/SubElementAttrInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-decls"],
|
|
|
|
"include/mlir/IR/SubElementTypeInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-defs"],
|
|
|
|
"include/mlir/IR/SubElementTypeInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/SubElementInterfaces.td",
|
|
|
|
deps = [":SubElementInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "BuiltinDialectTdFiles",
|
|
|
|
srcs = [
|
2021-09-21 01:40:45 +00:00
|
|
|
"include/mlir/IR/BuiltinAttributeInterfaces.td",
|
|
|
|
"include/mlir/IR/BuiltinAttributes.td",
|
2021-05-18 15:42:25 -07:00
|
|
|
"include/mlir/IR/BuiltinDialect.td",
|
|
|
|
"include/mlir/IR/BuiltinLocationAttributes.td",
|
|
|
|
"include/mlir/IR/BuiltinOps.td",
|
|
|
|
"include/mlir/IR/BuiltinTypeInterfaces.td",
|
|
|
|
"include/mlir/IR/BuiltinTypes.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CallInterfacesTdFiles",
|
|
|
|
":CastInterfacesTdFiles",
|
|
|
|
":DataLayoutInterfacesTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":SubElementInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinDialectIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/IR/BuiltinDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/IR/BuiltinDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinDialect.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinAttributesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attrdef-decls"],
|
|
|
|
"include/mlir/IR/BuiltinAttributes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attrdef-defs"],
|
|
|
|
"include/mlir/IR/BuiltinAttributes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinAttributes.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-09-21 01:40:45 +00:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinAttributeInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attr-interface-decls"],
|
|
|
|
"include/mlir/IR/BuiltinAttributeInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attr-interface-defs"],
|
|
|
|
"include/mlir/IR/BuiltinAttributeInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinAttributeInterfaces.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinLocationAttributesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attrdef-decls"],
|
|
|
|
"include/mlir/IR/BuiltinLocationAttributes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attrdef-defs"],
|
|
|
|
"include/mlir/IR/BuiltinLocationAttributes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinLocationAttributes.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/IR/BuiltinOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/IR/BuiltinOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinOps.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinTypesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-typedef-decls"],
|
|
|
|
"include/mlir/IR/BuiltinTypes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-typedef-defs"],
|
|
|
|
"include/mlir/IR/BuiltinTypes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinTypes.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BuiltinTypeInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-type-interface-decls"],
|
|
|
|
"include/mlir/IR/BuiltinTypeInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-type-interface-defs"],
|
|
|
|
"include/mlir/IR/BuiltinTypeInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/IR/BuiltinTypeInterfaces.td",
|
|
|
|
deps = [":BuiltinDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "IR",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/IR/*.cpp",
|
|
|
|
"lib/IR/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/IR/*.h",
|
|
|
|
]) + [
|
|
|
|
"include/mlir/Interfaces/CallInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/CastInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/SideEffectInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/DataLayoutInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/DecodeAttributesInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/FoldInterfaces.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-09-21 01:40:45 +00:00
|
|
|
":BuiltinAttributeInterfacesIncGen",
|
2021-05-18 15:42:25 -07:00
|
|
|
":BuiltinAttributesIncGen",
|
|
|
|
":BuiltinDialectIncGen",
|
|
|
|
":BuiltinLocationAttributesIncGen",
|
|
|
|
":BuiltinOpsIncGen",
|
|
|
|
":BuiltinTypeInterfacesIncGen",
|
|
|
|
":BuiltinTypesIncGen",
|
|
|
|
":CallOpInterfacesIncGen",
|
|
|
|
":CastOpInterfacesIncGen",
|
|
|
|
":DataLayoutInterfacesIncGen",
|
|
|
|
":InferTypeOpInterfaceIncGen",
|
|
|
|
":OpAsmInterfaceIncGen",
|
|
|
|
":RegionKindInterfaceIncGen",
|
|
|
|
":SideEffectInterfacesIncGen",
|
|
|
|
":SubElementInterfacesIncGen",
|
|
|
|
":Support",
|
|
|
|
":SymbolInterfacesIncGen",
|
|
|
|
":TensorEncodingIncGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Pass",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Pass/*.cpp",
|
|
|
|
"lib/Pass/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Pass/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIIR",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/Standard.cpp",
|
|
|
|
"lib/CAPI/IR/AffineExpr.cpp",
|
|
|
|
"lib/CAPI/IR/AffineMap.cpp",
|
|
|
|
"lib/CAPI/IR/BuiltinAttributes.cpp",
|
|
|
|
"lib/CAPI/IR/BuiltinTypes.cpp",
|
|
|
|
"lib/CAPI/IR/Diagnostics.cpp",
|
|
|
|
"lib/CAPI/IR/DialectHandle.cpp",
|
|
|
|
"lib/CAPI/IR/IR.cpp",
|
|
|
|
"lib/CAPI/IR/IntegerSet.cpp",
|
|
|
|
"lib/CAPI/IR/Pass.cpp",
|
|
|
|
"lib/CAPI/IR/Support.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/AffineExpr.h",
|
|
|
|
"include/mlir-c/AffineMap.h",
|
|
|
|
"include/mlir-c/BuiltinAttributes.h",
|
|
|
|
"include/mlir-c/BuiltinTypes.h",
|
|
|
|
"include/mlir-c/Diagnostics.h",
|
|
|
|
"include/mlir-c/Dialect/Standard.h",
|
|
|
|
"include/mlir-c/ExecutionEngine.h",
|
|
|
|
"include/mlir-c/IR.h",
|
|
|
|
"include/mlir-c/IntegerSet.h",
|
2021-10-14 17:18:28 +02:00
|
|
|
"include/mlir-c/Interfaces.h",
|
2021-05-18 15:42:25 -07:00
|
|
|
"include/mlir-c/Pass.h",
|
|
|
|
"include/mlir-c/Registration.h",
|
|
|
|
"include/mlir-c/Support.h",
|
|
|
|
"include/mlir/CAPI/AffineExpr.h",
|
|
|
|
"include/mlir/CAPI/AffineMap.h",
|
|
|
|
"include/mlir/CAPI/Diagnostics.h",
|
|
|
|
"include/mlir/CAPI/IR.h",
|
|
|
|
"include/mlir/CAPI/IntegerSet.h",
|
|
|
|
"include/mlir/CAPI/Pass.h",
|
|
|
|
"include/mlir/CAPI/Registration.h",
|
|
|
|
"include/mlir/CAPI/Support.h",
|
|
|
|
"include/mlir/CAPI/Utils.h",
|
|
|
|
"include/mlir/CAPI/Wrap.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":Parser",
|
|
|
|
":StandardOps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-10-14 17:18:28 +02:00
|
|
|
name = "CAPIInterfaces",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Interfaces/Interfaces.cpp",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIAsync",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/Async.cpp",
|
|
|
|
"lib/CAPI/Dialect/AsyncPasses.cpp",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
hdrs = ["include/mlir-c/Dialect/Async.h"],
|
|
|
|
header_deps = [
|
|
|
|
":AsyncPassIncGen",
|
|
|
|
":CAPIIRHeaders",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Async",
|
|
|
|
":AsyncTransforms",
|
|
|
|
":CAPIIR",
|
|
|
|
":Pass",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPILinalg",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/Linalg.cpp",
|
|
|
|
"lib/CAPI/Dialect/LinalgPasses.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/Dialect/Linalg.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":LinalgPassIncGen",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgTransforms",
|
|
|
|
":Pass",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-07-05 22:39:10 +02:00
|
|
|
name = "CAPILLVM",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/LLVM.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/Dialect/LLVM.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
],
|
2021-07-05 22:39:10 +02:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":LLVMDialect",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIGPU",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/GPU.cpp",
|
|
|
|
"lib/CAPI/Dialect/GPUPasses.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/Dialect/GPU.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":GPUPassIncGen",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUTransforms",
|
|
|
|
":Pass",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPISparseTensor",
|
|
|
|
srcs = [
|
|
|
|
"lib/CAPI/Dialect/SparseTensor.cpp",
|
|
|
|
"lib/CAPI/Dialect/SparseTensorPasses.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/Dialect/SparseTensor.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":SparseTensorPassIncGen",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":Pass",
|
|
|
|
":SparseTensor",
|
|
|
|
":SparseTensorTransforms",
|
|
|
|
":Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIConversion",
|
|
|
|
srcs = ["lib/CAPI/Conversion/Passes.cpp"],
|
|
|
|
hdrs = ["include/mlir-c/Conversion.h"],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":ConversionPasses",
|
|
|
|
":Pass",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIDebug",
|
|
|
|
srcs = ["lib/CAPI/Debug/Debug.cpp"],
|
|
|
|
hdrs = ["include/mlir-c/Debug.h"],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIExecutionEngine",
|
|
|
|
srcs = ["lib/CAPI/ExecutionEngine/ExecutionEngine.cpp"],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir-c/ExecutionEngine.h",
|
|
|
|
"include/mlir/CAPI/ExecutionEngine.h",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":ExecutionEngine",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":ExecutionEngineUtils",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
"//llvm:OrcJIT",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPITransforms",
|
|
|
|
srcs = ["lib/CAPI/Transforms/Passes.cpp"],
|
|
|
|
hdrs = ["include/mlir-c/Transforms.h"],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":TransformsPassIncGen",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
":Pass",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
mlir_c_api_cc_library(
|
2021-05-18 15:42:25 -07:00
|
|
|
name = "CAPIRegistration",
|
|
|
|
srcs = ["lib/CAPI/Registration/Registration.cpp"],
|
|
|
|
hdrs = ["include/mlir-c/Registration.h"],
|
2021-11-11 08:34:18 -08:00
|
|
|
header_deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":CAPIIR",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# Sources of Python bindings.
|
|
|
|
#----------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
exports_files(
|
|
|
|
glob(["lib/Bindings/Python/**/*.cpp"]),
|
|
|
|
)
|
|
|
|
|
2021-11-11 08:34:18 -08:00
|
|
|
MLIR_BINDINGS_PYTHON_HEADERS = [
|
|
|
|
"lib/Bindings/Python/*.h",
|
|
|
|
"include/mlir-c/Bindings/Python/*.h",
|
|
|
|
"include/mlir/Bindings/Python/*.h",
|
|
|
|
]
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MLIRBindingsPythonHeaders",
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Bindings/Python",
|
|
|
|
],
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
textual_hdrs = glob(MLIR_BINDINGS_PYTHON_HEADERS),
|
|
|
|
deps = [
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
|
|
|
name = "MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Bindings/Python",
|
|
|
|
],
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
textual_hdrs = glob(MLIR_BINDINGS_PYTHON_HEADERS),
|
2021-05-18 15:42:25 -07:00
|
|
|
deps = [
|
|
|
|
":CAPIIR",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-12 12:02:18 -08:00
|
|
|
MLIR_PYTHON_BINDINGS_SOURCES = [
|
|
|
|
"lib/Bindings/Python/DialectLinalg.cpp",
|
|
|
|
"lib/Bindings/Python/DialectSparseTensor.cpp",
|
|
|
|
"lib/Bindings/Python/IRAffine.cpp",
|
|
|
|
"lib/Bindings/Python/IRAttributes.cpp",
|
|
|
|
"lib/Bindings/Python/IRCore.cpp",
|
|
|
|
"lib/Bindings/Python/IRInterfaces.cpp",
|
|
|
|
"lib/Bindings/Python/IRModule.cpp",
|
|
|
|
"lib/Bindings/Python/IRTypes.cpp",
|
|
|
|
"lib/Bindings/Python/Pass.cpp",
|
|
|
|
"lib/Bindings/Python/PybindUtils.cpp",
|
|
|
|
]
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
2021-11-12 12:02:18 -08:00
|
|
|
name = "MLIRBindingsPythonCore",
|
|
|
|
srcs = MLIR_PYTHON_BINDINGS_SOURCES,
|
2021-05-18 15:42:25 -07:00
|
|
|
# These flags are needed for pybind11 to work.
|
|
|
|
copts = [
|
|
|
|
"-fexceptions",
|
|
|
|
"-frtti",
|
|
|
|
],
|
|
|
|
features = [
|
|
|
|
# Cannot use header_modules (parse_headers feature fails).
|
|
|
|
"-use_header_modules",
|
|
|
|
],
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
deps = [
|
2021-11-12 12:02:18 -08:00
|
|
|
":CAPIAsync",
|
|
|
|
":CAPIDebug",
|
|
|
|
":CAPIGPU",
|
|
|
|
":CAPIIR",
|
|
|
|
":CAPIInterfaces",
|
|
|
|
":CAPILinalg",
|
|
|
|
":CAPIRegistration",
|
|
|
|
":CAPISparseTensor",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
2021-11-11 08:34:18 -08:00
|
|
|
"//llvm:Support",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
2021-11-12 12:02:18 -08:00
|
|
|
name = "MLIRBindingsPythonCoreNoCAPI",
|
|
|
|
srcs = MLIR_PYTHON_BINDINGS_SOURCES,
|
|
|
|
# These flags are needed for pybind11 to work.
|
|
|
|
copts = [
|
|
|
|
"-fexceptions",
|
|
|
|
"-frtti",
|
|
|
|
],
|
|
|
|
features = [
|
|
|
|
# Cannot use header_modules (parse_headers feature fails).
|
|
|
|
"-use_header_modules",
|
|
|
|
],
|
2021-11-11 08:34:18 -08:00
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
deps = [
|
2021-11-12 12:02:18 -08:00
|
|
|
":CAPIAsyncHeaders",
|
|
|
|
":CAPIDebugHeaders",
|
|
|
|
":CAPIGPUHeaders",
|
|
|
|
":CAPIIRHeaders",
|
|
|
|
":CAPILinalgHeaders",
|
|
|
|
":CAPIRegistrationHeaders",
|
|
|
|
":CAPISparseTensorHeaders",
|
|
|
|
":MLIRBindingsPythonHeaders",
|
|
|
|
"//llvm:Support",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
2021-11-11 08:34:18 -08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-12 12:02:18 -08:00
|
|
|
# Target that bundles together the CAPI objects needed for
|
|
|
|
# MLIRBindingsPythonCoreNoCAPI.
|
2021-11-11 08:34:18 -08:00
|
|
|
cc_library(
|
|
|
|
name = "MLIRBindingsPythonCAPIObjects",
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":CAPIAsyncObjects",
|
|
|
|
":CAPIDebugObjects",
|
|
|
|
":CAPIGPUObjects",
|
|
|
|
":CAPIIRObjects",
|
|
|
|
":CAPIInterfacesObjects",
|
|
|
|
":CAPILinalgObjects",
|
|
|
|
":CAPIRegistrationObjects",
|
|
|
|
":CAPISparseTensorObjects",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
PYBIND11_COPTS = [
|
|
|
|
"-fexceptions",
|
|
|
|
"-frtti",
|
|
|
|
]
|
|
|
|
|
|
|
|
PYBIND11_FEATURES = [
|
|
|
|
# Cannot use header_modules (parse_headers feature fails).
|
|
|
|
"-use_header_modules",
|
|
|
|
]
|
|
|
|
|
|
|
|
# Dynamic library with the MLIR Python extension.
|
|
|
|
cc_binary(
|
|
|
|
name = "_mlir.so",
|
|
|
|
srcs = ["lib/Bindings/Python/MainModule.cpp"],
|
|
|
|
# These flags are needed for pybind11 to work.
|
|
|
|
copts = PYBIND11_COPTS,
|
|
|
|
features = PYBIND11_FEATURES,
|
|
|
|
linkshared = 1,
|
|
|
|
linkstatic = 0,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":MLIRBindingsPythonCore",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-27 13:32:09 -07:00
|
|
|
# Dynamic library with the MLIR Conversions Python extension.
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_binary(
|
|
|
|
name = "_mlirConversions.so",
|
|
|
|
srcs = ["lib/Bindings/Python/Conversions/Conversions.cpp"],
|
|
|
|
copts = PYBIND11_COPTS,
|
|
|
|
features = PYBIND11_FEATURES,
|
|
|
|
linkshared = 1,
|
|
|
|
linkstatic = 0,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":CAPIConversion",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-29 03:19:14 +00:00
|
|
|
# Dynamic library with the MLIR Conversions Python extension.
|
|
|
|
cc_binary(
|
|
|
|
name = "_mlirExecutionEngine.so",
|
|
|
|
srcs = ["lib/Bindings/Python/ExecutionEngineModule.cpp"],
|
|
|
|
copts = PYBIND11_COPTS,
|
|
|
|
features = PYBIND11_FEATURES,
|
|
|
|
linkshared = 1,
|
|
|
|
linkstatic = 0,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":CAPIExecutionEngine",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-27 13:32:09 -07:00
|
|
|
# Dynamic library with the MLIR Transforms Python extension.
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_binary(
|
|
|
|
name = "_mlirTransforms.so",
|
|
|
|
srcs = ["lib/Bindings/Python/Transforms/Transforms.cpp"],
|
|
|
|
copts = PYBIND11_COPTS,
|
|
|
|
features = PYBIND11_FEATURES,
|
|
|
|
linkshared = 1,
|
|
|
|
linkstatic = 0,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":CAPITransforms",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
# Dynamic library with the MLIR Linalg dialect+passes Python extension.
|
|
|
|
cc_binary(
|
|
|
|
name = "_mlirLinalgPasses.so",
|
|
|
|
srcs = ["lib/Bindings/Python/LinalgPasses.cpp"],
|
|
|
|
copts = PYBIND11_COPTS,
|
|
|
|
features = PYBIND11_FEATURES,
|
|
|
|
linkshared = 1,
|
|
|
|
linkstatic = 0,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":CAPILinalg",
|
|
|
|
":MLIRBindingsPythonHeadersAndDeps",
|
|
|
|
"@pybind11",
|
|
|
|
"@python_runtime//:headers",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "OpBaseTdFiles",
|
|
|
|
srcs = [
|
2021-12-17 02:44:56 +00:00
|
|
|
"include/mlir/IR/EnumAttr.td",
|
2021-05-18 15:42:25 -07:00
|
|
|
"include/mlir/IR/OpAsmInterface.td",
|
|
|
|
"include/mlir/IR/OpBase.td",
|
|
|
|
"include/mlir/IR/RegionKindInterface.td",
|
|
|
|
"include/mlir/IR/SymbolInterfaces.td",
|
|
|
|
"include/mlir/IR/TensorEncoding.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "CallInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/CallInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "CastInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/CastInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ControlFlowInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/ControlFlowInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "CopyOpInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/CopyOpInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "DerivedAttributeOpInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/DerivedAttributeOpInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "InferTypeOpInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/InferTypeOpInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "LoopLikeInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/LoopLikeInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "SideEffectInterfacesTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Interfaces/SideEffectInterfaceBase.td",
|
|
|
|
"include/mlir/Interfaces/SideEffectInterfaces.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
alias(
|
|
|
|
name = "SideEffectTdFiles",
|
|
|
|
actual = ":SideEffectInterfacesTdFiles",
|
|
|
|
)
|
|
|
|
|
2021-08-30 15:55:30 -07:00
|
|
|
td_library(
|
|
|
|
name = "TilingInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/TilingInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
td_library(
|
|
|
|
name = "VectorInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/VectorInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ViewLikeInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/ViewLikeInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ReducerTdFiles",
|
|
|
|
srcs = ["include/mlir/Reducer/Passes.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# Affine dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "PassBaseTdFiles",
|
|
|
|
srcs = ["include/mlir/Pass/PassBase.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "RewritePassBaseTdFiles",
|
|
|
|
srcs = ["include/mlir/Rewrite/PassUtil.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "AffineOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-12-30 20:39:22 +00:00
|
|
|
":ArithmeticOpsTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LoopLikeInterfaceTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":StdOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AffineOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
2021-12-30 20:39:22 +00:00
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=affine",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
"include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
2021-12-30 20:39:22 +00:00
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=affine",
|
|
|
|
],
|
2021-06-28 22:54:11 +00:00
|
|
|
"include/mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Affine/IR/AffineOps.td",
|
|
|
|
deps = [":AffineOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AffineMemoryOpInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
|
|
|
|
deps = [":AffineOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# EmitC dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "EmitCTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitC.td",
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCAttributes.td",
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCBase.td",
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCTypes.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "EmitCAttributesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attrdef-decls"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCAttributes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attrdef-defs"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCAttributes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/EmitC/IR/EmitCAttributes.td",
|
|
|
|
deps = [":EmitCTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "EmitCOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitC.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitC.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-decls"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCTypes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-defs"],
|
|
|
|
"include/mlir/Dialect/EmitC/IR/EmitCTypes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/EmitC/IR/EmitC.td",
|
|
|
|
deps = [":EmitCTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-09-02 10:04:48 -07:00
|
|
|
cc_library(
|
|
|
|
name = "TargetCpp",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Target/Cpp/*.cpp",
|
|
|
|
"lib/Target/Cpp/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Target/Cpp/*.h"]),
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-09-02 10:04:48 -07:00
|
|
|
":EmitC",
|
|
|
|
":IR",
|
2021-10-12 23:14:57 +00:00
|
|
|
":MathDialect",
|
2021-09-02 10:04:48 -07:00
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Translation",
|
2021-09-02 10:31:06 -07:00
|
|
|
"//llvm:Support",
|
2021-09-02 10:04:48 -07:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# Async dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "AsyncOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncDialect.td",
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOps.td",
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncTypes.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AsyncOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-typedef-decls"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOpsTypes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-defs"],
|
|
|
|
"include/mlir/Dialect/Async/IR/AsyncOpsTypes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Async/IR/AsyncOps.td",
|
|
|
|
deps = [":AsyncOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AsyncPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Async",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Async/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=Async",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Async/Passes.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=Async",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Async/Passes.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Async/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# ArmNeon dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ArmNeonTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/ArmNeon/ArmNeon.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArmNeonIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=arm_neon",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/ArmNeon/ArmNeonDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=arm_neon",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/ArmNeon/ArmNeon.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/ArmNeon/ArmNeon.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/ArmNeon/ArmNeon.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
|
|
|
|
deps = [":ArmNeonTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmNeon",
|
|
|
|
srcs = ["lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/ArmNeon/ArmNeonDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmNeonIncGen",
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArmNeonConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/ArmNeon/ArmNeonConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
|
|
|
|
deps = [":ArmNeonTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmNeon2dToIntr",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/ArmNeon2dToIntr/*.cpp",
|
|
|
|
"lib/Conversion/ArmNeon2dToIntr/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/ArmNeon2dToIntr/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmNeon",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":OpenACCDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# ArmSVE dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ArmSVETdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVE.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticOpsTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":StdOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArmSVEIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVE.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVE.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-decls"],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVETypes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-defs"],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVETypes.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=arm_sve",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVEDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=arm_sve",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVEDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/ArmSVE/ArmSVE.td",
|
|
|
|
deps = [":ArmSVETdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmSVE",
|
|
|
|
srcs = ["lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/ArmSVE/ArmSVEDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmSVEIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmSVETransforms",
|
|
|
|
srcs = glob(["lib/Dialect/ArmSVE/Transforms/*.cpp"]),
|
|
|
|
hdrs = ["include/mlir/Dialect/ArmSVE/Transforms.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmSVE",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":TransformUtils",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArmSVEConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/ArmSVE/ArmSVEConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/ArmSVE/ArmSVE.td",
|
|
|
|
deps = [":ArmSVETdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# AMX dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "AMXTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/AMX/AMX.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AMXIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=amx",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/AMX/AMXDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=amx",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/AMX/AMXDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/AMX/AMX.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/AMX/AMX.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/AMX/AMX.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/AMX/AMX.td",
|
|
|
|
deps = [":AMXTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AMX",
|
|
|
|
srcs = ["lib/Dialect/AMX/IR/AMXDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/AMX/AMXDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AMXIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AMXTransforms",
|
|
|
|
srcs = glob(["lib/Dialect/AMX/Transforms/*.cpp"]),
|
|
|
|
hdrs = ["include/mlir/Dialect/AMX/Transforms.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AMX",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":StandardOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AMXConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/AMX/AMXConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/AMX/AMX.td",
|
|
|
|
deps = [":AMXTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# X86Vector dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "X86VectorTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/X86Vector/X86Vector.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "X86VectorIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=x86vector",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/X86Vector/X86VectorDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=x86vector",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/X86Vector/X86Vector.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/X86Vector/X86Vector.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/X86Vector/X86Vector.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
|
|
|
|
deps = [":X86VectorTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "X86Vector",
|
|
|
|
srcs = ["lib/Dialect/X86Vector/IR/X86VectorDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/X86Vector/X86VectorDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":X86VectorIncGen",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "X86VectorTransforms",
|
|
|
|
srcs = glob(["lib/Dialect/X86Vector/Transforms/*.cpp"]),
|
|
|
|
hdrs = ["include/mlir/Dialect/X86Vector/Transforms.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":StandardOps",
|
2021-11-10 13:19:41 +00:00
|
|
|
":VectorOps",
|
2021-05-18 15:42:25 -07:00
|
|
|
":X86Vector",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "X86VectorConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/X86Vector/X86VectorConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
|
|
|
|
deps = [":X86VectorTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# SCF dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "SCFTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/SCF/SCFOps.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
|
|
|
":LoopLikeInterfaceTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SCFIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/SCF/SCFOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/SCF/SCFOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/SCF/SCFOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/SCF/SCFOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SCF/SCFOps.td",
|
|
|
|
deps = [":SCFTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SCFPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=SCF",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SCF/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SCF/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SCF/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/SCF/Transforms/*.h",
|
|
|
|
]),
|
2021-08-24 21:21:12 +09:00
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/SCF/Passes.h",
|
|
|
|
"include/mlir/Dialect/SCF/Transforms.h",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-08-19 17:08:21 +09:00
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-08-03 10:21:02 +09:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SCFPassIncGen",
|
|
|
|
":StandardOps",
|
2021-07-19 14:00:51 -07:00
|
|
|
":Support",
|
2021-08-30 01:12:14 +00:00
|
|
|
":TensorDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
# SparseTensor dialect.
|
|
|
|
##---------------------------------------------------------------------------##
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "SparseTensorTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td",
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td",
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SparseTensorAttrDefsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attrdef-decls"],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attrdef-defs"],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td",
|
|
|
|
deps = [":SparseTensorTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SparseTensorOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=sparse_tensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=sparse_tensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/SparseTensor/SparseTensor.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td",
|
|
|
|
deps = [":SparseTensorTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SparseTensorPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=SparseTensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SparseTensor/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=SparseTensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=SparseTensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SparseTensor/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SparseTensor",
|
2021-06-25 12:02:08 -07:00
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SparseTensor/IR/*.cpp",
|
|
|
|
]),
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = ["include/mlir/Dialect/SparseTensor/IR/SparseTensor.h"],
|
|
|
|
includes = ["include"],
|
2021-06-25 12:02:08 -07:00
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-06-25 12:02:08 -07:00
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-06-25 12:02:08 -07:00
|
|
|
":SideEffectInterfaces",
|
|
|
|
":SparseTensorAttrDefsIncGen",
|
|
|
|
":SparseTensorOpsIncGen",
|
|
|
|
":StandardOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SparseTensorUtils",
|
|
|
|
srcs = glob(["lib/Dialect/SparseTensor/Utils/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/SparseTensor/Utils/*.h"]),
|
|
|
|
includes = ["include"],
|
2021-05-18 15:42:25 -07:00
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
2021-07-01 09:38:35 -07:00
|
|
|
":LinalgOps",
|
2022-01-04 15:06:28 -08:00
|
|
|
":SparseTensor",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SparseTensorTransforms",
|
2022-01-04 15:06:28 -08:00
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SparseTensor/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/SparseTensor/Transforms/*.h",
|
|
|
|
]),
|
2021-11-05 15:15:39 -07:00
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/SparseTensor/Transforms/Passes.h",
|
|
|
|
"include/mlir/ExecutionEngine/SparseTensorUtils.h",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-08-19 21:46:12 +09:00
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-11 18:50:14 +09:00
|
|
|
":BufferizableOpInterface",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgTransforms",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SparseTensor",
|
|
|
|
":SparseTensorPassIncGen",
|
2021-06-24 16:33:13 -07:00
|
|
|
":SparseTensorUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":TensorDialect",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "StdOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/Ops.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CallInterfacesTdFiles",
|
|
|
|
":CastInterfacesTdFiles",
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":VectorInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "StandardOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/Ops.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/Ops.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/OpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/OpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/OpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/OpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/StandardOps/IR/Ops.td",
|
|
|
|
deps = [":StdOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Dialect",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/*.cpp",
|
|
|
|
"lib/Dialect/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "DialectUtils",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Utils/*.cpp",
|
|
|
|
"lib/Dialect/Utils/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/Utils/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Affine",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Affine/IR/*.cpp",
|
|
|
|
"lib/Dialect/Affine/IR/*.h",
|
|
|
|
],
|
|
|
|
) + ["include/mlir/Transforms/InliningUtils.h"],
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/Affine/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AffineMemoryOpInterfacesIncGen",
|
|
|
|
":AffineOpsIncGen",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":LoopLikeInterface",
|
|
|
|
":MemRefDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
2021-11-25 11:42:16 +01:00
|
|
|
":TensorDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "EmitC",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/EmitC/IR/*.cpp",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/EmitC/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Dialect",
|
|
|
|
":EmitCAttributesIncGen",
|
|
|
|
":EmitCOpsIncGen",
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Async",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Async/IR/*.cpp",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/Async/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AsyncOpsIncGen",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":Dialect",
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AsyncTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Async/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Async/Transforms/*.h",
|
|
|
|
]),
|
2021-12-19 08:35:37 -08:00
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Async/Passes.h",
|
|
|
|
"include/mlir/Dialect/Async/Transforms.h",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Async",
|
|
|
|
":AsyncPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
2021-07-24 06:51:15 -07:00
|
|
|
":SCFToStandard",
|
2021-05-18 15:42:25 -07:00
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
":Transforms",
|
|
|
|
":TransformsPassIncGen",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AffineUtils",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Affine/Utils/*.cpp",
|
|
|
|
"lib/Dialect/Affine/Utils/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/Affine/Utils.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":Analysis",
|
|
|
|
":IR",
|
2021-12-10 23:50:27 +00:00
|
|
|
":MemRefDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":TransformUtils",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AffinePassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Affine",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Affine/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Affine/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AffineTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Affine/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Affine/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = ["include/mlir/Dialect/Affine/Passes.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":AffinePassIncGen",
|
|
|
|
":AffineUtils",
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ConversionPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Conversion",
|
|
|
|
],
|
|
|
|
"include/mlir/Conversion/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=Conversion",
|
|
|
|
],
|
|
|
|
"include/mlir/Conversion/Passes.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=Conversion",
|
|
|
|
],
|
|
|
|
"include/mlir/Conversion/Passes.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Conversion/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ConversionPasses",
|
|
|
|
hdrs = ["include/mlir/Conversion/Passes.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AffineToStandard",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
|
|
|
":ArithmeticToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ArmNeon2dToIntr",
|
|
|
|
":AsyncToLLVM",
|
2021-11-30 13:27:24 +01:00
|
|
|
":BufferizationToMemRef",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexToLLVM",
|
|
|
|
":ComplexToStandard",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUToGPURuntimeTransforms",
|
|
|
|
":GPUToNVVMTransforms",
|
|
|
|
":GPUToROCDLTransforms",
|
|
|
|
":GPUToSPIRV",
|
|
|
|
":GPUToVulkanTransforms",
|
|
|
|
":LinalgToLLVM",
|
|
|
|
":LinalgToSPIRV",
|
|
|
|
":LinalgToStandard",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MathToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MathToLibm",
|
2021-07-29 16:21:43 -04:00
|
|
|
":MathToSPIRV",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-07-29 16:22:46 -04:00
|
|
|
":MemRefToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpenACCToLLVM",
|
|
|
|
":OpenACCToSCF",
|
|
|
|
":OpenMPToLLVM",
|
|
|
|
":PDLToPDLInterp",
|
[mlir] Factor type reconciliation out of Standard-to-LLVM conversion
Conversion to the LLVM dialect is being refactored to be more progressive and
is now performed as a series of independent passes converting different
dialects. These passes may produce `unrealized_conversion_cast` operations that
represent pending conversions between built-in and LLVM dialect types.
Historically, a more monolithic Standard-to-LLVM conversion pass did not need
these casts as all operations were converted in one shot. Previous refactorings
have led to the requirement of running the Standard-to-LLVM conversion pass to
clean up `unrealized_conversion_cast`s even though the IR had no standard
operations in it. The pass must have been also run the last among all to-LLVM
passes, in contradiction with the partial conversion logic. Additionally, the
way it was set up could produce invalid operations by removing casts between
LLVM and built-in types even when the consumer did not accept the uncasted
type, or could lead to cryptic conversion errors (recursive application of the
rewrite pattern on `unrealized_conversion_cast` as a means to indicate failure
to eliminate casts).
In fact, the need to eliminate A->B->A `unrealized_conversion_cast`s is not
specific to to-LLVM conversions and can be factored out into a separate type
reconciliation pass, which is achieved in this commit. While the cast operation
itself has a folder pattern, it is insufficient in most conversion passes as
the folder only applies to the second cast. Without complex legality setup in
the conversion target, the conversion infra will either consider the cast
operations valid and not fold them (a separate canonicalization would be
necessary to trigger the folding), or consider the first cast invalid upon
generation and stop with error. The pattern provided by the reconciliation pass
applies to the first cast operation instead. Furthermore, having a separate
pass makes it clear when `unrealized_conversion_cast`s could not have been
eliminated since it is the only reason why this pass can fail.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D109507
2021-09-09 16:06:10 +02:00
|
|
|
":ReconcileUnrealizedCasts",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SCFToGPUPass",
|
|
|
|
":SCFToOpenMP",
|
|
|
|
":SCFToSPIRV",
|
|
|
|
":SCFToStandard",
|
|
|
|
":SPIRVToLLVM",
|
|
|
|
":ShapeToStandard",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":TosaToLinalg",
|
|
|
|
":TosaToSCF",
|
|
|
|
":TosaToStandard",
|
|
|
|
":VectorToGPU",
|
|
|
|
":VectorToLLVM",
|
|
|
|
":VectorToROCDL",
|
|
|
|
":VectorToSCF",
|
|
|
|
":VectorToSPIRV",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AsyncToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/AsyncToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/AsyncToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob(["include/mlir/Conversion/AsyncToLLVM/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Async",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AffineToStandard",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/AffineToStandard/*.cpp",
|
|
|
|
"lib/Conversion/AffineToStandard/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob(["include/mlir/Conversion/AffineToStandard/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
alias(
|
|
|
|
name = "AffineToStandardTransforms",
|
|
|
|
actual = "AffineToStandard",
|
|
|
|
)
|
|
|
|
|
|
|
|
# SDBM dialect only contains attribute components that can be constructed given
|
|
|
|
# a dialect object, so whenever it is used it must also be registered. Therefore
|
|
|
|
# we don't split out the registration library for it.
|
|
|
|
cc_library(
|
|
|
|
name = "SDBM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SDBM/*.cpp",
|
|
|
|
"lib/Dialect/SDBM/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/SDBM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/SCF/*.cpp",
|
|
|
|
"lib/Dialect/SCF/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/SCF/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":IR",
|
|
|
|
":LoopLikeInterface",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFIncGen",
|
|
|
|
":SCFPassIncGen",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgInterfaces",
|
|
|
|
srcs = ["lib/Dialect/Linalg/IR/LinalgInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
2021-07-19 14:35:20 -07:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LinalgInterfacesIncGen",
|
|
|
|
":LinalgStructuredOpsIncGen",
|
|
|
|
":MemRefDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":TensorDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "DataLayoutInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/DataLayoutInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/DataLayoutInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":DataLayoutInterfacesIncGen",
|
|
|
|
":IR",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LoopLikeInterface",
|
|
|
|
srcs = ["lib/Interfaces/LoopLikeInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/LoopLikeInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LoopLikeInterfaceIncGen",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/VectorInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/VectorInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":VectorInterfacesIncGen",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ViewLikeInterface",
|
|
|
|
srcs = ["lib/Interfaces/ViewLikeInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/ViewLikeInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-06-27 08:30:54 -07:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":ViewLikeInterfaceIncGen",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "CopyOpInterface",
|
|
|
|
srcs = ["lib/Interfaces/CopyOpInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/CopyOpInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CopyOpInterfaceIncGen",
|
|
|
|
":IR",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ShapeOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeBase.td",
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
|
|
|
":InferTypeOpInterfaceTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ShapeOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Shape/IR/ShapeOps.td",
|
|
|
|
deps = [":ShapeOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MLIRShapeCanonicalizationIncGen",
|
|
|
|
strip_include_prefix = "include/mlir/Dialect/Shape/IR",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"include/mlir/Dialect/Shape/IR/ShapeCanonicalization.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Dialect/Shape/IR/ShapeCanonicalization.td",
|
|
|
|
deps = [
|
|
|
|
":ShapeOpsTdFiles",
|
|
|
|
":StdOpsTdFiles",
|
|
|
|
":TensorOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Shape",
|
|
|
|
srcs = glob(["lib/Dialect/Shape/IR/*.cpp"]),
|
|
|
|
hdrs = ["include/mlir/Dialect/Shape/IR/Shape.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CallOpInterfaces",
|
|
|
|
":CommonFolders",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":Dialect",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":MLIRShapeCanonicalizationIncGen",
|
|
|
|
":ShapeOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ShapeToStandardGen",
|
|
|
|
strip_include_prefix = "lib/Conversion/ShapeToStandard",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"lib/Conversion/ShapeToStandard/ShapeToStandard.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Conversion/ShapeToStandard/ShapeToStandard.td",
|
|
|
|
deps = [":ShapeOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ShapeToStandard",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/ShapeToStandard/*.cpp",
|
|
|
|
"lib/Conversion/ShapeToStandard/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = ["include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":Shape",
|
|
|
|
":ShapeToStandardGen",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ShapeTransformsPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Shape",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Shape/Transforms/Passes.h.inc",
|
|
|
|
)],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Shape/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ShapeTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Shape/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Shape/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = ["include/mlir/Dialect/Shape/Transforms/Passes.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":Shape",
|
|
|
|
":ShapeTransformsPassIncGen",
|
|
|
|
":StandardOps",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "StandardOps",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/StandardOps/IR/*.cpp",
|
|
|
|
"lib/Dialect/StandardOps/IR/*.h",
|
|
|
|
"lib/Dialect/StandardOps/Utils/*.cpp",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/StandardOps/IR/*.h",
|
|
|
|
"include/mlir/Dialect/StandardOps/Utils/*.h",
|
|
|
|
]) + ["include/mlir/Transforms/InliningUtils.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CallOpInterfaces",
|
|
|
|
":CastOpInterfaces",
|
|
|
|
":CommonFolders",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOpsIncGen",
|
|
|
|
":Support",
|
|
|
|
":VectorInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "StandardOpsTransformsPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Standard",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/StandardOps/Transforms/Passes.h.inc",
|
|
|
|
)],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/StandardOps/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "StandardOpsTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/StandardOps/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/StandardOps/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/StandardOps/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
|
|
|
":ArithmeticTransforms",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect", # TODO: Remove dependency on MemRef dialect
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransformsPassIncGen",
|
|
|
|
":Support",
|
2021-07-02 09:09:59 -07:00
|
|
|
":TensorDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorOps",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Vector/*.cpp",
|
|
|
|
"lib/Dialect/Vector/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/Vector/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":AffineUtils",
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":MemRefDialect",
|
|
|
|
":SCFDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":VectorInterfaces",
|
|
|
|
":VectorOpsIncGen",
|
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Support",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Support/*.cpp",
|
|
|
|
"lib/Support/*.h",
|
|
|
|
],
|
|
|
|
exclude = [
|
|
|
|
# TODO(jpienaar): Move this out, else Support depends on Analysis/
|
|
|
|
"lib/Support/MlirOptMain.cpp",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(
|
|
|
|
["include/mlir/Support/*.h"],
|
|
|
|
exclude = ["include/mlir/Support/MlirOptMain.h"],
|
|
|
|
),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = ["//llvm:Support"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MlirLspServerLib",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Tools/mlir-lsp-server/*.cpp",
|
|
|
|
"lib/Tools/mlir-lsp-server/*.h",
|
|
|
|
"lib/Tools/mlir-lsp-server/lsp/*.cpp",
|
|
|
|
"lib/Tools/mlir-lsp-server/lsp/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(
|
|
|
|
["include/mlir/Tools/mlir-lsp-server/*.h"],
|
|
|
|
),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ParserTokenKinds",
|
|
|
|
# strip_include_prefix does not apply to textual_hdrs.
|
|
|
|
hdrs = ["lib/Parser/TokenKinds.def"],
|
|
|
|
strip_include_prefix = "lib/Parser",
|
|
|
|
textual_hdrs = ["lib/Parser/TokenKinds.def"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Parser",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Parser/*.cpp",
|
|
|
|
"lib/Parser/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Parser/*.h",
|
|
|
|
]) + [
|
|
|
|
"include/mlir/Parser.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":ParserTokenKinds",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LLVMDialectInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.cpp.inc",
|
|
|
|
),
|
2021-07-15 18:16:07 +02:00
|
|
|
(
|
|
|
|
["-gen-type-interface-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.td",
|
|
|
|
deps = [":LLVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LLVMDialectAttributesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["--gen-attrdef-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["--gen-attrdef-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td",
|
|
|
|
deps = [":LLVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LLVMDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/LLVMIR/IR/*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*.h",
|
|
|
|
],
|
|
|
|
exclude = [
|
|
|
|
"lib/Dialect/LLVMIR/IR/*AMX*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*AMX*.h",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*ArmSVE*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*ArmSVE*.h",
|
|
|
|
"lib/Dialect/LLVMIR/IR/NVVM*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/NVVM*.h",
|
|
|
|
"lib/Dialect/LLVMIR/IR/ROCDL*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/ROCDL*.h",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*X86Vector*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/IR/*X86Vector*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(
|
|
|
|
["include/mlir/Dialect/LLVMIR/*.h"],
|
|
|
|
exclude = [
|
|
|
|
"include/mlir/Dialect/LLVMIR/*AMX*.h",
|
|
|
|
"include/mlir/Dialect/LLVMIR/*ArmSVE*.h",
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVM*.h",
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDL*.h",
|
|
|
|
"include/mlir/Dialect/LLVMIR/*X86Vector*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialectAttributesIncGen",
|
|
|
|
":LLVMDialectInterfaceIncGen",
|
|
|
|
":LLVMOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":Support",
|
|
|
|
"//llvm:AsmParser",
|
|
|
|
"//llvm:BitReader",
|
|
|
|
"//llvm:BitWriter",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LLVMPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=LLVM",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/LLVMIR/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LLVMIRTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/LLVMIR/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/LLVMIR/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/LLVMIR/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMPassIncGen",
|
|
|
|
":Pass",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "GPUOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/GPU/GPUBase.td",
|
|
|
|
"include/mlir/Dialect/GPU/GPUOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":DLTIDialectTdFiles",
|
|
|
|
":DataLayoutInterfacesTdFiles",
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ParallelLoopMapperAttrGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-decls"],
|
|
|
|
"include/mlir/Dialect/GPU/ParallelLoopMapperAttr.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-defs"],
|
|
|
|
"include/mlir/Dialect/GPU/ParallelLoopMapperAttr.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/GPU/ParallelLoopMapperEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/GPU/ParallelLoopMapperEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/GPU/ParallelLoopMapperAttr.td",
|
|
|
|
deps = [":GPUOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "GPUBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=gpu",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=gpu",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/GPU/GPUBase.td",
|
|
|
|
deps = [":GPUOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "GPUOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOps.cpp.inc",
|
|
|
|
),
|
2021-11-01 11:43:54 -07:00
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/GPU/GPUOpsEnums.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/GPU/GPUOps.td",
|
|
|
|
deps = [
|
|
|
|
":DLTIDialectTdFiles",
|
|
|
|
":GPUOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/GPU/IR/*.cpp",
|
|
|
|
"lib/Dialect/GPU/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/GPU/GPUDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":DLTIDialect",
|
|
|
|
":GPUBaseIncGen",
|
|
|
|
":GPUOpsIncGen",
|
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "GPUPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=GPU",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/GPU/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=GPU",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/GPU/Passes.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=GPU",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/GPU/Passes.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/GPU/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUTransforms",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/GPU/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/GPU/Transforms/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/GPU/MemoryPromotion.h",
|
|
|
|
"include/mlir/Dialect/GPU/ParallelLoopMapper.h",
|
|
|
|
"include/mlir/Dialect/GPU/Passes.h",
|
|
|
|
"include/mlir/Dialect/GPU/Utils.h",
|
|
|
|
],
|
|
|
|
defines = if_cuda_available(["MLIR_GPU_TO_CUBIN_PASS_ENABLE"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Async",
|
2021-12-16 09:47:41 +00:00
|
|
|
":DLTIDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":GPUDialect",
|
|
|
|
":GPUPassIncGen",
|
|
|
|
":MemRefDialect",
|
|
|
|
":IR",
|
|
|
|
":ParallelLoopMapperAttrGen",
|
2021-12-16 12:11:50 +00:00
|
|
|
":Parser",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ROCDLToLLVMIRTranslation",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
2021-10-15 12:29:48 +02:00
|
|
|
"//llvm:MC",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:Target",
|
|
|
|
] + if_cuda_available([
|
|
|
|
# Dependencies for SerializeToCubin.cpp with
|
|
|
|
# -DMLIR_GPU_TO_CUBIN_PASS_ENABLE
|
|
|
|
":NVVMToLLVMIRTranslation",
|
|
|
|
"//llvm:NVPTXCodeGen",
|
|
|
|
"@cuda//:cuda_headers",
|
|
|
|
"@cuda//:libcuda",
|
|
|
|
]),
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "LLVMOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOps.td",
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUCommonTransforms",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/GPUCommon/GPUOpsLowering.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"lib/Conversion/GPUCommon/GPUOpsLowering.h",
|
|
|
|
"lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h",
|
|
|
|
"lib/Conversion/GPUCommon/OpToFuncCallLowering.h",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":GPUDialect",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":StandardOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "GPUToNVVMGen",
|
|
|
|
strip_include_prefix = "lib/Conversion/GPUToNVVM",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"lib/Conversion/GPUToNVVM/GPUToNVVM.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Conversion/GPUToNVVM/GPUToNVVM.td",
|
|
|
|
deps = [
|
|
|
|
":GPUOpsTdFiles",
|
|
|
|
":NVVMOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUToNVVMTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/GPUToNVVM/*.cpp",
|
|
|
|
"lib/Conversion/GPUToNVVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/GPUToNVVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUCommonTransforms",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUToNVVMGen",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":MathDialect",
|
|
|
|
":MemRefDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":NVVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorToROCDL",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/VectorToROCDL/VectorToROCDL.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/VectorToROCDL/VectorToROCDL.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":ROCDLDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/VectorToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/VectorToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/VectorToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "GPUToROCDLTGen",
|
|
|
|
strip_include_prefix = "lib/Conversion/GPUToROCDL",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"lib/Conversion/GPUToROCDL/GPUToROCDL.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Conversion/GPUToROCDL/GPUToROCDL.td",
|
|
|
|
deps = [
|
|
|
|
":GPUOpsTdFiles",
|
|
|
|
":ROCDLOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUToROCDLTransforms",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUCommonTransforms",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUToROCDLTGen",
|
|
|
|
":GPUTransforms",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MathDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":ROCDLDialect",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
":VectorToLLVM",
|
|
|
|
":VectorToROCDL",
|
|
|
|
":VectorToSCF",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUToVulkanTransforms",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp",
|
|
|
|
"lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVSerialization",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUToGPURuntimeTransforms",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/GPUCommon/GPUCommonPass.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Async",
|
|
|
|
":AsyncToLLVM",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
2021-07-08 21:36:44 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":NVVMToLLVMIRTranslation",
|
|
|
|
":Pass",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Support",
|
|
|
|
":VectorToLLVM",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "GPUToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/GPUToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/GPUToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/GPUToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversions/GPUToSPIRV",
|
|
|
|
],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":IR",
|
2021-07-29 16:22:46 -04:00
|
|
|
":MemRefToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SCFToSPIRV",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorToSPIRV",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "PDLToPDLInterp",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/PDLToPDLInterp/*.cpp",
|
|
|
|
"lib/Conversion/PDLToPDLInterp/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = ["include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":PDLDialect",
|
|
|
|
":PDLInterpDialect",
|
|
|
|
":Pass",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/SPIRVToLLVM/*.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/SPIRVToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":IR",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVUtils",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LLVMOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMOpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
|
|
|
|
deps = [":LLVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LLVMConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMConversions.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-to-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-from-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/LLVMConversionEnumsFromLLVM.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
|
|
|
|
deps = [":LLVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "NVVMDialect",
|
|
|
|
srcs = ["lib/Dialect/LLVMIR/IR/NVVMDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/LLVMIR/NVVMDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":NVVMOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:AsmParser",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "NVVMOpsTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/LLVMIR/NVVMOps.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "NVVMOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=nvvm",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=nvvm",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-10-27 22:43:10 -07:00
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMOpsEnums.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
|
|
|
|
deps = [":NVVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "NVVMConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/NVVMConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
|
|
|
|
deps = [":NVVMOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ROCDLDialect",
|
|
|
|
srcs = ["lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/LLVMIR/ROCDLDialect.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":ROCDLOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:AsmParser",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ROCDLOpsTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/LLVMIR/ROCDLOps.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ROCDLOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDLOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDLOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=rocdl",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=rocdl",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
|
|
|
|
deps = [":ROCDLOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ROCDLConversionIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-llvmir-conversions"],
|
|
|
|
"include/mlir/Dialect/LLVMIR/ROCDLConversions.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
|
|
|
|
deps = [":ROCDLOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "PDLDialect",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/PDL/IR/*.cpp",
|
|
|
|
"lib/Dialect/PDL/IR/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/PDL/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":PDLOpsIncGen",
|
|
|
|
":PDLTypesIncGen",
|
|
|
|
":SideEffects",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "PDLDialectTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLDialect.td",
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOps.td",
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLTypes.td",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "PDLOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/PDL/IR/PDLOps.td",
|
|
|
|
deps = [":PDLDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "PDLTypesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-typedef-decls"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOpsTypes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-typedef-defs"],
|
|
|
|
"include/mlir/Dialect/PDL/IR/PDLOpsTypes.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/PDL/IR/PDLTypes.td",
|
|
|
|
deps = [":PDLDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "PDLInterpDialect",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/PDLInterp/IR/*.cpp",
|
|
|
|
"lib/Dialect/PDLInterp/IR/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/PDLInterp/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":PDLDialect",
|
|
|
|
":PDLInterpOpsIncGen",
|
|
|
|
":SideEffects",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "PDLInterpOpsTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":PDLDialectTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "PDLInterpOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=pdl_interp",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=pdl_interp",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
|
|
|
|
deps = [":PDLInterpOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "SPIRVOpsTdFiles",
|
|
|
|
srcs = glob(["include/mlir/Dialect/SPIRV/IR/*.td"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CallInterfacesTdFiles",
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/SPIRV/SPIRVOps.md",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-spirv-enum-avail-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-spirv-enum-avail-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-spirv-capability-implication"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVCapabilityImplication.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVCanonicalizationIncGen",
|
|
|
|
strip_include_prefix = "lib/Dialect/SPIRV/IR",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"lib/Dialect/SPIRV/IR/SPIRVCanonicalization.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVAvailabilityIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-avail-interface-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-avail-interface-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-spirv-avail-impls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVOpAvailabilityImpl.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVTargetAndABIStructGen",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-decls"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/TargetAndABI.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-defs"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/TargetAndABI.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/IR/TargetAndABI.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVAttrUtilsGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-spirv-attr-utils"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVAttrUtils.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVBase.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVSerializationGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-spirv-serialization"],
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/SPIRVSerialization.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
|
|
|
|
deps = [":SPIRVOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVDialect",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SPIRV/IR/*.cpp",
|
|
|
|
"lib/Dialect/SPIRV/IR/*.h",
|
|
|
|
]) + ["include/mlir/Transforms/InliningUtils.h"],
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/SPIRV/IR/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CommonFolders",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":IR",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Parser",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVAttrUtilsGen",
|
|
|
|
":SPIRVAvailabilityIncGen",
|
|
|
|
":SPIRVCanonicalizationIncGen",
|
|
|
|
":SPIRVOpsIncGen",
|
|
|
|
":SPIRVSerializationGen",
|
|
|
|
":SPIRVTargetAndABIStructGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SPIRVPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=SPIRV",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/SPIRV/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/SPIRV/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVUtils",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/SPIRV/Utils/*.cpp",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/SPIRV/Utils/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVConversion",
|
|
|
|
srcs = ["lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVTransforms",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/SPIRV/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/SPIRV/Transforms/*.h",
|
|
|
|
],
|
|
|
|
exclude = ["lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp"],
|
|
|
|
),
|
|
|
|
hdrs = glob(
|
|
|
|
["include/mlir/Dialect/SPIRV/Transforms/*.h"],
|
|
|
|
exclude = ["include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"],
|
|
|
|
),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVPassIncGen",
|
|
|
|
":SPIRVUtils",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-10-12 23:14:57 +00:00
|
|
|
cc_library(
|
|
|
|
name = "SPIRVCommonConversion",
|
|
|
|
hdrs = ["lib/Conversion/SPIRVCommon/Pattern.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-29 16:21:43 -04:00
|
|
|
cc_library(
|
|
|
|
name = "MathToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/MathToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/MathToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-07-29 16:21:43 -04:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/MathToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/MathToSPIRV",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
2021-10-12 23:14:57 +00:00
|
|
|
":SPIRVCommonConversion",
|
2021-07-29 16:21:43 -04:00
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
|
|
|
name = "StandardToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/StandardToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/StandardToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/StandardToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/StandardToSPIRV",
|
|
|
|
],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-10-12 23:14:57 +00:00
|
|
|
":MathToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
2021-10-12 23:14:57 +00:00
|
|
|
":SPIRVCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVUtils",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVBinaryUtils",
|
|
|
|
srcs = ["lib/Target/SPIRV/SPIRVBinaryUtils.cpp"],
|
|
|
|
hdrs = ["include/mlir/Target/SPIRV/SPIRVBinaryUtils.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SPIRVAttrUtilsGen",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVOpsIncGen",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVSerialization",
|
|
|
|
srcs = [
|
|
|
|
"lib/Target/SPIRV/Serialization/Serialization.cpp",
|
|
|
|
"lib/Target/SPIRV/Serialization/SerializeOps.cpp",
|
|
|
|
"lib/Target/SPIRV/Serialization/Serializer.cpp",
|
|
|
|
"lib/Target/SPIRV/Serialization/Serializer.h",
|
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Target/SPIRV/Serialization.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SPIRVAttrUtilsGen",
|
|
|
|
":SPIRVBinaryUtils",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVOpsIncGen",
|
|
|
|
":SPIRVSerializationGen",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVDeserialization",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Target/SPIRV/Deserialization/*.cpp",
|
|
|
|
"lib/Target/SPIRV/Deserialization/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = ["include/mlir/Target/SPIRV/Deserialization.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SPIRVAttrUtilsGen",
|
|
|
|
":SPIRVBinaryUtils",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVOpsIncGen",
|
|
|
|
":SPIRVSerializationGen",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVModuleCombiner",
|
|
|
|
srcs = glob(
|
|
|
|
["lib/Dialect/SPIRV/Linking/ModuleCombiner/*.cpp"],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/SPIRV/Linking/ModuleCombiner.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SPIRVTranslateRegistration",
|
|
|
|
srcs = ["lib/Target/SPIRV/TranslateRegistration.cpp"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":SPIRVDeserialization",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVSerialization",
|
|
|
|
":Support",
|
|
|
|
":Translation",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "TensorOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorBase.td",
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CastInterfacesTdFiles",
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
2021-07-13 14:51:20 -07:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
2021-06-23 09:25:36 -07:00
|
|
|
":ViewLikeInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TensorOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=tensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=tensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Tensor/IR/TensorOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Tensor/IR/TensorOps.td",
|
|
|
|
deps = [":TensorOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TensorDialect",
|
2021-12-10 12:03:47 +01:00
|
|
|
srcs = [
|
|
|
|
"include/mlir/Transforms/InliningUtils.h",
|
|
|
|
"lib/Dialect/Tensor/IR/TensorDialect.cpp",
|
|
|
|
"lib/Dialect/Tensor/IR/TensorOps.cpp",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = ["include/mlir/Dialect/Tensor/IR/Tensor.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CastOpInterfaces",
|
|
|
|
":ControlFlowInterfaces",
|
2021-06-27 08:30:54 -07:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
2021-07-13 14:51:20 -07:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SideEffectInterfaces",
|
2021-06-23 09:25:36 -07:00
|
|
|
":StandardOps",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Support",
|
|
|
|
":TensorOpsIncGen",
|
2021-06-23 09:25:36 -07:00
|
|
|
":ViewLikeInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-12-10 12:03:47 +01:00
|
|
|
cc_library(
|
|
|
|
name = "TensorInferTypeOpInterfaceImpl",
|
|
|
|
srcs = ["lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":StandardOps",
|
|
|
|
":TensorDialect",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TensorPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Tensor",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Tensor/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Tensor/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TensorTransforms",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Tensor/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Tensor/Transforms/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/Tensor/Transforms/Passes.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Async",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":ParallelLoopMapperAttrGen",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":TensorPassIncGen",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Rewrite",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Rewrite/*.cpp",
|
|
|
|
"lib/Rewrite/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Rewrite/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":IR",
|
|
|
|
":PDLDialect",
|
|
|
|
":PDLInterpDialect",
|
|
|
|
":PDLToPDLInterp",
|
|
|
|
":Pass",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TransformUtils",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Transforms/Utils/*.cpp",
|
|
|
|
"lib/Transforms/Utils/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":Rewrite",
|
|
|
|
":SCFDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TransformsPassIncGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "DerivedAttributeOpInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/DerivedAttributeOpInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/DerivedAttributeOpInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/DerivedAttributeOpInterface.td",
|
|
|
|
deps = [":DerivedAttributeOpInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "DerivedAttributeOpInterface",
|
|
|
|
srcs = ["lib/Interfaces/DerivedAttributeOpInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/DerivedAttributeOpInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":DerivedAttributeOpInterfaceIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "DataLayoutInterfacesTdFiles",
|
|
|
|
srcs = ["include/mlir/Interfaces/DataLayoutInterfaces.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "DataLayoutInterfacesIncGen",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutAttrInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-attr-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutAttrInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutOpInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutOpInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutTypeInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/DataLayoutTypeInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/DataLayoutInterfaces.td",
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LoopLikeInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/LoopLikeInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/LoopLikeInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/LoopLikeInterface.td",
|
|
|
|
deps = [":LoopLikeInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "VectorInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/VectorInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/VectorInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/VectorInterfaces.td",
|
|
|
|
deps = [":VectorInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ViewLikeInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/ViewLikeInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/ViewLikeInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/ViewLikeInterface.td",
|
|
|
|
deps = [":ViewLikeInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "CopyOpInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/CopyOpInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/CopyOpInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/CopyOpInterface.td",
|
|
|
|
deps = [":CopyOpInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TransformsPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Transforms",
|
|
|
|
],
|
|
|
|
"include/mlir/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=Transforms",
|
|
|
|
],
|
|
|
|
"include/mlir/Transforms/Transforms.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=Transforms",
|
|
|
|
],
|
|
|
|
"include/mlir/Transforms/Transforms.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Transforms/Passes.td",
|
|
|
|
deps = [
|
|
|
|
":PassBaseTdFiles",
|
|
|
|
":RewritePassBaseTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Transforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Transforms/*.cpp",
|
|
|
|
"lib/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-11-23 10:04:47 +01:00
|
|
|
":AllocationOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":CopyOpInterface",
|
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":LoopLikeInterface",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":Rewrite",
|
|
|
|
":SCFDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":TransformUtils",
|
|
|
|
":TransformsPassIncGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "CommonFolders",
|
|
|
|
srcs = [
|
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Dialect/CommonFolders.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFToGPU",
|
|
|
|
srcs = ["lib/Conversion/SCFToGPU/SCFToGPU.cpp"],
|
|
|
|
hdrs = ["include/mlir/Conversion/SCFToGPU/SCFToGPU.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":AffineToStandard",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFToGPUPass",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/SCFToGPU/SCFToGPUPass.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":GPUDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SCFToGPU",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/SCFToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/SCFToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/SCFToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-29 16:22:46 -04:00
|
|
|
":MemRefToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFToOpenMP",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/SCFToOpenMP/SCFToOpenMP.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-09-22 17:11:45 +00:00
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-08-25 11:07:17 +02:00
|
|
|
":LLVMDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpenMPDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
2021-08-25 11:07:17 +02:00
|
|
|
":StandardOps",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SCFToStandard",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/SCFToStandard/SCFToStandard.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = ["include/mlir/Conversion/SCFToStandard/SCFToStandard.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
alias(
|
|
|
|
name = "CFGTransforms",
|
|
|
|
actual = "SCFToStandard",
|
|
|
|
)
|
|
|
|
|
2021-07-07 16:50:23 -07:00
|
|
|
cc_library(
|
|
|
|
name = "LLVMCommonConversion",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/LLVMCommon/*.cpp",
|
|
|
|
]) + ["lib/Conversion/LLVMCommon/MemRefDescriptor.h"],
|
|
|
|
hdrs = glob(["include/mlir/Conversion/LLVMCommon/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
[mlir] Factor type reconciliation out of Standard-to-LLVM conversion
Conversion to the LLVM dialect is being refactored to be more progressive and
is now performed as a series of independent passes converting different
dialects. These passes may produce `unrealized_conversion_cast` operations that
represent pending conversions between built-in and LLVM dialect types.
Historically, a more monolithic Standard-to-LLVM conversion pass did not need
these casts as all operations were converted in one shot. Previous refactorings
have led to the requirement of running the Standard-to-LLVM conversion pass to
clean up `unrealized_conversion_cast`s even though the IR had no standard
operations in it. The pass must have been also run the last among all to-LLVM
passes, in contradiction with the partial conversion logic. Additionally, the
way it was set up could produce invalid operations by removing casts between
LLVM and built-in types even when the consumer did not accept the uncasted
type, or could lead to cryptic conversion errors (recursive application of the
rewrite pattern on `unrealized_conversion_cast` as a means to indicate failure
to eliminate casts).
In fact, the need to eliminate A->B->A `unrealized_conversion_cast`s is not
specific to to-LLVM conversions and can be factored out into a separate type
reconciliation pass, which is achieved in this commit. While the cast operation
itself has a folder pattern, it is insufficient in most conversion passes as
the folder only applies to the second cast. Without complex legality setup in
the conversion target, the conversion infra will either consider the cast
operations valid and not fold them (a separate canonicalization would be
necessary to trigger the folding), or consider the first cast invalid upon
generation and stop with error. The pattern provided by the reconciliation pass
applies to the first cast operation instead. Furthermore, having a separate
pass makes it clear when `unrealized_conversion_cast`s could not have been
eliminated since it is the only reason why this pass can fail.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D109507
2021-09-09 16:06:10 +02:00
|
|
|
cc_library(
|
|
|
|
name = "ReconcileUnrealizedCasts",
|
2021-12-10 02:03:50 +00:00
|
|
|
srcs = glob(["lib/Conversion/ReconcileUnrealizedCasts/*.cpp"]) + [":ConversionPassDetail"],
|
[mlir] Factor type reconciliation out of Standard-to-LLVM conversion
Conversion to the LLVM dialect is being refactored to be more progressive and
is now performed as a series of independent passes converting different
dialects. These passes may produce `unrealized_conversion_cast` operations that
represent pending conversions between built-in and LLVM dialect types.
Historically, a more monolithic Standard-to-LLVM conversion pass did not need
these casts as all operations were converted in one shot. Previous refactorings
have led to the requirement of running the Standard-to-LLVM conversion pass to
clean up `unrealized_conversion_cast`s even though the IR had no standard
operations in it. The pass must have been also run the last among all to-LLVM
passes, in contradiction with the partial conversion logic. Additionally, the
way it was set up could produce invalid operations by removing casts between
LLVM and built-in types even when the consumer did not accept the uncasted
type, or could lead to cryptic conversion errors (recursive application of the
rewrite pattern on `unrealized_conversion_cast` as a means to indicate failure
to eliminate casts).
In fact, the need to eliminate A->B->A `unrealized_conversion_cast`s is not
specific to to-LLVM conversions and can be factored out into a separate type
reconciliation pass, which is achieved in this commit. While the cast operation
itself has a folder pattern, it is insufficient in most conversion passes as
the folder only applies to the second cast. Without complex legality setup in
the conversion target, the conversion infra will either consider the cast
operations valid and not fold them (a separate canonicalization would be
necessary to trigger the folding), or consider the first cast invalid upon
generation and stop with error. The pattern provided by the reconciliation pass
applies to the first cast operation instead. Furthermore, having a separate
pass makes it clear when `unrealized_conversion_cast`s could not have been
eliminated since it is the only reason why this pass can fail.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D109507
2021-09-09 16:06:10 +02:00
|
|
|
hdrs = glob(["include/mlir/Conversion/ReconcileUnrealizedCasts/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":TransformUtils",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
|
|
|
name = "StandardToLLVM",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/StandardToLLVM/StandardToLLVM.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h",
|
|
|
|
"include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DataLayoutInterfaces",
|
2021-06-27 08:30:54 -07:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":MathDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Parser",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-12 11:24:13 -07:00
|
|
|
cc_library(
|
|
|
|
name = "MemRefToLLVM",
|
2021-12-10 02:03:50 +00:00
|
|
|
srcs = glob(["lib/Conversion/MemRefToLLVM/*.cpp"]) + [":ConversionPassDetail"],
|
2021-07-12 11:24:13 -07:00
|
|
|
hdrs = glob(["include/mlir/Conversion/MemRefToLLVM/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":IR",
|
|
|
|
":LLVMCommonConversion",
|
|
|
|
":LLVMDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-29 16:22:46 -04:00
|
|
|
cc_library(
|
|
|
|
name = "MemRefToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/MemRefToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/MemRefToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-07-29 16:22:46 -04:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/MemRefToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/MemRefToSPIRV",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-10-12 23:14:57 +00:00
|
|
|
cc_library(
|
|
|
|
name = "ArithmeticToLLVM",
|
2021-12-10 02:03:50 +00:00
|
|
|
srcs = glob(["lib/Conversion/ArithmeticToLLVM/*.cpp"]) + [":ConversionPassDetail"],
|
2021-10-12 23:14:57 +00:00
|
|
|
hdrs = glob(["include/mlir/Conversion/ArithmeticToLLVM/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":ArithmeticDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMCommonConversion",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArithmeticToSPIRV",
|
2021-12-10 02:03:50 +00:00
|
|
|
srcs = glob(["lib/Conversion/ArithmeticToSPIRV/*.cpp"]) + [":ConversionPassDetail"],
|
2021-10-12 23:14:57 +00:00
|
|
|
hdrs = glob(["include/mlir/Conversion/ArithmeticToSPIRV/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArithmeticDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVCommonConversion",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-07-12 11:24:13 -07:00
|
|
|
cc_library(
|
|
|
|
name = "MathToLLVM",
|
2021-12-10 02:03:50 +00:00
|
|
|
srcs = glob(["lib/Conversion/MathToLLVM/*.cpp"]) + [":ConversionPassDetail"],
|
2021-07-12 11:24:13 -07:00
|
|
|
hdrs = glob(["include/mlir/Conversion/MathToLLVM/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":IR",
|
|
|
|
":LLVMCommonConversion",
|
|
|
|
":LLVMDialect",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
alias(
|
|
|
|
name = "LLVMTransforms",
|
|
|
|
actual = "StandardToLLVM",
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "CallOpInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/CallInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/CallInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/CallInterfaces.td",
|
|
|
|
deps = [":CallInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "CallOpInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/CallInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/CallInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CallOpInterfacesIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "CastOpInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/CastInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/CastInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/CastInterfaces.td",
|
|
|
|
deps = [":CastInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "CastOpInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/CastInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/CastInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CastOpInterfacesIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ControlFlowInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/ControlFlowInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/ControlFlowInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/ControlFlowInterfaces.td",
|
|
|
|
deps = [":ControlFlowInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ControlFlowInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/ControlFlowInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/ControlFlowInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "InferTypeOpInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/InferTypeOpInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/InferTypeOpInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/InferTypeOpInterface.td",
|
|
|
|
deps = [":InferTypeOpInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "InferTypeOpInterface",
|
|
|
|
srcs = ["lib/Interfaces/InferTypeOpInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/InferTypeOpInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterfaceIncGen",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "SideEffectInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/SideEffectInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/SideEffectInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/SideEffectInterfaces.td",
|
|
|
|
deps = [":SideEffectInterfacesTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "SideEffectInterfaces",
|
|
|
|
srcs = ["lib/Interfaces/SideEffectInterfaces.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/SideEffectInterfaces.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfacesIncGen",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
alias(
|
|
|
|
name = "SideEffects",
|
|
|
|
actual = "SideEffectInterfaces",
|
|
|
|
)
|
|
|
|
|
2021-08-30 15:55:30 -07:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TilingInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Interfaces/TilingInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Interfaces/TilingInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Interfaces/TilingInterface.td",
|
|
|
|
deps = [":TilingInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
|
|
|
name = "Analysis",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Analysis/*.cpp",
|
|
|
|
"lib/Analysis/*.h",
|
|
|
|
"lib/Analysis/*/*.cpp",
|
|
|
|
"lib/Analysis/*/*.h",
|
|
|
|
],
|
|
|
|
exclude = [
|
|
|
|
"lib/Analysis/Vector*.cpp",
|
|
|
|
"lib/Analysis/Vector*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(
|
|
|
|
[
|
|
|
|
"include/mlir/Analysis/*.h",
|
|
|
|
"include/mlir/Analysis/*/*.h",
|
|
|
|
],
|
|
|
|
exclude = ["include/mlir/Analysis/Vector*.h"],
|
|
|
|
),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CallOpInterfaces",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":SCFDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Translation",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Translation/*.cpp",
|
|
|
|
"lib/Translation/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = ["include/mlir/Translation.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ToLLVMIRTranslation",
|
|
|
|
srcs = [
|
|
|
|
"lib/Target/LLVMIR/DebugTranslation.cpp",
|
|
|
|
"lib/Target/LLVMIR/DebugTranslation.h",
|
|
|
|
"lib/Target/LLVMIR/ModuleTranslation.cpp",
|
2021-06-24 09:42:14 -07:00
|
|
|
"lib/Target/LLVMIR/TypeToLLVM.cpp",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Target/LLVMIR/Export.h",
|
|
|
|
"include/mlir/Target/LLVMIR/LLVMTranslationInterface.h",
|
|
|
|
"include/mlir/Target/LLVMIR/ModuleTranslation.h",
|
2021-06-24 09:42:14 -07:00
|
|
|
"include/mlir/Target/LLVMIR/TypeToLLVM.h",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMConversionIncGen",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMIRTransforms",
|
|
|
|
":OpenMPDialect",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:FrontendOpenMP",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:TransformUtils",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AMXToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/AMX/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/AMX/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AMX",
|
|
|
|
":AMXConversionIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "X86VectorToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/X86Vector/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/X86Vector/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
":X86Vector",
|
|
|
|
":X86VectorConversionIncGen",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmNeonToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/ArmNeon/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ArmNeon/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmNeon",
|
|
|
|
":ArmNeonConversionIncGen",
|
|
|
|
":ArmNeonIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArmSVEToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/ArmSVE/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ArmSVE/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArmSVE",
|
|
|
|
":ArmSVEConversionIncGen",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "NVVMToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/NVVM/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/NVVM/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":NVVMConversionIncGen",
|
|
|
|
":NVVMDialect",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ROCDLToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/ROCDL/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ROCDL/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":ROCDLConversionIncGen",
|
|
|
|
":ROCDLDialect",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LLVMToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/LLVMIR/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/LLVMIR/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMConversionIncGen",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenACCToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/OpenACC/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/OpenACC/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":OpenACCDialect",
|
|
|
|
":OpenACCToLLVM",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:FrontendOpenMP",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenMPToLLVMIRTranslation",
|
|
|
|
srcs = glob(["lib/Target/LLVMIR/Dialect/OpenMP/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/OpenMP/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":OpenMPDialect",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:FrontendOpenMP",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AllToLLVMIRTranslations",
|
|
|
|
hdrs = ["include/mlir/Target/LLVMIR/Dialect/All.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AMXToLLVMIRTranslation",
|
|
|
|
":ArmNeonToLLVMIRTranslation",
|
|
|
|
":ArmSVEToLLVMIRTranslation",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
":NVVMToLLVMIRTranslation",
|
|
|
|
":OpenACCToLLVMIRTranslation",
|
|
|
|
":OpenMPToLLVMIRTranslation",
|
|
|
|
":ROCDLToLLVMIRTranslation",
|
|
|
|
":X86VectorToLLVMIRTranslation",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ToLLVMIRTranslationRegistration",
|
|
|
|
srcs = ["lib/Target/LLVMIR/ConvertToLLVMIR.cpp"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllToLLVMIRTranslations",
|
|
|
|
":IR",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
":Translation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "FromLLVMIRTranslation",
|
|
|
|
srcs = [
|
|
|
|
"lib/Target/LLVMIR/ConvertFromLLVMIR.cpp",
|
2021-06-24 09:42:14 -07:00
|
|
|
"lib/Target/LLVMIR/TypeFromLLVM.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Target/LLVMIR/Import.h",
|
|
|
|
"include/mlir/Target/LLVMIR/TypeFromLLVM.h",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":LLVMConversionIncGen",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Support",
|
|
|
|
":Translation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:IRReader",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ExecutionEngine",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/ExecutionEngine/CRunnerUtils.h",
|
|
|
|
"lib/ExecutionEngine/ExecutionEngine.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/ExecutionEngine/ExecutionEngine.h",
|
|
|
|
"include/mlir/ExecutionEngine/MemRefUtils.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllToLLVMIRTranslations",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
":Translation",
|
2021-11-23 13:25:26 -08:00
|
|
|
"//llvm:AllTargetsAsmParsers",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:BitReader",
|
|
|
|
"//llvm:BitWriter",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:ExecutionEngine",
|
|
|
|
"//llvm:MC",
|
|
|
|
"//llvm:OrcJIT",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:Target", # fixdeps: keep
|
|
|
|
"//llvm:TransformUtils",
|
|
|
|
"//llvm:X86CodeGen", # fixdeps: keep
|
|
|
|
"//llvm:X86Disassembler", # fixdeps: keep
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ExecutionEngineUtils",
|
|
|
|
srcs = ["lib/ExecutionEngine/OptUtils.cpp"],
|
|
|
|
hdrs = ["include/mlir/ExecutionEngine/OptUtils.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
"//llvm:Analysis",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Coroutines",
|
|
|
|
"//llvm:IPO",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:Target",
|
|
|
|
"//llvm:common_transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
# TODO(jpienaar): Update this.
|
|
|
|
cc_library(
|
|
|
|
name = "MlirOptLib",
|
|
|
|
srcs = ["lib/Support/MlirOptMain.cpp"],
|
|
|
|
hdrs = ["include/mlir/Support/MlirOptMain.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Analysis",
|
|
|
|
":ConversionPasses",
|
|
|
|
":GPUToGPURuntimeTransforms",
|
|
|
|
":GPUToNVVMTransforms",
|
|
|
|
":GPUToROCDLTransforms",
|
|
|
|
":GPUToSPIRV",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Pass",
|
|
|
|
":SCFTransforms",
|
|
|
|
":ShapeToStandard",
|
|
|
|
":ShapeTransforms",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AllTranslations",
|
|
|
|
hdrs = ["include/mlir/InitAllTranslations.h"],
|
|
|
|
deps = [
|
|
|
|
":FromLLVMIRTranslation",
|
|
|
|
":SPIRVTranslateRegistration",
|
2021-09-02 10:04:48 -07:00
|
|
|
":TargetCpp",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ToLLVMIRTranslationRegistration",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MlirTranslateMain",
|
|
|
|
srcs = ["tools/mlir-translate/mlir-translate.cpp"],
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":AllTranslations",
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Support",
|
|
|
|
":Translation",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-translate",
|
|
|
|
deps = [":MlirTranslateMain"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AllPassesAndDialects",
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/InitAllDialects.h",
|
|
|
|
"include/mlir/InitAllPasses.h",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":AMX",
|
|
|
|
":AMXTransforms",
|
|
|
|
":Affine",
|
|
|
|
":AffinePassIncGen",
|
|
|
|
":AffineToStandard",
|
|
|
|
":AffineTransforms",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
|
|
|
":ArithmeticToLLVM",
|
|
|
|
":ArithmeticToSPIRV",
|
|
|
|
":ArithmeticTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ArmNeon",
|
|
|
|
":ArmSVE",
|
|
|
|
":ArmSVETransforms",
|
|
|
|
":Async",
|
|
|
|
":AsyncPassIncGen",
|
|
|
|
":AsyncToLLVM",
|
|
|
|
":AsyncTransforms",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexDialect",
|
|
|
|
":ComplexToLLVM",
|
|
|
|
":ConversionPasses",
|
|
|
|
":DLTIDialect",
|
|
|
|
":EmitC",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUPassIncGen",
|
|
|
|
":GPUToGPURuntimeTransforms",
|
|
|
|
":GPUToNVVMTransforms",
|
|
|
|
":GPUToROCDLTransforms",
|
|
|
|
":GPUToSPIRV",
|
|
|
|
":GPUToVulkanTransforms",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMIRTransforms",
|
|
|
|
":LLVMPassIncGen",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgPassIncGen",
|
|
|
|
":LinalgToLLVM",
|
|
|
|
":LinalgToSPIRV",
|
|
|
|
":LinalgToStandard",
|
|
|
|
":LinalgTransforms",
|
|
|
|
":MathDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MathToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MathToLibm",
|
2021-07-29 16:21:43 -04:00
|
|
|
":MathToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MathTransforms",
|
|
|
|
":MemRefDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-07-29 16:22:46 -04:00
|
|
|
":MemRefToSPIRV",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MemRefTransforms",
|
|
|
|
":NVVMDialect",
|
|
|
|
":OpenACCDialect",
|
|
|
|
":OpenMPDialect",
|
|
|
|
":OpenMPToLLVM",
|
|
|
|
":PDLDialect",
|
|
|
|
":PDLInterpDialect",
|
|
|
|
":PDLToPDLInterp",
|
|
|
|
":QuantOps",
|
|
|
|
":QuantPassIncGen",
|
|
|
|
":ROCDLDialect",
|
[mlir] Factor type reconciliation out of Standard-to-LLVM conversion
Conversion to the LLVM dialect is being refactored to be more progressive and
is now performed as a series of independent passes converting different
dialects. These passes may produce `unrealized_conversion_cast` operations that
represent pending conversions between built-in and LLVM dialect types.
Historically, a more monolithic Standard-to-LLVM conversion pass did not need
these casts as all operations were converted in one shot. Previous refactorings
have led to the requirement of running the Standard-to-LLVM conversion pass to
clean up `unrealized_conversion_cast`s even though the IR had no standard
operations in it. The pass must have been also run the last among all to-LLVM
passes, in contradiction with the partial conversion logic. Additionally, the
way it was set up could produce invalid operations by removing casts between
LLVM and built-in types even when the consumer did not accept the uncasted
type, or could lead to cryptic conversion errors (recursive application of the
rewrite pattern on `unrealized_conversion_cast` as a means to indicate failure
to eliminate casts).
In fact, the need to eliminate A->B->A `unrealized_conversion_cast`s is not
specific to to-LLVM conversions and can be factored out into a separate type
reconciliation pass, which is achieved in this commit. While the cast operation
itself has a folder pattern, it is insufficient in most conversion passes as
the folder only applies to the second cast. Without complex legality setup in
the conversion target, the conversion infra will either consider the cast
operations valid and not fold them (a separate canonicalization would be
necessary to trigger the folding), or consider the first cast invalid upon
generation and stop with error. The pattern provided by the reconciliation pass
applies to the first cast operation instead. Furthermore, having a separate
pass makes it clear when `unrealized_conversion_cast`s could not have been
eliminated since it is the only reason why this pass can fail.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D109507
2021-09-09 16:06:10 +02:00
|
|
|
":ReconcileUnrealizedCasts",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SCFDialect",
|
|
|
|
":SCFPassIncGen",
|
|
|
|
":SCFToGPUPass",
|
|
|
|
":SCFToStandard",
|
|
|
|
":SCFTransforms",
|
|
|
|
":SDBM",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVPassIncGen",
|
|
|
|
":SPIRVToLLVM",
|
|
|
|
":SPIRVTransforms",
|
|
|
|
":Shape",
|
|
|
|
":ShapeToStandard",
|
|
|
|
":ShapeTransforms",
|
|
|
|
":ShapeTransformsPassIncGen",
|
|
|
|
":SparseTensor",
|
|
|
|
":SparseTensorTransforms",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":StandardOpsTransformsPassIncGen",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":TensorDialect",
|
2021-12-10 12:03:47 +01:00
|
|
|
":TensorInferTypeOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":TensorTransforms",
|
|
|
|
":TosaDialect",
|
|
|
|
":TosaToLinalg",
|
|
|
|
":Transforms",
|
|
|
|
":TransformsPassIncGen",
|
|
|
|
":VectorOps",
|
|
|
|
":VectorToLLVM",
|
|
|
|
":VectorToROCDL",
|
|
|
|
":VectorToSCF",
|
|
|
|
":VectorToSPIRV",
|
|
|
|
":X86Vector",
|
|
|
|
":X86VectorTransforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-lsp-server",
|
|
|
|
srcs = ["tools/mlir-lsp-server/mlir-lsp-server.cpp"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":IR",
|
|
|
|
":MlirLspServerLib",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-opt",
|
|
|
|
srcs = ["tools/mlir-opt/mlir-opt.cpp"],
|
|
|
|
local_defines = ["MLIR_INCLUDE_TESTS"],
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":Analysis",
|
|
|
|
":IR",
|
|
|
|
":MlirOptLib",
|
|
|
|
":OpenMPDialect",
|
|
|
|
":Pass",
|
|
|
|
":QuantOps",
|
|
|
|
":SCFToGPUPass",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:AllTargetsCodeGens",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//mlir/test:TestAffine",
|
|
|
|
"//mlir/test:TestAnalysis",
|
|
|
|
"//mlir/test:TestDLTI",
|
|
|
|
"//mlir/test:TestDialect",
|
|
|
|
"//mlir/test:TestGPU",
|
|
|
|
"//mlir/test:TestIR",
|
|
|
|
"//mlir/test:TestLinalg",
|
|
|
|
"//mlir/test:TestMath",
|
|
|
|
"//mlir/test:TestPass",
|
|
|
|
"//mlir/test:TestReducer",
|
|
|
|
"//mlir/test:TestRewrite",
|
|
|
|
"//mlir/test:TestSCF",
|
|
|
|
"//mlir/test:TestSPIRV",
|
|
|
|
"//mlir/test:TestShapeDialect",
|
|
|
|
"//mlir/test:TestStandardOps",
|
|
|
|
"//mlir/test:TestStandardToLLVM",
|
|
|
|
"//mlir/test:TestTosaDialect",
|
|
|
|
"//mlir/test:TestTransforms",
|
|
|
|
"//mlir/test:TestTypeDialect",
|
|
|
|
"//mlir/test:TestVector",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MlirJitRunner",
|
|
|
|
srcs = ["lib/ExecutionEngine/JitRunner.cpp"],
|
|
|
|
hdrs = ["include/mlir/ExecutionEngine/JitRunner.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":ExecutionEngine",
|
|
|
|
":ExecutionEngineUtils",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
":OpenACCToLLVMIRTranslation",
|
|
|
|
":OpenMPToLLVMIRTranslation",
|
|
|
|
":Parser",
|
|
|
|
":Pass",
|
|
|
|
":SCFToStandard",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:OrcJIT",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "mlir_c_runner_utils",
|
|
|
|
srcs = [
|
|
|
|
"lib/ExecutionEngine/CRunnerUtils.cpp",
|
2021-11-02 14:05:51 -07:00
|
|
|
"lib/ExecutionEngine/SparseTensorUtils.cpp",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
2021-11-05 15:15:39 -07:00
|
|
|
hdrs = [
|
|
|
|
"include/mlir/ExecutionEngine/CRunnerUtils.h",
|
|
|
|
"include/mlir/ExecutionEngine/SparseTensorUtils.h",
|
|
|
|
],
|
2021-05-18 15:42:25 -07:00
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "mlir_async_runtime_api",
|
|
|
|
hdrs = ["include/mlir/ExecutionEngine/AsyncRuntime.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "mlir_async_runtime",
|
|
|
|
srcs = ["lib/ExecutionEngine/AsyncRuntime.cpp"],
|
|
|
|
copts = ["-Dmlir_async_runtime_EXPORTS"],
|
|
|
|
deps = [
|
|
|
|
":mlir_async_runtime_api",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "mlir_runner_utils",
|
|
|
|
srcs = ["lib/ExecutionEngine/RunnerUtils.cpp"],
|
|
|
|
hdrs = ["include/mlir/ExecutionEngine/RunnerUtils.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":mlir_c_runner_utils"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-cpu-runner",
|
|
|
|
srcs = ["tools/mlir-cpu-runner/mlir-cpu-runner.cpp"],
|
|
|
|
deps = [
|
|
|
|
":AllToLLVMIRTranslations",
|
|
|
|
":ExecutionEngineUtils",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
":MlirJitRunner",
|
|
|
|
":OpenACCToLLVMIRTranslation",
|
|
|
|
":OpenMPToLLVMIRTranslation",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:AsmParser",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:X86AsmParser",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
# This target provides the headers from LLVM's Support target without any of
|
|
|
|
# the symbols. In particular, it does not contain the static registration code
|
|
|
|
# which may be executed by at most one shared library loaded by ORCJit. Direct
|
|
|
|
# dependencies need to avoid requiring symbols from LLVMSupport by adding
|
|
|
|
# copts = ["-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1"].
|
|
|
|
#
|
|
|
|
# Bazel links the dependencies' object files instead of the archives, which
|
|
|
|
# means that symbols are linked in even if none are used. The LLVM cmake build
|
|
|
|
# on the other hand links archives (or shared libraries, depending on
|
|
|
|
# BUILD_SHARED_LIBS), skipping them if none of the symbols are used.
|
|
|
|
# See also https://reviews.llvm.org/D95613.
|
|
|
|
cc_headers_only(
|
|
|
|
name = "LLVMSupportHeaders",
|
|
|
|
src = "//llvm:Support",
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "mlir_cuda_runtime",
|
|
|
|
srcs = ["lib/ExecutionEngine/CudaRuntimeWrappers.cpp"],
|
|
|
|
# Prevent needing EnableABIBreakingChecks symbol from LLVMSupport.
|
|
|
|
copts = ["-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1"],
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
"nobuildkite", # TODO(gcmn): Add support for this target
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":LLVMSupportHeaders",
|
|
|
|
":mlir_c_runner_utils",
|
|
|
|
"@cuda//:cuda_headers",
|
|
|
|
"@cuda//:libcuda",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VulkanRuntime",
|
|
|
|
srcs = ["tools/mlir-vulkan-runner/VulkanRuntime.cpp"],
|
|
|
|
hdrs = ["tools/mlir-vulkan-runner/VulkanRuntime.h"],
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
"@vulkan_headers",
|
|
|
|
"@vulkan_sdk//:sdk",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "tools/libvulkan-runtime-wrappers.so",
|
|
|
|
srcs = ["tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp"],
|
|
|
|
linkshared = True,
|
|
|
|
tags = [
|
|
|
|
"manual", # External dependency
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":VulkanRuntime",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-vulkan-runner",
|
|
|
|
srcs = ["tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ExecutionEngineUtils",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUToSPIRV",
|
|
|
|
":GPUToVulkanTransforms",
|
|
|
|
":GPUTransforms",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
":MemRefDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MemRefTransforms",
|
|
|
|
":MlirJitRunner",
|
|
|
|
":Pass",
|
[mlir] Factor type reconciliation out of Standard-to-LLVM conversion
Conversion to the LLVM dialect is being refactored to be more progressive and
is now performed as a series of independent passes converting different
dialects. These passes may produce `unrealized_conversion_cast` operations that
represent pending conversions between built-in and LLVM dialect types.
Historically, a more monolithic Standard-to-LLVM conversion pass did not need
these casts as all operations were converted in one shot. Previous refactorings
have led to the requirement of running the Standard-to-LLVM conversion pass to
clean up `unrealized_conversion_cast`s even though the IR had no standard
operations in it. The pass must have been also run the last among all to-LLVM
passes, in contradiction with the partial conversion logic. Additionally, the
way it was set up could produce invalid operations by removing casts between
LLVM and built-in types even when the consumer did not accept the uncasted
type, or could lead to cryptic conversion errors (recursive application of the
rewrite pattern on `unrealized_conversion_cast` as a means to indicate failure
to eliminate casts).
In fact, the need to eliminate A->B->A `unrealized_conversion_cast`s is not
specific to to-LLVM conversions and can be factored out into a separate type
reconciliation pass, which is achieved in this commit. While the cast operation
itself has a folder pattern, it is insufficient in most conversion passes as
the folder only applies to the second cast. Without complex legality setup in
the conversion target, the conversion infra will either consider the cast
operations valid and not fold them (a separate canonicalization would be
necessary to trigger the folding), or consider the first cast invalid upon
generation and stop with error. The pattern provided by the reconciliation pass
applies to the first cast operation instead. Furthermore, having a separate
pass makes it clear when `unrealized_conversion_cast`s could not have been
eliminated since it is the only reason why this pass can fail.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D109507
2021-09-09 16:06:10 +02:00
|
|
|
":ReconcileUnrealizedCasts",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVTransforms",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":StandardToSPIRV",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-spirv-cpu-runner",
|
|
|
|
srcs = ["tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ExecutionEngineUtils",
|
|
|
|
":GPUDialect",
|
|
|
|
":GPUToSPIRV",
|
|
|
|
":GPUTransforms",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":LLVMToLLVMIRTranslation",
|
|
|
|
":MemRefDialect",
|
|
|
|
":MlirJitRunner",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":SPIRVToLLVM",
|
|
|
|
":SPIRVTransforms",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Linker",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TableGen",
|
|
|
|
srcs = glob(["lib/TableGen/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/TableGen/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:TableGen",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MlirTableGenMain",
|
|
|
|
srcs = ["tools/mlir-tblgen/mlir-tblgen.cpp"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Support",
|
|
|
|
":TableGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:TableGen",
|
|
|
|
"//llvm:config",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-tblgen",
|
|
|
|
srcs = glob([
|
|
|
|
"tools/mlir-tblgen/*.h",
|
|
|
|
"tools/mlir-tblgen/*.cpp",
|
|
|
|
]),
|
|
|
|
deps = [
|
|
|
|
":MlirTableGenMain",
|
|
|
|
":Support",
|
|
|
|
":TableGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:TableGen",
|
|
|
|
"//llvm:config",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-linalg-ods-yaml-gen",
|
|
|
|
srcs = [
|
|
|
|
"tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:TableGen",
|
|
|
|
"//llvm:config",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
## OpenACC dialect
|
|
|
|
|
|
|
|
# TODO(gcmn): This is sticking td files in a cc_library
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AccCommonGen",
|
|
|
|
includes = ["/llvm/include"],
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-directive-decl"],
|
|
|
|
"include/mlir/Dialect/OpenACC/AccCommon.td",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "//llvm:include/llvm/Frontend/OpenACC/ACC.td",
|
|
|
|
deps = ["//llvm:acc_td_files"],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "OpenAccOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/OpenACC/AccCommon.td",
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "OpenACCOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=acc",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=acc",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/OpenACC/OpenACCOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/OpenACC/OpenACCOps.td",
|
|
|
|
deps = [":OpenAccOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenACCDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/OpenACC/IR/*.cpp",
|
|
|
|
"lib/Dialect/OpenACC/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/OpenACC/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":OpenACCOpsIncGen",
|
|
|
|
":StandardOps",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
## OpenMP dialect
|
|
|
|
|
|
|
|
# TODO(gcmn): This is sticking td files in a cc_library
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "OmpCommonTdGen",
|
|
|
|
includes = ["/llvm/include"],
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-directive-decl"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OmpCommon.td",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "//llvm:include/llvm/Frontend/OpenMP/OMP.td",
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
"//llvm:omp_td_files",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "OpenMPOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/OpenMP/OmpCommon.td",
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOps.td",
|
2021-10-07 12:45:53 -07:00
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":LLVMOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "OpenMPOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=omp",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=omp",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-07-12 11:24:13 -07:00
|
|
|
(
|
|
|
|
["-gen-type-interface-decls"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-type-interface-defs"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/OpenMP/OpenMPOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/OpenMP/OpenMPOps.td",
|
|
|
|
deps = [":OpenMPOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-10-07 12:45:53 -07:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "OpenMPInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td",
|
|
|
|
deps = [":OpenMPOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
cc_library(
|
|
|
|
name = "OpenMPDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/OpenMP/IR/*.cpp",
|
|
|
|
"lib/Dialect/OpenMP/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/OpenMP/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
2021-10-07 12:45:53 -07:00
|
|
|
":OpenMPInterfacesIncGen",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpenMPOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenACCToSCF",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/OpenACCToSCF/*.cpp",
|
|
|
|
"lib/Conversion/OpenACCToSCF/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/OpenACCToSCF/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":OpenACCDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenACCToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/OpenACCToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/OpenACCToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/OpenACCToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":OpenACCDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "OpenMPToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/OpenMPToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/OpenMPToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/OpenMPToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
2021-07-12 11:24:13 -07:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpenMPDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "QuantizationOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Quant/QuantOps.td",
|
|
|
|
"include/mlir/Dialect/Quant/QuantOpsBase.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "QuantOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Quant/QuantOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Quant/QuantOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/Quant/QuantOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/Quant/QuantOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/QuantOps/QuantOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Quant/QuantOps.td",
|
|
|
|
deps = [":QuantizationOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "QuantPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Quant",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Quant/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Quant/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "QuantOps",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Quant/IR/QuantOps.cpp",
|
|
|
|
"lib/Dialect/Quant/IR/QuantTypes.cpp",
|
|
|
|
"lib/Dialect/Quant/IR/TypeDetail.h",
|
|
|
|
"lib/Dialect/Quant/IR/TypeParser.cpp",
|
|
|
|
"lib/Dialect/Quant/Transforms/ConvertConst.cpp",
|
|
|
|
"lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp",
|
|
|
|
"lib/Dialect/Quant/Transforms/PassDetail.h",
|
|
|
|
"lib/Dialect/Quant/Utils/FakeQuantSupport.cpp",
|
|
|
|
"lib/Dialect/Quant/Utils/QuantizeUtils.cpp",
|
|
|
|
"lib/Dialect/Quant/Utils/UniformSupport.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Quant/FakeQuantSupport.h",
|
|
|
|
"include/mlir/Dialect/Quant/Passes.h",
|
|
|
|
"include/mlir/Dialect/Quant/QuantOps.h",
|
|
|
|
"include/mlir/Dialect/Quant/QuantTypes.h",
|
|
|
|
"include/mlir/Dialect/Quant/QuantizeUtils.h",
|
|
|
|
"include/mlir/Dialect/Quant/UniformSupport.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":QuantOpsIncGen",
|
|
|
|
":QuantPassIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":TransformUtils",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "LinalgOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgBase.td",
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
|
|
|
":InferTypeOpInterfaceTdFiles",
|
|
|
|
":LoopLikeInterfaceTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
2021-08-30 15:55:30 -07:00
|
|
|
":TilingInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ViewLikeInterfaceTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LinalgOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=linalg",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=linalg",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
|
|
|
|
deps = [":LinalgOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
genlinalg(
|
|
|
|
name = "LinalgNamedStructuredOpsYamlIncGen",
|
|
|
|
src = "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml",
|
|
|
|
linalg_outs = [
|
|
|
|
(
|
|
|
|
"-o-impl=$@",
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"-o-ods-decl=$@",
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.td",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
linalggen = ":mlir-linalg-ods-yaml-gen",
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "LinalgStructuredOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.td",
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":CopyOpInterfaceTdFiles",
|
|
|
|
":LinalgOpsTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LinalgStructuredOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
|
|
|
|
deps = [":LinalgStructuredOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LinalgInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/Linalg/IR/LinalgInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
|
|
|
|
deps = [":LinalgStructuredOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
2021-11-02 16:05:27 +09:00
|
|
|
td_library(
|
|
|
|
name = "BufferizableOpInterfaceTdFiles",
|
|
|
|
srcs = [
|
2021-11-05 13:55:47 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td",
|
2021-11-02 16:05:27 +09:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BufferizableOpInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
2021-11-05 13:55:47 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h.inc",
|
2021-11-02 16:05:27 +09:00
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
2021-11-05 13:55:47 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp.inc",
|
2021-11-02 16:05:27 +09:00
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
2021-11-05 13:55:47 +09:00
|
|
|
td_file = "include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td",
|
2021-11-02 16:05:27 +09:00
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterfaceTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "BufferizableOpInterface",
|
|
|
|
srcs = [
|
2021-11-05 13:55:47 +09:00
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp",
|
2021-11-02 16:05:27 +09:00
|
|
|
],
|
|
|
|
hdrs = [
|
2021-11-05 13:55:47 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h",
|
2021-11-02 16:05:27 +09:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterfaceIncGen",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-02 16:05:27 +09:00
|
|
|
":IR",
|
2021-11-23 11:20:27 +09:00
|
|
|
":MemRefDialect",
|
2021-11-02 16:05:27 +09:00
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-26 09:21:04 +09:00
|
|
|
cc_library(
|
|
|
|
name = "AffineBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":BufferizableOpInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-25 10:06:16 +09:00
|
|
|
cc_library(
|
|
|
|
name = "ArithBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/ArithInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/ArithInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArithmeticDialect",
|
|
|
|
":BufferizableOpInterface",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-12 10:00:43 +09:00
|
|
|
cc_library(
|
|
|
|
name = "LinalgBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterface",
|
2021-12-15 18:43:24 +09:00
|
|
|
":BufferizationDialect",
|
2021-11-12 10:00:43 +09:00
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgStructuredOpsIncGen",
|
|
|
|
":TensorDialect",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-25 17:56:16 +09:00
|
|
|
cc_library(
|
|
|
|
name = "SCFBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterface",
|
2021-12-15 18:26:27 +09:00
|
|
|
":BufferizationDialect",
|
2021-11-25 17:56:16 +09:00
|
|
|
":IR",
|
|
|
|
":SCFDialect",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-24 18:20:00 +09:00
|
|
|
cc_library(
|
|
|
|
name = "TensorBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterface",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-24 19:32:33 +09:00
|
|
|
cc_library(
|
|
|
|
name = "VectorBufferizableOpInterfaceImpl",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterface",
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
td_library(
|
|
|
|
name = "LinalgDocTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/Linalg/IR/LinalgDoc.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":LinalgOpsTdFiles",
|
|
|
|
":LinalgStructuredOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LinalgDocIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/Linalg/LinalgOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Linalg/IR/LinalgDoc.td",
|
|
|
|
deps = [":LinalgDocTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/LinalgToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/LinalgToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/LinalgToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AffineToStandard",
|
|
|
|
":Analysis",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgTransforms",
|
2021-07-16 13:31:02 +02:00
|
|
|
":MemRefToLLVM",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":SCFToStandard",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorToLLVM",
|
|
|
|
":VectorToSCF",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgToStandard",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/LinalgToStandard/*.cpp",
|
|
|
|
"lib/Conversion/LinalgToStandard/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/LinalgToStandard/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgTransforms",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgToSPIRV",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/LinalgToSPIRV/*.cpp",
|
|
|
|
"lib/Conversion/LinalgToSPIRV/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/LinalgToSPIRV/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":LinalgTransforms",
|
|
|
|
":Pass",
|
|
|
|
":SPIRVConversion",
|
|
|
|
":SPIRVDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":TransformUtils",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgOps",
|
|
|
|
srcs = [
|
|
|
|
"lib/Dialect/Linalg/IR/LinalgOps.cpp",
|
2021-12-15 12:14:35 +00:00
|
|
|
"lib/Dialect/Linalg/IR/LinalgDialect.cpp",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
hdrs = [
|
2021-12-15 12:14:35 +00:00
|
|
|
"include/mlir/Dialect/Linalg/IR/Linalg.h"
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-11 18:50:14 +09:00
|
|
|
":BufferizableOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CopyOpInterface",
|
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":LinalgInterfaces",
|
|
|
|
":LinalgInterfacesIncGen",
|
|
|
|
":LinalgNamedStructuredOpsYamlIncGen",
|
|
|
|
":LinalgOpsIncGen",
|
|
|
|
":LinalgStructuredOpsIncGen",
|
2021-07-08 13:25:46 -07:00
|
|
|
":MathDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":MemRefDialect",
|
|
|
|
":Parser",
|
2021-08-30 15:55:30 -07:00
|
|
|
":SCFDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
2021-08-30 15:55:30 -07:00
|
|
|
":TilingInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "LinalgPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Linalg",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Linalg/Passes.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-header",
|
|
|
|
"--prefix=Linalg",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Linalg/Passes.capi.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-capi-impl",
|
|
|
|
"--prefix=Linalg",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Linalg/Passes.capi.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Linalg/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "LinalgTransforms",
|
2021-11-05 13:55:47 +09:00
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Linalg/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Linalg/Transforms/*.h",
|
|
|
|
]) + [
|
2021-05-18 15:42:25 -07:00
|
|
|
"lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp",
|
|
|
|
"lib/Dialect/Linalg/Utils/Utils.cpp",
|
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h",
|
|
|
|
"include/mlir/Dialect/Linalg/Passes.h",
|
|
|
|
"include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h",
|
2021-09-24 13:42:51 +00:00
|
|
|
"include/mlir/Dialect/Linalg/Transforms/HoistPadding.h",
|
2021-05-18 15:42:25 -07:00
|
|
|
"include/mlir/Dialect/Linalg/Transforms/Hoisting.h",
|
|
|
|
"include/mlir/Dialect/Linalg/Transforms/Transforms.h",
|
|
|
|
"include/mlir/Dialect/Linalg/Utils/Utils.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-11-26 09:21:04 +09:00
|
|
|
":AffineBufferizableOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":AffineUtils",
|
|
|
|
":Analysis",
|
2021-11-25 10:06:16 +09:00
|
|
|
":ArithBufferizableOpInterfaceImpl",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-11-11 11:45:06 +09:00
|
|
|
":BufferizableOpInterface",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexDialect",
|
2021-11-05 13:55:47 +09:00
|
|
|
":ComprehensiveBufferize",
|
2021-05-18 15:42:25 -07:00
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
2021-10-25 09:00:05 -07:00
|
|
|
":InferTypeOpInterface",
|
2021-11-12 10:00:43 +09:00
|
|
|
":LinalgBufferizableOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LinalgOps",
|
|
|
|
":LinalgPassIncGen",
|
|
|
|
":LinalgStructuredOpsIncGen",
|
|
|
|
":MathDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
2021-11-25 17:56:16 +09:00
|
|
|
":SCFBufferizableOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":SCFDialect",
|
|
|
|
":SCFTransforms",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardOpsTransforms",
|
|
|
|
":Support",
|
2021-11-24 18:20:00 +09:00
|
|
|
":TensorBufferizableOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":TensorDialect",
|
|
|
|
":TransformUtils",
|
2021-11-24 19:32:33 +09:00
|
|
|
":VectorBufferizableOpInterfaceImpl",
|
2021-05-18 15:42:25 -07:00
|
|
|
":VectorOps",
|
|
|
|
":VectorToSCF",
|
2021-11-10 13:19:41 +00:00
|
|
|
":X86VectorTransforms",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-05 13:55:47 +09:00
|
|
|
cc_library(
|
|
|
|
name = "ComprehensiveBufferize",
|
|
|
|
srcs = [
|
2021-12-03 16:25:08 +09:00
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/BufferizationInterfaceImpl.cpp",
|
2021-11-05 13:55:47 +09:00
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp",
|
2021-11-26 10:10:08 +09:00
|
|
|
"lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp",
|
2021-11-05 13:55:47 +09:00
|
|
|
],
|
|
|
|
hdrs = [
|
2021-12-03 16:25:08 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizationInterfaceImpl.h",
|
2021-11-05 13:55:47 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.h",
|
2021-11-26 10:10:08 +09:00
|
|
|
"include/mlir/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.h",
|
2021-11-05 13:55:47 +09:00
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":BufferizableOpInterface",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-05 13:55:47 +09:00
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-08-30 15:55:30 -07:00
|
|
|
cc_library(
|
|
|
|
name = "TilingInterface",
|
|
|
|
srcs = ["lib/Interfaces/TilingInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Interfaces/TilingInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":TilingInterfaceIncGen",
|
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
td_library(
|
|
|
|
name = "VectorOpsTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/Vector/VectorOps.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":VectorInterfacesTdFiles",
|
|
|
|
":ViewLikeInterfaceTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "VectorOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=vector",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=vector",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/Vector/VectorOpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/Vector/VectorOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Vector/VectorOps.td",
|
|
|
|
deps = [":VectorOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/VectorToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/VectorToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/VectorToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AMX",
|
|
|
|
":AMXTransforms",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ArmNeon",
|
|
|
|
":ArmSVE",
|
|
|
|
":ArmSVETransforms",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DialectUtils",
|
|
|
|
":IR",
|
2021-07-12 11:24:13 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":ToLLVMIRTranslation",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
":X86Vector",
|
|
|
|
":X86VectorTransforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorToGPU",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/VectorToGPU/*.cpp",
|
|
|
|
"lib/Conversion/VectorToGPU/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/VectorToGPU/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":Analysis",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":DialectUtils",
|
|
|
|
":GPUDialect",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "VectorToSCF",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/VectorToSCF/*.cpp",
|
|
|
|
"lib/Conversion/VectorToSCF/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/VectorToSCF/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
|
|
|
":AffineUtils",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":StandardToLLVM",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "TosaDialectTdFiles",
|
|
|
|
srcs = glob(["include/mlir/Dialect/Tosa/IR/*.td"]),
|
|
|
|
deps = [
|
2021-07-01 17:44:52 -07:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LoopLikeInterfaceTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TosaDialectIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaOps.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-decls"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaStructs.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-struct-attr-defs"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaStructs.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-dialect-decls"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
["-gen-dialect-defs"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
(
|
|
|
|
["-gen-op-doc"],
|
|
|
|
"g3doc/Dialects/Tosa/TosaOps.md",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Tosa/IR/TosaOps.td",
|
|
|
|
deps = [":TosaDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TosaInterfacesIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaInterfaces.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/Tosa/IR/TosaInterfaces.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Tosa/IR/TosaInterfaces.td",
|
|
|
|
deps = [":TosaDialectTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "TosaPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=TosaOpt",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Tosa/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Tosa/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TosaDialect",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Tosa/IR/*.cpp",
|
|
|
|
"lib/Dialect/Tosa/IR/*.h",
|
|
|
|
"lib/Dialect/Tosa/Utils/*.cpp",
|
|
|
|
"lib/Dialect/Tosa/Transforms/*.cpp",
|
|
|
|
]),
|
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Dialect/Tosa/IR/*.h",
|
|
|
|
"include/mlir/Dialect/Tosa/Utils/*.h",
|
|
|
|
"include/mlir/Dialect/Tosa/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-07-02 09:09:59 -07:00
|
|
|
":Analysis",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Dialect",
|
|
|
|
":IR",
|
2021-07-01 17:44:52 -07:00
|
|
|
":InferTypeOpInterface",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LoopLikeInterface",
|
|
|
|
":Pass",
|
|
|
|
":QuantOps",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":StandardOps",
|
2021-06-23 09:25:36 -07:00
|
|
|
":TensorDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":TosaDialectIncGen",
|
|
|
|
":TosaInterfacesIncGen",
|
|
|
|
":TosaPassIncGen",
|
|
|
|
":TransformUtils",
|
2021-08-04 08:49:30 +02:00
|
|
|
"//llvm:Support",
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TosaToLinalg",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/TosaToLinalg/*.cpp",
|
|
|
|
"lib/Conversion/TosaToLinalg/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/TosaToLinalg/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/TosaToLinalg",
|
|
|
|
],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
2021-07-07 16:50:23 -07:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":LinalgOps",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
2021-09-09 15:57:22 -07:00
|
|
|
":SCFDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":StandardOps",
|
|
|
|
":TensorDialect",
|
|
|
|
":TosaDialect",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TosaToSCF",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/TosaToSCF/*.cpp",
|
|
|
|
"lib/Conversion/TosaToSCF/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/TosaToSCF/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/TosaToSCF",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":TensorDialect",
|
|
|
|
":TosaDialect",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "TosaToStandard",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/TosaToStandard/*.cpp",
|
|
|
|
"lib/Conversion/TosaToStandard/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/TosaToStandard/*.h",
|
|
|
|
]),
|
|
|
|
includes = [
|
|
|
|
"include",
|
|
|
|
"lib/Conversion/TosaToStandard",
|
|
|
|
],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":TensorDialect",
|
|
|
|
":TosaDialect",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "ComplexOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexBase.td",
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ComplexBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=complex",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=complex",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Complex/IR/ComplexBase.td",
|
|
|
|
deps = [":ComplexOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ComplexOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Complex/IR/ComplexOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Complex/IR/ComplexOps.td",
|
|
|
|
deps = [":ComplexOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ComplexDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Complex/IR/*.cpp",
|
|
|
|
"lib/Dialect/Complex/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/Complex/IR/Complex.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexBaseIncGen",
|
|
|
|
":ComplexOpsIncGen",
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfaces",
|
2021-10-12 23:14:57 +00:00
|
|
|
":StandardOps",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Support",
|
|
|
|
":VectorInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ComplexToLLVM",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/ComplexToLLVM/*.cpp",
|
|
|
|
"lib/Conversion/ComplexToLLVM/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/ComplexToLLVM/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
2021-07-07 16:50:23 -07:00
|
|
|
":LLVMCommonConversion",
|
2021-05-18 15:42:25 -07:00
|
|
|
":LLVMDialect",
|
|
|
|
":Pass",
|
2021-10-12 23:14:57 +00:00
|
|
|
":StandardOps",
|
2021-05-18 15:42:25 -07:00
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ComplexToStandard",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/ComplexToStandard/*.cpp",
|
|
|
|
"lib/Conversion/ComplexToStandard/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/ComplexToStandard/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ComplexDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
exports_files([
|
|
|
|
"include/mlir/Interfaces/CallInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/CastInterfaces.h",
|
|
|
|
"include/mlir/Interfaces/ControlFlowInterfaces.h",
|
|
|
|
"include/mlir/Transforms/InliningUtils.h",
|
|
|
|
])
|
|
|
|
|
2021-09-21 20:54:07 +00:00
|
|
|
td_library(
|
|
|
|
name = "ArithmeticOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td",
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":CastInterfacesTdFiles",
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-09-21 20:54:07 +00:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":VectorInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArithmeticBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=arith",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOpsDialect.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=arith",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOpsDialect.cpp.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-decls"],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOpsEnums.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-enum-defs"],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOpsEnums.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td",
|
|
|
|
deps = [":ArithmeticOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArithmeticOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td",
|
|
|
|
deps = [
|
|
|
|
":ArithmeticOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArithmeticCanonicalizationIncGen",
|
|
|
|
strip_include_prefix = "include/mlir/Dialect/Arithmetic/IR",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-rewriters"],
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/ArithmeticCanonicalization.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "lib/Dialect/Arithmetic/IR/ArithmeticCanonicalization.td",
|
|
|
|
deps = [
|
|
|
|
":ArithmeticOpsTdFiles",
|
|
|
|
":CastInterfacesTdFiles",
|
|
|
|
":StdOpsTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArithmeticDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Arithmetic/IR/*.cpp",
|
|
|
|
"lib/Dialect/Arithmetic/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Arithmetic/IR/Arithmetic.h",
|
|
|
|
"include/mlir/Transforms/InliningUtils.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArithmeticBaseIncGen",
|
|
|
|
":ArithmeticCanonicalizationIncGen",
|
|
|
|
":ArithmeticOpsIncGen",
|
|
|
|
":CommonFolders",
|
|
|
|
":IR",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":Support",
|
|
|
|
":VectorInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-10-12 23:14:57 +00:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ArithmeticPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Arithmetic",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Arithmetic/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Arithmetic/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "ArithmeticTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Arithmetic/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Arithmetic/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = ["include/mlir/Dialect/Arithmetic/Transforms/Passes.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArithmeticDialect",
|
|
|
|
":ArithmeticPassIncGen",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationDialect",
|
2021-11-29 13:45:01 +01:00
|
|
|
":BufferizationTransforms",
|
2021-10-12 23:14:57 +00:00
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
2021-11-29 13:45:01 +01:00
|
|
|
":StandardOps",
|
2021-10-12 23:14:57 +00:00
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
td_library(
|
|
|
|
name = "MathOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Math/IR/MathBase.td",
|
|
|
|
"include/mlir/Dialect/Math/IR/MathOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-21 14:41:11 -08:00
|
|
|
":InferTypeOpInterfaceTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":VectorInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MathBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=math",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Math/IR/MathOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=math",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Math/IR/MathBase.td",
|
|
|
|
deps = [":MathOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MathOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Math/IR/MathOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Math/IR/MathOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Math/IR/MathOps.td",
|
|
|
|
deps = [":MathOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MathDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Math/IR/*.cpp",
|
|
|
|
"lib/Dialect/Math/IR/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/Math/IR/Math.h",
|
|
|
|
"include/mlir/Transforms/InliningUtils.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":MathBaseIncGen",
|
|
|
|
":MathOpsIncGen",
|
|
|
|
":SideEffectInterfaces",
|
|
|
|
":Support",
|
|
|
|
":VectorInterfaces",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MathTransforms",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Dialect/Math/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Math/Transforms/*.h",
|
|
|
|
]),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/Math/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
|
|
|
":SCFDialect",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
2021-10-23 04:48:24 -07:00
|
|
|
":X86Vector",
|
2021-05-18 15:42:25 -07:00
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MathToLibm",
|
|
|
|
srcs = glob([
|
|
|
|
"lib/Conversion/MathToLibm/*.cpp",
|
|
|
|
"lib/Conversion/MathToLibm/*.h",
|
2021-12-10 02:03:50 +00:00
|
|
|
]) + [":ConversionPassDetail"],
|
2021-05-18 15:42:25 -07:00
|
|
|
hdrs = glob([
|
|
|
|
"include/mlir/Conversion/MathToLibm/*.h",
|
|
|
|
]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":LLVMDialect",
|
|
|
|
":MathDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Core",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "MemRefOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefBase.td",
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-12-30 11:47:54 -08:00
|
|
|
":ArithmeticOpsTdFiles",
|
2021-05-18 15:42:25 -07:00
|
|
|
":CastInterfacesTdFiles",
|
|
|
|
":ControlFlowInterfacesTdFiles",
|
|
|
|
":CopyOpInterfaceTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
":ViewLikeInterfaceTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MemRefBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=memref",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=memref",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/MemRef/IR/MemRefBase.td",
|
|
|
|
deps = [":MemRefOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MemRefOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRefOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/MemRef/IR/MemRefOps.td",
|
|
|
|
deps = [":MemRefOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MemRefDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/MemRef/IR/*.cpp",
|
|
|
|
"lib/Dialect/MemRef/IR/*.h",
|
|
|
|
"lib/Dialect/MemRef/Utils/*.cpp",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Dialect/MemRef/IR/MemRef.h",
|
|
|
|
"include/mlir/Dialect/MemRef/Utils/MemRefUtils.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":CopyOpInterface",
|
2021-06-27 08:30:54 -07:00
|
|
|
":DialectUtils",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":MemRefBaseIncGen",
|
|
|
|
":MemRefOpsIncGen",
|
|
|
|
":StandardOps",
|
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "MemRefPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=MemRef",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/MemRef/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/MemRef/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MemRefTransforms",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/MemRef/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/MemRef/Transforms/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/MemRef/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":Affine",
|
2021-10-12 23:14:57 +00:00
|
|
|
":ArithmeticDialect",
|
2021-05-18 15:42:25 -07:00
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
|
|
|
":MemRefDialect",
|
|
|
|
":MemRefPassIncGen",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":TensorDialect",
|
|
|
|
":Transforms",
|
|
|
|
":VectorOps",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-23 10:04:47 +01:00
|
|
|
td_library(
|
|
|
|
name = "AllocationOpInterfaceTdFiles",
|
|
|
|
srcs = ["include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "AllocationOpInterfaceIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-interface-decls"],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-interface-defs"],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td",
|
|
|
|
deps = [":AllocationOpInterfaceTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "AllocationOpInterface",
|
|
|
|
srcs = ["lib/Dialect/Bufferization/IR/AllocationOpInterface.cpp"],
|
|
|
|
hdrs = ["include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllocationOpInterfaceIncGen",
|
|
|
|
":IR",
|
2021-11-25 11:42:16 +01:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
td_library(
|
|
|
|
name = "BufferizationOpsTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationBase.td",
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationOps.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllocationOpInterfaceTdFiles",
|
|
|
|
":CopyOpInterfaceTdFiles",
|
|
|
|
":OpBaseTdFiles",
|
|
|
|
":SideEffectInterfacesTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BufferizationBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=bufferization",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=bufferization",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationBase.td",
|
|
|
|
deps = [":BufferizationOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BufferizationOpsIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
["-gen-op-decls"],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationOps.h.inc",
|
|
|
|
),
|
|
|
|
(
|
|
|
|
["-gen-op-defs"],
|
|
|
|
"include/mlir/Dialect/Bufferization/IR/BufferizationOps.cpp.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationOps.td",
|
|
|
|
deps = [":BufferizationOpsTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "BufferizationDialect",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Bufferization/IR/Bufferization*.h",
|
|
|
|
"lib/Dialect/Bufferization/IR/Bufferization*.cpp",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = ["include/mlir/Dialect/Bufferization/IR/Bufferization.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
2021-11-30 13:10:37 +01:00
|
|
|
":AllocationOpInterface",
|
2021-11-25 11:42:16 +01:00
|
|
|
":BufferizationBaseIncGen",
|
|
|
|
":BufferizationOpsIncGen",
|
|
|
|
":ControlFlowInterfaces",
|
|
|
|
":CopyOpInterface",
|
|
|
|
":IR",
|
|
|
|
":InferTypeOpInterface",
|
2021-11-30 13:10:37 +01:00
|
|
|
":MemRefDialect",
|
2021-11-25 11:42:16 +01:00
|
|
|
":StandardOps",
|
|
|
|
":TensorDialect",
|
|
|
|
":ViewLikeInterface",
|
|
|
|
"//llvm:Support",
|
2021-11-23 10:04:47 +01:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-29 13:45:01 +01:00
|
|
|
gentbl_cc_library(
|
|
|
|
name = "BufferizationPassIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Bufferization",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/Bufferization/Transforms/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/Bufferization/Transforms/Passes.td",
|
|
|
|
deps = [":PassBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "BufferizationTransforms",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Dialect/Bufferization/Transforms/*.cpp",
|
|
|
|
"lib/Dialect/Bufferization/Transforms/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/Bufferization/Transforms/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":AllocationOpInterface",
|
|
|
|
":Analysis",
|
|
|
|
":BufferizationDialect",
|
|
|
|
":BufferizationPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":Transforms",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-11-30 13:27:24 +01:00
|
|
|
cc_library(
|
|
|
|
name = "BufferizationToMemRef",
|
|
|
|
srcs = [
|
|
|
|
"lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp",
|
2021-12-10 02:03:50 +00:00
|
|
|
":ConversionPassDetail",
|
2021-11-30 13:27:24 +01:00
|
|
|
],
|
|
|
|
hdrs = [
|
|
|
|
"include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":ArithmeticDialect",
|
|
|
|
":BufferizationDialect",
|
|
|
|
":ConversionPassIncGen",
|
|
|
|
":IR",
|
|
|
|
":MemRefDialect",
|
|
|
|
":Pass",
|
|
|
|
":StandardOps",
|
|
|
|
":Support",
|
|
|
|
":Transforms",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-05-18 15:42:25 -07:00
|
|
|
td_library(
|
|
|
|
name = "DLTIDialectTdFiles",
|
|
|
|
srcs = [
|
|
|
|
"include/mlir/Dialect/DLTI/DLTI.td",
|
|
|
|
"include/mlir/Dialect/DLTI/DLTIBase.td",
|
|
|
|
],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "DLTIBaseIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-decls",
|
|
|
|
"-dialect=dlti",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/DLTI/DLTIDialect.h.inc",
|
|
|
|
),
|
2021-06-28 22:54:11 +00:00
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-dialect-defs",
|
|
|
|
"-dialect=dlti",
|
|
|
|
],
|
|
|
|
"include/mlir/Dialect/DLTI/DLTIDialect.cpp.inc",
|
|
|
|
),
|
2021-05-18 15:42:25 -07:00
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Dialect/DLTI/DLTIBase.td",
|
|
|
|
deps = [":OpBaseTdFiles"],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "DLTIDialect",
|
|
|
|
srcs = glob(["lib/Dialect/DLTI/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Dialect/DLTI/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":DLTIBaseIncGen",
|
|
|
|
":DataLayoutInterfaces",
|
|
|
|
":IR",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
gentbl_cc_library(
|
|
|
|
name = "ReducerIncGen",
|
|
|
|
strip_include_prefix = "include",
|
|
|
|
tbl_outs = [
|
|
|
|
(
|
|
|
|
[
|
|
|
|
"-gen-pass-decls",
|
|
|
|
"-name=Reducer",
|
|
|
|
],
|
|
|
|
"include/mlir/Reducer/Passes.h.inc",
|
|
|
|
),
|
|
|
|
],
|
|
|
|
tblgen = ":mlir-tblgen",
|
|
|
|
td_file = "include/mlir/Reducer/Passes.td",
|
|
|
|
deps = [
|
|
|
|
":PassBaseTdFiles",
|
|
|
|
":ReducerTdFiles",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "Reducer",
|
|
|
|
srcs = glob(["lib/Reducer/*.cpp"]),
|
|
|
|
hdrs = glob(["include/mlir/Reducer/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Pass",
|
|
|
|
":ReducerIncGen",
|
|
|
|
":Rewrite",
|
|
|
|
":Support",
|
|
|
|
":TransformUtils",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "MlirReduceLib",
|
|
|
|
srcs = ["lib/Tools/mlir-reduce/MlirReduceMain.cpp"],
|
|
|
|
hdrs = ["include/mlir/Tools/mlir-reduce/MlirReduceMain.h"],
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":IR",
|
|
|
|
":Parser",
|
|
|
|
":Pass",
|
|
|
|
":Reducer",
|
|
|
|
":Rewrite",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-reduce",
|
|
|
|
srcs = ["tools/mlir-reduce/mlir-reduce.cpp"],
|
|
|
|
includes = ["include"],
|
|
|
|
local_defines = ["MLIR_INCLUDE_TESTS"],
|
|
|
|
stamp = 0,
|
|
|
|
deps = [
|
|
|
|
":AllPassesAndDialects",
|
|
|
|
":IR",
|
|
|
|
":MlirReduceLib",
|
|
|
|
":Pass",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//mlir/test:TestDialect",
|
|
|
|
],
|
|
|
|
)
|
2021-12-16 01:48:19 +00:00
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "PDLLAST",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Tools/PDLL/AST/*.cpp",
|
|
|
|
"lib/Tools/PDLL/AST/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(["include/mlir/Tools/PDLL/AST/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
"//llvm:Support",
|
|
|
|
"//mlir:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "PDLLParser",
|
|
|
|
srcs = glob(
|
|
|
|
[
|
|
|
|
"lib/Tools/PDLL/Parser/*.cpp",
|
|
|
|
"lib/Tools/PDLL/Parser/*.h",
|
|
|
|
],
|
|
|
|
),
|
|
|
|
hdrs = glob(["include/mlir/Tools/PDLL/Parser/*.h"]),
|
|
|
|
includes = ["include"],
|
|
|
|
deps = [
|
|
|
|
":PDLLAST",
|
|
|
|
":Support",
|
|
|
|
":TableGen",
|
|
|
|
"//llvm:Support",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "mlir-pdll",
|
|
|
|
srcs = [
|
|
|
|
"tools/mlir-pdll/mlir-pdll.cpp",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":PDLLAST",
|
|
|
|
":PDLLParser",
|
|
|
|
":Support",
|
|
|
|
"//llvm:Support",
|
|
|
|
"//llvm:config",
|
|
|
|
],
|
|
|
|
)
|