Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1169 lines
30 KiB
Python
Raw Normal View History

# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
2024-06-21 14:12:06 +01:00
load("//llvm:lit_test.bzl", "package_path")
load("//mlir:tblgen.bzl", "gentbl_cc_library", "gentbl_sharded_ops", "td_library")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
)
licenses(["notice"])
2024-06-21 14:12:06 +01:00
LLVM_LIT_PATH_FUNCTION = " " + \
"# Allow generated file to be relocatable.\n" + \
"from pathlib import Path\n" + \
"def path(p):\n" + \
" if not p: return ''\n" + \
" return str((Path(__file__).parent / p).resolve())\n"
2024-06-21 14:12:06 +01:00
LIT_SITE_CFG_IN_HEADER = "# Autogenerated, do not edit." + LLVM_LIT_PATH_FUNCTION
expand_template(
2024-06-21 14:12:06 +01:00
name = "lit_site_cfg_py",
testonly = True,
out = "lit.site.cfg.py",
substitutions = {
2024-06-21 14:12:06 +01:00
"@LIT_SITE_CFG_IN_HEADER@": LIT_SITE_CFG_IN_HEADER,
"@LLVM_TOOLS_DIR@": package_path("//llvm:BUILD"),
"@ENABLE_SHARED@": "1",
"@ENABLE_ASSERTIONS@": "1",
"@MLIR_SOURCE_DIR@": package_path("//mlir:BUILD"),
"@MLIR_TOOLS_DIR@": package_path("//mlir:BUILD"),
"\"@MLIR_BINARY_DIR@\"": "os.environ[\"TEST_UNDECLARED_OUTPUTS_DIR\"]",
# All disabled, but required to substituted because they are not in quotes.
"@LLVM_BUILD_EXAMPLES@": "0",
"@LLVM_HAS_NVPTX_TARGET@": "0",
"@MLIR_ENABLE_CUDA_RUNNER@": "0",
"@MLIR_ENABLE_ROCM_CONVERSIONS@": "0",
"@MLIR_ENABLE_ROCM_RUNNER@": "0",
"@MLIR_ENABLE_SYCL_RUNNER@": "0",
"@MLIR_ENABLE_SPIRV_CPU_RUNNER@": "0",
"@MLIR_ENABLE_VULKAN_RUNNER@": "0",
"@MLIR_ENABLE_BINDINGS_PYTHON@": "0",
"@MLIR_RUN_AMX_TESTS@": "0",
"@MLIR_RUN_ARM_SVE_TESTS@": "0",
"@MLIR_RUN_ARM_SME_TESTS@": "0",
"@MLIR_RUN_X86VECTOR_TESTS@": "0",
"@MLIR_RUN_CUDA_TENSOR_CORE_TESTS@": "0",
"@MLIR_RUN_CUDA_SM80_TESTS@": "0",
"@MLIR_RUN_CUDA_SM80_LT_TESTS@": "0",
"@MLIR_RUN_CUDA_SM90_TESTS@": "0",
"@MLIR_INCLUDE_INTEGRATION_TESTS@": "0",
"@SHLIBDIR@": package_path("//llvm:BUILD"),
},
2024-06-21 14:12:06 +01:00
template = "lit.site.cfg.py.in",
)
2024-06-21 14:12:06 +01:00
# Common data used by most lit tests.
filegroup(
name = "lit_data",
testonly = True,
data = [
"lit.cfg.py",
"lit.site.cfg.py",
"//llvm:FileCheck",
"//llvm:count",
"//llvm:not",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "IRProducingAPITest",
hdrs = ["APITest.h"],
includes = ["."],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestAnalysis",
srcs = glob(
[
"lib/Analysis/*.cpp",
"lib/Analysis/*.h",
"lib/Analysis/DataFlow/*.cpp",
"lib/Analysis/DataFlow/*.h",
],
2024-06-21 14:12:06 +01:00
),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//llvm:Support",
"//mlir:AffineAnalysis",
"//mlir:AffineDialect",
"//mlir:Analysis",
"//mlir:CallOpInterfaces",
"//mlir:ControlFlowInterfaces",
"//mlir:FuncDialect",
"//mlir:FunctionInterfaces",
"//mlir:IR",
"//mlir:MemRefDialect",
"//mlir:Pass",
"//mlir:SideEffectInterfaces",
"//mlir:Support",
],
)
td_library(
2024-06-21 14:12:06 +01:00
name = "TestOpTdFiles",
srcs = glob(["lib/Dialect/Test/*.td"]),
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:BuiltinDialectTdFiles",
"//mlir:CallInterfacesTdFiles",
"//mlir:ControlFlowInterfacesTdFiles",
"//mlir:CopyOpInterfaceTdFiles",
"//mlir:DLTIDialectTdFiles",
"//mlir:DataLayoutInterfacesTdFiles",
"//mlir:DestinationStyleOpInterfaceTdFiles",
"//mlir:FunctionInterfacesTdFiles",
"//mlir:InferIntRangeInterfaceTdFiles",
"//mlir:InferTypeOpInterfaceTdFiles",
"//mlir:LinalgStructuredOpsTdFiles",
"//mlir:MemorySlotInterfacesTdFiles",
"//mlir:OpBaseTdFiles",
"//mlir:PolynomialTdFiles",
"//mlir:SideEffectInterfacesTdFiles",
],
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestOpsSyntaxIncGen",
strip_include_prefix = "lib/Dialect/Test",
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
["-gen-op-decls"],
"lib/Dialect/Test/TestOpsSyntax.h.inc",
),
(
2024-06-21 14:12:06 +01:00
["-gen-op-defs"],
"lib/Dialect/Test/TestOpsSyntax.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestOpsSyntax.td",
test = True,
deps = [
":TestOpTdFiles",
],
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestOpsIncGen",
strip_include_prefix = "lib/Dialect/Test",
tbl_outs = [
(
[
2024-06-21 14:12:06 +01:00
"-gen-dialect-decls",
"-dialect=test",
],
2024-06-21 14:12:06 +01:00
"lib/Dialect/Test/TestOpsDialect.h.inc",
),
(
2024-06-21 14:12:06 +01:00
[
"-gen-dialect-defs",
"-dialect=test",
],
"lib/Dialect/Test/TestOpsDialect.cpp.inc",
),
(
2024-06-21 14:12:06 +01:00
["-gen-rewriters"],
"lib/Dialect/Test/TestPatterns.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestOps.td",
test = True,
deps = [
":TestOpTdFiles",
],
)
[mlir] Refactor ElementsAttr into an AttrInterface This revision refactors ElementsAttr into an Attribute Interface. This enables a common interface with which to interact with element attributes, without needing to modify the builtin dialect. It also removes a majority (if not all?) of the need for the current OpaqueElementsAttr, which was originally intended as a way to opaquely represent data that was not representable by the other builtin constructs. The new ElementsAttr interface not only allows for users to natively represent their data in the way that best suits them, it also allows for efficient opaque access and iteration of the underlying data. Attributes using the ElementsAttr interface can directly expose support for interacting with the held elements using any C++ data type they claim to support. For example, DenseIntOrFpElementsAttr supports iteration using various native C++ integer/float data types, as well as APInt/APFloat, and more. ElementsAttr instances that refer to DenseIntOrFpElementsAttr can use all of these data types for iteration: ```c++ DenseIntOrFpElementsAttr intElementsAttr = ...; ElementsAttr attr = intElementsAttr; for (uint64_t value : attr.getValues<uint64_t>()) ...; for (APInt value : attr.getValues<APInt>()) ...; for (IntegerAttr value : attr.getValues<IntegerAttr>()) ...; ``` ElementsAttr also supports failable range/iterator access, allowing for selective code paths depending on data type support: ```c++ ElementsAttr attr = ...; if (auto range = attr.tryGetValues<uint64_t>()) { for (uint64_t value : *range) ...; } ``` Differential Revision: https://reviews.llvm.org/D109190
2021-09-21 01:40:45 +00:00
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestInterfacesIncGen",
strip_include_prefix = "lib/Dialect/Test",
[mlir] Refactor ElementsAttr into an AttrInterface This revision refactors ElementsAttr into an Attribute Interface. This enables a common interface with which to interact with element attributes, without needing to modify the builtin dialect. It also removes a majority (if not all?) of the need for the current OpaqueElementsAttr, which was originally intended as a way to opaquely represent data that was not representable by the other builtin constructs. The new ElementsAttr interface not only allows for users to natively represent their data in the way that best suits them, it also allows for efficient opaque access and iteration of the underlying data. Attributes using the ElementsAttr interface can directly expose support for interacting with the held elements using any C++ data type they claim to support. For example, DenseIntOrFpElementsAttr supports iteration using various native C++ integer/float data types, as well as APInt/APFloat, and more. ElementsAttr instances that refer to DenseIntOrFpElementsAttr can use all of these data types for iteration: ```c++ DenseIntOrFpElementsAttr intElementsAttr = ...; ElementsAttr attr = intElementsAttr; for (uint64_t value : attr.getValues<uint64_t>()) ...; for (APInt value : attr.getValues<APInt>()) ...; for (IntegerAttr value : attr.getValues<IntegerAttr>()) ...; ``` ElementsAttr also supports failable range/iterator access, allowing for selective code paths depending on data type support: ```c++ ElementsAttr attr = ...; if (auto range = attr.tryGetValues<uint64_t>()) { for (uint64_t value : *range) ...; } ``` Differential Revision: https://reviews.llvm.org/D109190
2021-09-21 01:40:45 +00:00
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
["-gen-attr-interface-decls"],
"lib/Dialect/Test/TestAttrInterfaces.h.inc",
[mlir] Refactor ElementsAttr into an AttrInterface This revision refactors ElementsAttr into an Attribute Interface. This enables a common interface with which to interact with element attributes, without needing to modify the builtin dialect. It also removes a majority (if not all?) of the need for the current OpaqueElementsAttr, which was originally intended as a way to opaquely represent data that was not representable by the other builtin constructs. The new ElementsAttr interface not only allows for users to natively represent their data in the way that best suits them, it also allows for efficient opaque access and iteration of the underlying data. Attributes using the ElementsAttr interface can directly expose support for interacting with the held elements using any C++ data type they claim to support. For example, DenseIntOrFpElementsAttr supports iteration using various native C++ integer/float data types, as well as APInt/APFloat, and more. ElementsAttr instances that refer to DenseIntOrFpElementsAttr can use all of these data types for iteration: ```c++ DenseIntOrFpElementsAttr intElementsAttr = ...; ElementsAttr attr = intElementsAttr; for (uint64_t value : attr.getValues<uint64_t>()) ...; for (APInt value : attr.getValues<APInt>()) ...; for (IntegerAttr value : attr.getValues<IntegerAttr>()) ...; ``` ElementsAttr also supports failable range/iterator access, allowing for selective code paths depending on data type support: ```c++ ElementsAttr attr = ...; if (auto range = attr.tryGetValues<uint64_t>()) { for (uint64_t value : *range) ...; } ``` Differential Revision: https://reviews.llvm.org/D109190
2021-09-21 01:40:45 +00:00
),
(
2024-06-21 14:12:06 +01:00
["-gen-attr-interface-defs"],
"lib/Dialect/Test/TestAttrInterfaces.cpp.inc",
),
(
["-gen-type-interface-decls"],
"lib/Dialect/Test/TestTypeInterfaces.h.inc",
),
(
["-gen-type-interface-defs"],
"lib/Dialect/Test/TestTypeInterfaces.cpp.inc",
[mlir] Refactor ElementsAttr into an AttrInterface This revision refactors ElementsAttr into an Attribute Interface. This enables a common interface with which to interact with element attributes, without needing to modify the builtin dialect. It also removes a majority (if not all?) of the need for the current OpaqueElementsAttr, which was originally intended as a way to opaquely represent data that was not representable by the other builtin constructs. The new ElementsAttr interface not only allows for users to natively represent their data in the way that best suits them, it also allows for efficient opaque access and iteration of the underlying data. Attributes using the ElementsAttr interface can directly expose support for interacting with the held elements using any C++ data type they claim to support. For example, DenseIntOrFpElementsAttr supports iteration using various native C++ integer/float data types, as well as APInt/APFloat, and more. ElementsAttr instances that refer to DenseIntOrFpElementsAttr can use all of these data types for iteration: ```c++ DenseIntOrFpElementsAttr intElementsAttr = ...; ElementsAttr attr = intElementsAttr; for (uint64_t value : attr.getValues<uint64_t>()) ...; for (APInt value : attr.getValues<APInt>()) ...; for (IntegerAttr value : attr.getValues<IntegerAttr>()) ...; ``` ElementsAttr also supports failable range/iterator access, allowing for selective code paths depending on data type support: ```c++ ElementsAttr attr = ...; if (auto range = attr.tryGetValues<uint64_t>()) { for (uint64_t value : *range) ...; } ``` Differential Revision: https://reviews.llvm.org/D109190
2021-09-21 01:40:45 +00:00
),
(
2024-06-21 14:12:06 +01:00
["-gen-op-interface-decls"],
"lib/Dialect/Test/TestOpInterfaces.h.inc",
),
(
2024-06-21 14:12:06 +01:00
["-gen-op-interface-defs"],
"lib/Dialect/Test/TestOpInterfaces.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestInterfaces.td",
test = True,
deps = [
"//mlir:OpBaseTdFiles",
"//mlir:SideEffectInterfacesTdFiles",
],
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestAttrDefsIncGen",
strip_include_prefix = "lib/Dialect/Test",
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
[
"-gen-attrdef-decls",
"--attrdefs-dialect=test",
],
"lib/Dialect/Test/TestAttrDefs.h.inc",
),
(
2024-06-21 14:12:06 +01:00
[
"-gen-attrdef-defs",
"--attrdefs-dialect=test",
],
"lib/Dialect/Test/TestAttrDefs.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestOps.td",
test = True,
2022-01-19 14:14:36 +01:00
deps = [
2024-06-21 14:12:06 +01:00
":TestOpTdFiles",
2022-01-19 14:14:36 +01:00
],
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestEnumDefsIncGen",
strip_include_prefix = "lib/Dialect/Test",
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
["-gen-enum-decls"],
"lib/Dialect/Test/TestOpEnums.h.inc",
),
(
2024-06-21 14:12:06 +01:00
["-gen-enum-defs"],
"lib/Dialect/Test/TestOpEnums.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestEnumDefs.td",
test = True,
deps = [
":TestOpTdFiles",
],
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestTypeDefsIncGen",
strip_include_prefix = "lib/Dialect/Test",
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
[
"-gen-typedef-decls",
"--typedefs-dialect=test",
],
"lib/Dialect/Test/TestTypeDefs.h.inc",
),
(
2024-06-21 14:12:06 +01:00
[
"-gen-typedef-defs",
"--typedefs-dialect=test",
],
"lib/Dialect/Test/TestTypeDefs.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestTypeDefs.td",
test = True,
deps = [
":TestOpTdFiles",
"//mlir:BuiltinDialectTdFiles",
],
)
cc_library(
name = "TestTestDynDialect",
srcs = glob([
"lib/Dialect/TestDyn/*.cpp",
]),
2022-01-19 14:14:36 +01:00
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:IR",
2022-01-19 14:14:36 +01:00
],
)
td_library(
2024-06-21 14:12:06 +01:00
name = "TransformDialectTdFiles",
srcs = glob(["lib/Dialect/Transform/*.td"]),
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:OpBaseTdFiles",
],
2022-01-19 14:14:36 +01:00
)
gentbl_cc_library(
2024-06-21 14:12:06 +01:00
name = "TestTransformDialectExtensionIncGen",
strip_include_prefix = "lib/Dialect/Transform",
2022-01-19 14:14:36 +01:00
tbl_outs = [
(
2024-06-21 14:12:06 +01:00
["-gen-op-decls"],
"lib/Dialect/Transform/TestTransformDialectExtension.h.inc",
2022-01-19 14:14:36 +01:00
),
(
2024-06-21 14:12:06 +01:00
["-gen-op-defs"],
"lib/Dialect/Transform/TestTransformDialectExtension.cpp.inc",
),
(
[
"-gen-typedef-decls",
"-typedefs-dialect=transform",
],
"lib/Dialect/Transform/TestTransformDialectExtensionTypes.h.inc",
),
(
[
"-gen-typedef-defs",
"-typedefs-dialect=transform",
],
"lib/Dialect/Transform/TestTransformDialectExtensionTypes.cpp.inc",
2022-01-19 14:14:36 +01:00
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Transform/TestTransformDialectExtension.td",
test = True,
2022-01-19 14:14:36 +01:00
deps = [
2024-06-21 14:12:06 +01:00
":TransformDialectTdFiles",
"//mlir:PDLDialectTdFiles",
"//mlir:TransformDialectTdFiles",
"//mlir:TransformPDLExtension",
],
)
cc_library(
2024-06-21 14:12:06 +01:00
name = "TestTransformDialect",
srcs = glob(["lib/Dialect/Transform/*.cpp"]),
hdrs = glob(["lib/Dialect/Transform/*.h"]),
includes = ["lib/Dialect/Transform"],
deps = [
2024-06-21 14:12:06 +01:00
":TestTransformDialectExtensionIncGen",
"//llvm:Support",
2024-06-21 14:12:06 +01:00
"//mlir:BytecodeOpInterface",
"//mlir:IR",
"//mlir:PDLDialect",
"//mlir:Pass",
"//mlir:TransformDebugExtension",
"//mlir:TransformDialect",
"//mlir:TransformDialectInterfaces",
"//mlir:TransformDialectTransforms",
"//mlir:TransformPDLExtension",
2022-01-19 14:14:36 +01:00
],
)
2024-06-21 14:12:06 +01:00
gentbl_sharded_ops(
name = "TestDialectOpSrcs",
hdr_out = "lib/Dialect/Test/TestOps.h.inc",
shard_count = 20,
sharder = "//mlir:mlir-src-sharder",
src_file = "lib/Dialect/Test/TestOps.cpp",
src_out = "lib/Dialect/Test/TestOps.cpp.inc",
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Dialect/Test/TestOps.td",
test = True,
deps = [":TestOpTdFiles"],
)
cc_library(
2024-06-21 14:12:06 +01:00
name = "TestDialect",
srcs = glob(
["lib/Dialect/Test/*.cpp"],
exclude = ["lib/Dialect/Test/TestToLLVMIRTranslation.cpp"],
) + [":TestDialectOpSrcs"],
hdrs = glob(["lib/Dialect/Test/*.h"]),
includes = [
"lib/Dialect/Test",
],
deps = [
2024-06-21 14:12:06 +01:00
":TestAttrDefsIncGen",
":TestEnumDefsIncGen",
":TestInterfacesIncGen",
":TestOpsIncGen",
":TestOpsSyntaxIncGen",
":TestTypeDefsIncGen",
"//llvm:Core",
"//llvm:IRReader",
"//llvm:Support",
"//mlir:ArithDialect",
"//mlir:BytecodeOpInterface",
"//mlir:CallOpInterfaces",
"//mlir:ControlFlowInterfaces",
"//mlir:CopyOpInterface",
"//mlir:DLTIDialect",
"//mlir:DataLayoutInterfaces",
"//mlir:DerivedAttributeOpInterface",
"//mlir:DestinationStyleOpInterface",
"//mlir:Dialect",
"//mlir:DialectUtils",
"//mlir:FromLLVMIRTranslation",
"//mlir:FuncDialect",
"//mlir:FuncTransforms",
"//mlir:FunctionInterfaces",
"//mlir:IR",
"//mlir:InferIntRangeInterface",
"//mlir:InferTypeOpInterface",
"//mlir:InliningUtils",
"//mlir:LLVMDialect",
"//mlir:LLVMIRToLLVMTranslation",
"//mlir:LinalgDialect",
"//mlir:LoopLikeInterface",
"//mlir:MemorySlotInterfaces",
"//mlir:Pass",
"//mlir:PolynomialDialect",
"//mlir:Reducer",
"//mlir:SideEffectInterfaces",
"//mlir:Support",
"//mlir:TensorDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:TranslateLib",
"//mlir:ValueBoundsOpInterface",
"//mlir:ViewLikeInterface",
],
)
cc_library(
name = "TestToLLVMIRTranslation",
srcs = ["lib/Dialect/Test/TestToLLVMIRTranslation.cpp"],
deps = [
":TestDialect",
"//llvm:Core",
"//llvm:Support",
2024-06-21 14:12:06 +01:00
"//mlir:BuiltinToLLVMIRTranslation",
"//mlir:IR",
"//mlir:LLVMToLLVMIRTranslation",
"//mlir:ToLLVMIRTranslation",
"//mlir:TranslateLib",
],
)
cc_library(
2024-06-21 14:12:06 +01:00
name = "TestIR",
srcs = glob(["lib/IR/*.cpp"]),
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//llvm:Support",
2024-06-21 14:12:06 +01:00
"//mlir:Analysis",
"//mlir:ArithDialect",
"//mlir:BytecodeOpInterface",
"//mlir:BytecodeReader",
"//mlir:BytecodeWriter",
"//mlir:FuncDialect",
"//mlir:FunctionInterfaces",
"//mlir:IR",
"//mlir:LinalgDialect",
"//mlir:Parser",
"//mlir:Pass",
"//mlir:Support",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestLoopLikeInterface",
srcs = glob(["lib/Interfaces/LoopLikeInterface/*.cpp"]),
deps = [
2024-06-21 14:12:06 +01:00
"//llvm:Support",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:LoopLikeInterface",
"//mlir:Pass",
],
)
2024-06-21 14:12:06 +01:00
gentbl_cc_library(
name = "TestTilingInterfaceTransformOpsIncGen",
includes = ["lib/Interfaces/TilingInterface"],
strip_include_prefix = "lib",
tbl_outs = [
(
["-gen-op-decls"],
"lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.h.inc",
),
(
["-gen-op-defs"],
"lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-tblgen",
td_file = "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td",
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:SCFTdFiles",
"//mlir:TransformDialectTdFiles",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestTilingInterface",
srcs = glob(["lib/Interfaces/TilingInterface/*.cpp"]),
includes = ["lib/Interfaces/TilingInterface"],
deps = [
2024-06-21 14:12:06 +01:00
":TestTilingInterfaceTransformOpsIncGen",
"//llvm:Support",
"//mlir:AffineDialect",
"//mlir:ArithDialect",
"//mlir:DialectUtils",
"//mlir:FuncDialect",
"//mlir:GPUDialect",
"//mlir:IR",
"//mlir:IndexDialect",
"//mlir:LinalgDialect",
"//mlir:LinalgTransforms",
"//mlir:MemRefDialect",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:SCFTransforms",
"//mlir:TensorDialect",
"//mlir:TensorTilingInterfaceImpl",
"//mlir:TilingInterface",
"//mlir:TransformDialect",
"//mlir:TransformDialectInterfaces",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestPass",
srcs = glob(["lib/Pass/*.cpp"]),
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//llvm:Support",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:Pass",
"//mlir:Support",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestRewrite",
srcs = [
2024-06-21 14:12:06 +01:00
"lib/Rewrite/TestPDLByteCode.cpp",
],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:IR",
"//mlir:PDLInterpDialect",
"//mlir:Pass",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestReducer",
srcs = [
2024-06-21 14:12:06 +01:00
"lib/Reducer/MLIRTestReducer.cpp",
],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:IR",
"//mlir:Pass",
"//mlir:Support",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestTransforms",
srcs = glob(["lib/Transforms/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
":TestDialectConversionPDLLPatternsIncGen",
"//llvm:Support",
2024-06-21 14:12:06 +01:00
"//mlir:AffineAnalysis",
"//mlir:AffineDialect",
"//mlir:Analysis",
"//mlir:ArithDialect",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:InliningUtils",
"//mlir:MathDialect",
"//mlir:PDLDialect",
"//mlir:PDLInterpDialect",
"//mlir:Parser",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:SPIRVDialect",
"//mlir:SideEffectInterfaces",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestFuncToLLVM",
srcs = glob(["lib/Conversion/FuncToLLVM/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//mlir:FuncDialect",
"//mlir:FuncToLLVM",
"//mlir:IR",
"//mlir:LLVMCommonConversion",
"//mlir:LLVMDialect",
"//mlir:Pass",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestOneToNTypeConversion",
srcs = glob(["lib/Conversion/OneToNTypeConversion/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//mlir:FuncDialect",
"//mlir:FuncTransforms",
"//mlir:IR",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:SCFTransforms",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestVectorToSPIRV",
srcs = glob(["lib/Conversion/VectorToSPIRV/*.cpp"]),
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ArithDialect",
"//mlir:FuncDialect",
"//mlir:Pass",
"//mlir:SPIRVDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:VectorToSPIRV",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestAffine",
srcs = glob([
"lib/Dialect/Affine/*.cpp",
]),
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//llvm:Support",
"//mlir:AffineAnalysis",
"//mlir:AffineDialect",
"//mlir:AffineTransforms",
"//mlir:AffineUtils",
"//mlir:Analysis",
"//mlir:ArithTransforms",
"//mlir:DialectUtils",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:MemRefDialect",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:Support",
"//mlir:TensorDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:ValueBoundsOpInterface",
"//mlir:VectorDialect",
"//mlir:VectorUtils",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestDLTI",
srcs = glob(["lib/Dialect/DLTI/*.cpp"]),
includes = ["lib/Dialect/Test"],
2023-11-29 19:31:52 -05:00
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//mlir:Analysis",
"//mlir:DLTIDialect",
"//mlir:IR",
"//mlir:Pass",
2023-11-29 19:31:52 -05:00
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestGPU",
srcs = glob(["lib/Dialect/GPU/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//llvm:NVPTXCodeGen",
"//llvm:Support",
2024-06-21 14:12:06 +01:00
"//mlir:AffineDialect",
"//mlir:AffineToStandard",
"//mlir:ArithDialect",
"//mlir:ArithToLLVM",
"//mlir:FuncDialect",
"//mlir:FuncToLLVM",
"//mlir:GPUDialect",
"//mlir:GPUToGPURuntimeTransforms",
"//mlir:GPUToNVVMTransforms",
"//mlir:GPUTransforms",
"//mlir:IR",
"//mlir:IndexDialect",
"//mlir:IndexToLLVM",
"//mlir:LLVMDialect",
"//mlir:LinalgTransforms",
"//mlir:MathToLLVM",
"//mlir:MemRefDialect",
"//mlir:MemRefToLLVM",
"//mlir:MemRefTransforms",
"//mlir:NVGPUToNVVM",
"//mlir:NVVMToLLVM",
"//mlir:NVVMToLLVMIRTranslation",
"//mlir:Pass",
"//mlir:ROCDLToLLVMIRTranslation",
"//mlir:ReconcileUnrealizedCasts",
"//mlir:SCFDialect",
"//mlir:SCFToControlFlow",
"//mlir:SPIRVDialect",
"//mlir:ToLLVMIRTranslation",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:VectorToLLVM",
"//mlir:VectorToSCF",
],
)
cc_library(
name = "TestLinalg",
srcs = glob(["lib/Dialect/Linalg/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
"//llvm:Support",
"//mlir:AffineDialect",
"//mlir:ArithDialect",
"//mlir:ArithTransforms",
"//mlir:BufferizationDialect",
"//mlir:BufferizationTransforms",
"//mlir:FuncDialect",
"//mlir:FuncTransforms",
"//mlir:GPUDialect",
"//mlir:IR",
"//mlir:LinalgDialect",
"//mlir:LinalgTransforms",
"//mlir:LinalgUtils",
"//mlir:MemRefDialect",
"//mlir:Parser",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:SCFTransforms",
"//mlir:TensorDialect",
"//mlir:TensorTransforms",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:VectorToSCF",
"//mlir:VectorTransforms",
],
)
cc_library(
name = "TestLLVM",
srcs = glob(["lib/Dialect/LLVM/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
"//mlir:AffineToStandard",
"//mlir:FuncDialect",
"//mlir:FuncToLLVM",
"//mlir:IR",
"//mlir:IndexToLLVM",
"//mlir:LLVMDialect",
"//mlir:LinalgTransforms",
"//mlir:MathToLLVM",
"//mlir:MemRefToLLVM",
"//mlir:MemRefTransforms",
"//mlir:Pass",
"//mlir:ReconcileUnrealizedCasts",
"//mlir:SCFToControlFlow",
"//mlir:Transforms",
"//mlir:VectorToLLVM",
"//mlir:VectorToSCF",
],
)
cc_library(
name = "TestMath",
srcs = glob(["lib/Dialect/Math/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
"//mlir:ArithDialect",
"//mlir:MathDialect",
"//mlir:MathTransforms",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:X86VectorDialect",
],
)
cc_library(
name = "TestMathToVCIX",
srcs = glob(["lib/Conversion/MathToVCIX/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
"//mlir:ArithDialect",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:MathDialect",
"//mlir:Pass",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VCIXDialect",
"//mlir:VectorDialect",
],
)
cc_library(
name = "TestMemRef",
srcs = glob(["lib/Dialect/MemRef/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
":TestDialect",
"//mlir:AffineDialect",
"//mlir:ArithDialect",
"//mlir:ArithTransforms",
"//mlir:FuncDialect",
"//mlir:MemRefDialect",
"//mlir:MemRefTransforms",
"//mlir:Pass",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:VectorTransforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestMesh",
srcs = glob(["lib/Dialect/Mesh/**/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//mlir:ArithDialect",
"//mlir:DialectUtils",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:MeshDialect",
"//mlir:MeshTransforms",
"//mlir:Pass",
"//mlir:SPIRVDialect",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestNVGPU",
srcs = glob(["lib/Dialect/NVGPU/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:AffineDialect",
"//mlir:Analysis",
"//mlir:FuncDialect",
"//mlir:GPUDialect",
"//mlir:IR",
"//mlir:LLVMDialect",
"//mlir:LinalgDialect",
"//mlir:LinalgTransforms",
"//mlir:MemRefDialect",
"//mlir:NVGPUDialect",
"//mlir:NVGPUTransforms",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestSCF",
srcs = glob(["lib/Dialect/SCF/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//llvm:Support",
"//mlir:ArithDialect",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:MathDialect",
"//mlir:MemRefDialect",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:SCFTransforms",
"//mlir:SCFUtils",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestArith",
srcs = glob(["lib/Dialect/Arith/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ArithDialect",
"//mlir:ArithTransforms",
"//mlir:FuncDialect",
"//mlir:LLVMDialect",
"//mlir:MathDialect",
"//mlir:Pass",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestArmNeon",
srcs = glob(["lib/Dialect/ArmNeon/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ArmNeonDialect",
"//mlir:ArmNeonTransforms",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:Pass",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestArmSME",
srcs = glob(["lib/Dialect/ArmSME/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ArithToArmSME",
"//mlir:ArmSMEToLLVM",
"//mlir:ArmSMEToSCF",
"//mlir:ArmSMETransforms",
"//mlir:ArmSVETransforms",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:Pass",
"//mlir:SCFToControlFlow",
"//mlir:Transforms",
"//mlir:VectorToArmSME",
"//mlir:VectorToSCF",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestBufferization",
srcs = glob(["lib/Dialect/Bufferization/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
"//mlir:BufferizationDialect",
"//mlir:BufferizationTransforms",
"//mlir:IR",
"//mlir:Pass",
],
2024-06-21 14:12:06 +01:00
)
cc_library(
name = "TestControlFlow",
srcs = glob(["lib/Dialect/ControlFlow/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ControlFlowDialect",
"//mlir:ControlFlowToLLVM",
"//mlir:FuncDialect",
"//mlir:LLVMCommonConversion",
"//mlir:LLVMDialect",
"//mlir:Pass",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestShapeDialect",
srcs = [
2024-06-21 14:12:06 +01:00
"lib/Dialect/Shape/TestShapeFunctions.cpp",
"lib/Dialect/Shape/TestShapeMappingAnalysis.cpp",
],
deps = [
2024-06-21 14:12:06 +01:00
"//llvm:Support",
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:InferTypeOpInterface",
"//mlir:Pass",
"//mlir:ShapeDialect",
"//mlir:ShapeTransforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestSPIRV",
srcs = glob([
"lib/Dialect/SPIRV/*.cpp",
]),
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:FuncDialect",
"//mlir:GPUDialect",
"//mlir:IR",
"//mlir:Pass",
"//mlir:SPIRVConversion",
"//mlir:SPIRVDialect",
"//mlir:SPIRVModuleCombiner",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestFunc",
srcs = glob(["lib/Dialect/Func/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
"//mlir:AffineDialect",
"//mlir:FuncDialect",
"//mlir:FuncTransforms",
"//mlir:IR",
"//mlir:Pass",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestTensor",
srcs = glob(["lib/Dialect/Tensor/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:ArithDialect",
"//mlir:LinalgDialect",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:TensorDialect",
"//mlir:TensorTransforms",
"//mlir:TransformDialect",
"//mlir:TransformDialectInterfaces",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestVector",
srcs = glob(["lib/Dialect/Vector/*.cpp"]),
includes = ["lib/Dialect/Test"],
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:AffineDialect",
"//mlir:Analysis",
"//mlir:ArithDialect",
"//mlir:FuncDialect",
"//mlir:GPUDialect",
"//mlir:LLVMDialect",
"//mlir:LinalgDialect",
"//mlir:LinalgTransforms",
"//mlir:MemRefDialect",
"//mlir:NVGPUDialect",
"//mlir:Pass",
"//mlir:SCFDialect",
"//mlir:Support",
"//mlir:TensorDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
"//mlir:VectorDialect",
"//mlir:VectorToSCF",
"//mlir:VectorTransforms",
"//mlir:X86VectorDialect",
],
)
2024-06-21 14:12:06 +01:00
cc_library(
name = "TestTosaDialect",
srcs = glob([
"lib/Dialect/Tosa/*.cpp",
]),
deps = [
2024-06-21 14:12:06 +01:00
"//mlir:FuncDialect",
"//mlir:IR",
"//mlir:Pass",
"//mlir:TensorDialect",
"//mlir:TosaDialect",
"//mlir:TransformUtils",
"//mlir:Transforms",
],
)
2024-06-21 14:12:06 +01:00
gentbl_cc_library(
name = "TestPDLLPatternsIncGen",
includes = ["lib/Dialect/Test"],
strip_include_prefix = "lib",
tbl_outs = [
(
["-x=cpp"],
"lib/Tools/PDLL/TestPDLLPatterns.h.inc",
),
],
2024-06-21 14:12:06 +01:00
tblgen = "//mlir:mlir-pdll",
td_file = "lib/Tools/PDLL/TestPDLL.pdll",
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
":TestOpTdFiles",
],
)
2024-06-21 14:12:06 +01:00
gentbl_cc_library(
name = "TestDialectConversionPDLLPatternsIncGen",
includes = ["lib/Dialect/Test"],
strip_include_prefix = "lib",
tbl_outs = [
(
["-x=cpp"],
"lib/TestDialectConversionPDLLPatterns.h.inc",
),
],
tblgen = "//mlir:mlir-pdll",
td_file = "lib/Transforms/TestDialectConversion.pdll",
deps = [
":TestDialect",
":TestOpTdFiles",
"//mlir:DialectConversionPdllFiles",
],
)
cc_library(
2024-06-21 14:12:06 +01:00
name = "TestPDLL",
srcs = ["lib/Tools/PDLL/TestPDLL.cpp"],
includes = ["lib/Tools/PDLL"],
2024-02-07 16:45:35 -08:00
deps = [
2024-06-21 14:12:06 +01:00
":TestDialect",
":TestPDLLPatternsIncGen",
"//mlir:CastInterfaces",
"//mlir:IR",
"//mlir:PDLDialect",
"//mlir:PDLInterpDialect",
"//mlir:Parser",
"//mlir:Pass",
"//mlir:Support",
"//mlir:TransformUtils",
"//mlir:Transforms",
2024-02-07 16:45:35 -08:00
],
)