1238 lines · plain
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.2# See https://llvm.org/LICENSE.txt for license information.3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4 5load("@bazel_skylib//rules:expand_template.bzl", "expand_template")6load("@rules_cc//cc:defs.bzl", "cc_library")7load("//llvm:lit_test.bzl", "package_path")8load("//mlir:tblgen.bzl", "gentbl_cc_library", "gentbl_sharded_ops", "td_library")9 10package(11 default_visibility = ["//visibility:public"],12 features = ["layering_check"],13)14 15licenses(["notice"])16 17LLVM_LIT_PATH_FUNCTION = " " + \18 "# Allow generated file to be relocatable.\n" + \19 "from pathlib import Path\n" + \20 "def path(p):\n" + \21 " if not p: return ''\n" + \22 " return str((Path(__file__).parent / p).resolve())\n"23 24LIT_SITE_CFG_IN_HEADER = "# Autogenerated, do not edit." + LLVM_LIT_PATH_FUNCTION25 26expand_template(27 name = "lit_site_cfg_py",28 testonly = True,29 out = "lit.site.cfg.py",30 substitutions = {31 "@LIT_SITE_CFG_IN_HEADER@": LIT_SITE_CFG_IN_HEADER,32 "@LLVM_TOOLS_DIR@": package_path("//llvm:BUILD"),33 "@ENABLE_SHARED@": "1",34 "@BUILD_SHARED_LIBS@": "1",35 "@ENABLE_ASSERTIONS@": "1",36 "@MLIR_SOURCE_DIR@": package_path("//mlir:BUILD"),37 "@MLIR_TOOLS_DIR@": package_path("//mlir:BUILD"),38 "\"@MLIR_BINARY_DIR@\"": "os.environ[\"TEST_UNDECLARED_OUTPUTS_DIR\"]",39 # All disabled, but required to substituted because they are not in quotes.40 "@LLVM_BUILD_EXAMPLES@": "0",41 "@LLVM_HAS_NVPTX_TARGET@": "0",42 "@LLVM_INCLUDE_SPIRV_TOOLS_TESTS@": "0",43 "@MLIR_ENABLE_CUDA_RUNNER@": "0",44 "@MLIR_ENABLE_ROCM_CONVERSIONS@": "0",45 "@MLIR_ENABLE_ROCM_RUNNER@": "0",46 "@MLIR_ENABLE_SYCL_RUNNER@": "0",47 "@MLIR_ENABLE_LEVELZERO_RUNNER@": "0",48 "@MLIR_ENABLE_SPIRV_CPU_RUNNER@": "0",49 "@MLIR_ENABLE_VULKAN_RUNNER@": "0",50 "@MLIR_ENABLE_BINDINGS_PYTHON@": "0",51 "@MLIR_ENABLE_XEVM_CONVERSIONS@": "0",52 "@MLIR_RUN_AMX_TESTS@": "0",53 "@MLIR_RUN_ARM_SVE_TESTS@": "0",54 "@MLIR_RUN_ARM_SME_TESTS@": "0",55 "@MLIR_RUN_X86VECTOR_TESTS@": "0",56 "@MLIR_RUN_CUDA_TENSOR_CORE_TESTS@": "0",57 "@MLIR_RUN_CUDA_SM80_TESTS@": "0",58 "@MLIR_RUN_CUDA_SM80_LT_TESTS@": "0",59 "@MLIR_RUN_CUDA_SM90_TESTS@": "0",60 "@MLIR_INCLUDE_INTEGRATION_TESTS@": "0",61 "@SHLIBDIR@": package_path("//llvm:BUILD"),62 },63 template = "lit.site.cfg.py.in",64)65 66# Common data used by most lit tests.67filegroup(68 name = "lit_data",69 testonly = True,70 data = [71 "lit.cfg.py",72 "lit.site.cfg.py",73 "//llvm:FileCheck",74 "//llvm:count",75 "//llvm:not",76 ],77)78 79cc_library(80 name = "IRProducingAPITest",81 hdrs = ["APITest.h"],82 includes = ["."],83)84 85cc_library(86 name = "TestAnalysis",87 srcs = glob(88 [89 "lib/Analysis/*.cpp",90 "lib/Analysis/*.h",91 "lib/Analysis/DataFlow/*.cpp",92 "lib/Analysis/DataFlow/*.h",93 ],94 ),95 includes = ["lib/Dialect/Test"],96 deps = [97 ":TestDialect",98 "//llvm:Support",99 "//mlir:AffineAnalysis",100 "//mlir:AffineDialect",101 "//mlir:Analysis",102 "//mlir:CallOpInterfaces",103 "//mlir:ControlFlowInterfaces",104 "//mlir:FuncDialect",105 "//mlir:FunctionInterfaces",106 "//mlir:IR",107 "//mlir:MemRefDialect",108 "//mlir:Pass",109 "//mlir:SideEffectInterfaces",110 "//mlir:Support",111 ],112)113 114td_library(115 name = "TestOpTdFiles",116 srcs = glob(["lib/Dialect/Test/*.td"]),117 deps = [118 "//mlir:BufferizableOpInterfaceTdFiles",119 "//mlir:BufferizationTypeInterfacesTdFiles",120 "//mlir:BuiltinDialectTdFiles",121 "//mlir:CallInterfacesTdFiles",122 "//mlir:ControlFlowInterfacesTdFiles",123 "//mlir:DLTIDialectTdFiles",124 "//mlir:DataLayoutInterfacesTdFiles",125 "//mlir:DestinationStyleOpInterfaceTdFiles",126 "//mlir:FunctionInterfacesTdFiles",127 "//mlir:InferIntRangeInterfaceTdFiles",128 "//mlir:InferTypeOpInterfaceTdFiles",129 "//mlir:LinalgStructuredOpsTdFiles",130 "//mlir:MemorySlotInterfacesTdFiles",131 "//mlir:NVVMRequiresSMTraitsTdFiles",132 "//mlir:OpBaseTdFiles",133 "//mlir:PtrTdFiles",134 "//mlir:SideEffectInterfacesTdFiles",135 "//mlir:ValueBoundsOpInterfaceTdFiles",136 ],137)138 139gentbl_cc_library(140 name = "TestOpsSyntaxIncGen",141 strip_include_prefix = "lib/Dialect/Test",142 tbl_outs = {143 "lib/Dialect/Test/TestOpsSyntax.h.inc": ["-gen-op-decls"],144 "lib/Dialect/Test/TestOpsSyntax.cpp.inc": ["-gen-op-defs"],145 },146 tblgen = "//mlir:mlir-tblgen",147 td_file = "lib/Dialect/Test/TestOpsSyntax.td",148 test = True,149 deps = [150 ":TestOpTdFiles",151 ],152)153 154gentbl_cc_library(155 name = "TestOpsIncGen",156 strip_include_prefix = "lib/Dialect/Test",157 tbl_outs = {158 "lib/Dialect/Test/TestOpsDialect.h.inc": [159 "-gen-dialect-decls",160 "-dialect=test",161 ],162 "lib/Dialect/Test/TestOpsDialect.cpp.inc": [163 "-gen-dialect-defs",164 "-dialect=test",165 ],166 "lib/Dialect/Test/TestPatterns.inc": ["-gen-rewriters"],167 },168 tblgen = "//mlir:mlir-tblgen",169 td_file = "lib/Dialect/Test/TestOps.td",170 test = True,171 deps = [172 ":TestOpTdFiles",173 ],174)175 176gentbl_cc_library(177 name = "TestInterfacesIncGen",178 strip_include_prefix = "lib/Dialect/Test",179 tbl_outs = {180 "lib/Dialect/Test/TestAttrInterfaces.h.inc": ["-gen-attr-interface-decls"],181 "lib/Dialect/Test/TestAttrInterfaces.cpp.inc": ["-gen-attr-interface-defs"],182 "lib/Dialect/Test/TestTypeInterfaces.h.inc": ["-gen-type-interface-decls"],183 "lib/Dialect/Test/TestTypeInterfaces.cpp.inc": ["-gen-type-interface-defs"],184 "lib/Dialect/Test/TestOpInterfaces.h.inc": ["-gen-op-interface-decls"],185 "lib/Dialect/Test/TestOpInterfaces.cpp.inc": ["-gen-op-interface-defs"],186 },187 tblgen = "//mlir:mlir-tblgen",188 td_file = "lib/Dialect/Test/TestInterfaces.td",189 test = True,190 deps = [191 "//mlir:OpBaseTdFiles",192 "//mlir:SideEffectInterfacesTdFiles",193 ],194)195 196gentbl_cc_library(197 name = "TestAttrDefsIncGen",198 strip_include_prefix = "lib/Dialect/Test",199 tbl_outs = {200 "lib/Dialect/Test/TestAttrDefs.h.inc": [201 "-gen-attrdef-decls",202 "--attrdefs-dialect=test",203 ],204 "lib/Dialect/Test/TestAttrDefs.cpp.inc": [205 "-gen-attrdef-defs",206 "--attrdefs-dialect=test",207 ],208 },209 tblgen = "//mlir:mlir-tblgen",210 td_file = "lib/Dialect/Test/TestOps.td",211 test = True,212 deps = [213 ":TestOpTdFiles",214 ],215)216 217gentbl_cc_library(218 name = "TestEnumDefsIncGen",219 strip_include_prefix = "lib/Dialect/Test",220 tbl_outs = {221 "lib/Dialect/Test/TestOpEnums.h.inc": ["-gen-enum-decls"],222 "lib/Dialect/Test/TestOpEnums.cpp.inc": ["-gen-enum-defs"],223 },224 tblgen = "//mlir:mlir-tblgen",225 td_file = "lib/Dialect/Test/TestEnumDefs.td",226 test = True,227 deps = [228 ":TestOpTdFiles",229 ],230)231 232gentbl_cc_library(233 name = "TestTypeDefsIncGen",234 strip_include_prefix = "lib/Dialect/Test",235 tbl_outs = {236 "lib/Dialect/Test/TestTypeDefs.h.inc": [237 "-gen-typedef-decls",238 "--typedefs-dialect=test",239 ],240 "lib/Dialect/Test/TestTypeDefs.cpp.inc": [241 "-gen-typedef-defs",242 "--typedefs-dialect=test",243 ],244 },245 tblgen = "//mlir:mlir-tblgen",246 td_file = "lib/Dialect/Test/TestTypeDefs.td",247 test = True,248 deps = [249 ":TestOpTdFiles",250 "//mlir:BufferizableOpInterfaceTdFiles",251 "//mlir:BufferizationTypeInterfacesTdFiles",252 "//mlir:BuiltinDialectTdFiles",253 ],254)255 256cc_library(257 name = "TestTestDynDialect",258 srcs = glob([259 "lib/Dialect/TestDyn/*.cpp",260 ]),261 deps = [262 "//mlir:IR",263 ],264)265 266genrule(267 name = "test_irdl_to_cpp_gen",268 srcs = ["lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir"],269 outs = ["lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir.cpp.inc"],270 cmd = "$(location %s) $< -o $@" % "//mlir:irdl-to-cpp",271 tools = ["//mlir:irdl-to-cpp"],272)273 274cc_library(275 name = "TestIRDLToCpp",276 srcs = glob(["lib/Dialect/TestIRDLToCpp/*.cpp"]) + ["lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir.cpp.inc"],277 hdrs = glob(["lib/Dialect/TestIRDLToCpp/*.h"]),278 includes = ["lib/Dialect/TestIRDLToCpp"],279 deps = [280 ":test_irdl_to_cpp_gen",281 "//llvm:Support",282 "//mlir:BuiltinToLLVMIRTranslation",283 "//mlir:IR",284 "//mlir:InferTypeOpInterface",285 "//mlir:LLVMToLLVMIRTranslation",286 "//mlir:Pass",287 "//mlir:SCFDialect",288 "//mlir:ToLLVMIRTranslation",289 "//mlir:TransformUtils",290 "//mlir:Transforms",291 "//mlir:TranslateLib",292 ],293)294 295td_library(296 name = "TransformDialectTdFiles",297 srcs = glob(["lib/Dialect/Transform/*.td"]),298 deps = [299 "//mlir:OpBaseTdFiles",300 ],301)302 303gentbl_cc_library(304 name = "TestTransformDialectExtensionIncGen",305 strip_include_prefix = "lib/Dialect/Transform",306 tbl_outs = {307 "lib/Dialect/Transform/TestTransformDialectExtension.h.inc": ["-gen-op-decls"],308 "lib/Dialect/Transform/TestTransformDialectExtension.cpp.inc": ["-gen-op-defs"],309 "lib/Dialect/Transform/TestTransformDialectExtensionTypes.h.inc": [310 "-gen-typedef-decls",311 "-typedefs-dialect=transform",312 ],313 "lib/Dialect/Transform/TestTransformDialectExtensionTypes.cpp.inc": [314 "-gen-typedef-defs",315 "-typedefs-dialect=transform",316 ],317 },318 tblgen = "//mlir:mlir-tblgen",319 td_file = "lib/Dialect/Transform/TestTransformDialectExtension.td",320 test = True,321 deps = [322 ":TransformDialectTdFiles",323 "//mlir:PDLDialectTdFiles",324 "//mlir:TransformDialectTdFiles",325 "//mlir:TransformPDLExtension",326 ],327)328 329cc_library(330 name = "TestTransformDialect",331 srcs = glob(["lib/Dialect/Transform/*.cpp"]),332 hdrs = glob(["lib/Dialect/Transform/*.h"]),333 includes = ["lib/Dialect/Transform"],334 deps = [335 ":TestTransformDialectExtensionIncGen",336 "//llvm:Support",337 "//mlir:BytecodeOpInterface",338 "//mlir:IR",339 "//mlir:PDLDialect",340 "//mlir:Pass",341 "//mlir:TransformDebugExtension",342 "//mlir:TransformDialect",343 "//mlir:TransformDialectInterfaces",344 "//mlir:TransformDialectTransforms",345 "//mlir:TransformPDLExtension",346 ],347)348 349gentbl_sharded_ops(350 name = "TestDialectOpSrcs",351 hdr_out = "lib/Dialect/Test/TestOps.h.inc",352 shard_count = 20,353 sharder = "//mlir:mlir-src-sharder",354 src_file = "lib/Dialect/Test/TestOps.cpp",355 src_out = "lib/Dialect/Test/TestOps.cpp.inc",356 tblgen = "//mlir:mlir-tblgen",357 td_file = "lib/Dialect/Test/TestOps.td",358 test = True,359 deps = [":TestOpTdFiles"],360)361 362cc_library(363 name = "TestDialect",364 srcs = glob(365 ["lib/Dialect/Test/*.cpp"],366 exclude = ["lib/Dialect/Test/TestToLLVMIRTranslation.cpp"],367 ) + [":TestDialectOpSrcs"],368 hdrs = glob(["lib/Dialect/Test/*.h"]),369 includes = [370 "lib/Dialect/Test",371 ],372 deps = [373 ":TestAttrDefsIncGen",374 ":TestEnumDefsIncGen",375 ":TestInterfacesIncGen",376 ":TestOpsIncGen",377 ":TestOpsSyntaxIncGen",378 ":TestTypeDefsIncGen",379 "//llvm:Core",380 "//llvm:IRReader",381 "//llvm:Support",382 "//mlir:ArithDialect",383 "//mlir:BufferizationDialect",384 "//mlir:BufferizationInterfaces",385 "//mlir:BytecodeOpInterface",386 "//mlir:CallOpInterfaces",387 "//mlir:CommonFolders",388 "//mlir:ControlFlowInterfaces",389 "//mlir:ControlFlowTransforms",390 "//mlir:DLTIDialect",391 "//mlir:DataLayoutInterfaces",392 "//mlir:DerivedAttributeOpInterface",393 "//mlir:DestinationStyleOpInterface",394 "//mlir:Dialect",395 "//mlir:DialectUtils",396 "//mlir:FromLLVMIRTranslation",397 "//mlir:FuncDialect",398 "//mlir:FuncTransforms",399 "//mlir:FunctionInterfaces",400 "//mlir:IR",401 "//mlir:InferIntRangeInterface",402 "//mlir:InferTypeOpInterface",403 "//mlir:InliningUtils",404 "//mlir:LLVMDialect",405 "//mlir:LLVMIRToLLVMTranslation",406 "//mlir:LinalgDialect",407 "//mlir:LinalgInterfaces",408 "//mlir:LoopLikeInterface",409 "//mlir:MemorySlotInterfaces",410 "//mlir:NVVMDialect",411 "//mlir:Pass",412 "//mlir:PtrDialect",413 "//mlir:Reducer",414 "//mlir:SCFTransforms",415 "//mlir:SideEffectInterfaces",416 "//mlir:Support",417 "//mlir:TensorDialect",418 "//mlir:TransformUtils",419 "//mlir:Transforms",420 "//mlir:TranslateLib",421 "//mlir:ValueBoundsOpInterface",422 "//mlir:ViewLikeInterface",423 ],424)425 426cc_library(427 name = "TestToLLVMIRTranslation",428 srcs = ["lib/Dialect/Test/TestToLLVMIRTranslation.cpp"],429 deps = [430 ":TestDialect",431 "//llvm:Core",432 "//llvm:Support",433 "//mlir:BuiltinToLLVMIRTranslation",434 "//mlir:IR",435 "//mlir:LLVMToLLVMIRTranslation",436 "//mlir:ToLLVMIRTranslation",437 "//mlir:TranslateLib",438 ],439)440 441cc_library(442 name = "TestIR",443 srcs = glob(["lib/IR/*.cpp"]),444 deps = [445 ":TestDialect",446 "//llvm:Support",447 "//mlir:Analysis",448 "//mlir:ArithDialect",449 "//mlir:BufferizationInterfaces",450 "//mlir:BytecodeOpInterface",451 "//mlir:BytecodeReader",452 "//mlir:BytecodeWriter",453 "//mlir:FuncDialect",454 "//mlir:FunctionInterfaces",455 "//mlir:IR",456 "//mlir:LinalgDialect",457 "//mlir:Parser",458 "//mlir:Pass",459 "//mlir:Support",460 ],461)462 463cc_library(464 name = "TestLoopLikeInterface",465 srcs = glob(["lib/Interfaces/LoopLikeInterface/*.cpp"]),466 deps = [467 "//llvm:Support",468 "//mlir:FuncDialect",469 "//mlir:IR",470 "//mlir:LoopLikeInterface",471 "//mlir:Pass",472 ],473)474 475gentbl_cc_library(476 name = "TestTilingInterfaceTransformOpsIncGen",477 includes = ["lib/Interfaces/TilingInterface"],478 strip_include_prefix = "lib",479 tbl_outs = {480 "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.h.inc": ["-gen-op-decls"],481 "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp.inc": ["-gen-op-defs"],482 },483 tblgen = "//mlir:mlir-tblgen",484 td_file = "lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td",485 deps = [486 "//mlir:SCFTdFiles",487 "//mlir:TransformDialectTdFiles",488 ],489)490 491cc_library(492 name = "TestTilingInterface",493 srcs = glob(["lib/Interfaces/TilingInterface/*.cpp"]),494 includes = ["lib/Interfaces/TilingInterface"],495 deps = [496 ":TestTilingInterfaceTransformOpsIncGen",497 "//llvm:Support",498 "//mlir:AffineDialect",499 "//mlir:ArithDialect",500 "//mlir:DialectUtils",501 "//mlir:FuncDialect",502 "//mlir:GPUDialect",503 "//mlir:IR",504 "//mlir:IndexDialect",505 "//mlir:LinalgDialect",506 "//mlir:LinalgTransforms",507 "//mlir:MemRefDialect",508 "//mlir:Pass",509 "//mlir:SCFDialect",510 "//mlir:SCFTransforms",511 "//mlir:TensorDialect",512 "//mlir:TensorTilingInterfaceImpl",513 "//mlir:TilingInterface",514 "//mlir:TransformDialect",515 "//mlir:TransformDialectInterfaces",516 "//mlir:Transforms",517 ],518)519 520cc_library(521 name = "TestPass",522 srcs = glob(["lib/Pass/*.cpp"]),523 deps = [524 ":TestDialect",525 "//llvm:Support",526 "//mlir:ArithToSPIRV",527 "//mlir:ArithTransforms",528 "//mlir:FuncDialect",529 "//mlir:FuncToSPIRV",530 "//mlir:GPUDialect",531 "//mlir:GPUToGPURuntimeTransforms",532 "//mlir:GPUToSPIRV",533 "//mlir:GPUTransforms",534 "//mlir:IR",535 "//mlir:IndexToSPIRV",536 "//mlir:LLVMIRTransforms",537 "//mlir:MemRefToLLVM",538 "//mlir:MemRefToSPIRV",539 "//mlir:MemRefTransforms",540 "//mlir:Pass",541 "//mlir:ReconcileUnrealizedCasts",542 "//mlir:Rewrite",543 "//mlir:SCFToSPIRV",544 "//mlir:SPIRVConversion",545 "//mlir:SPIRVDialect",546 "//mlir:SPIRVToLLVM",547 "//mlir:SPIRVTransforms",548 "//mlir:Support",549 "//mlir:TransformUtils",550 "//mlir:UBToSPIRV",551 "//mlir:VectorDialect",552 "//mlir:VectorToSPIRV",553 "//mlir:VectorTransforms",554 ],555)556 557cc_library(558 name = "TestRewrite",559 srcs = [560 "lib/Rewrite/TestPDLByteCode.cpp",561 ],562 deps = [563 "//mlir:IR",564 "//mlir:PDLInterpDialect",565 "//mlir:Pass",566 "//mlir:Support",567 "//mlir:TransformUtils",568 "//mlir:Transforms",569 ],570)571 572cc_library(573 name = "TestReducer",574 srcs = [575 "lib/Reducer/MLIRTestReducer.cpp",576 ],577 deps = [578 "//mlir:IR",579 "//mlir:Pass",580 "//mlir:Support",581 ],582)583 584td_library(585 name = "TestTransformOpsTdFiles",586 srcs = glob(["lib/Transforms/*.td"]),587 deps = [588 ":TransformDialectTdFiles",589 "//mlir:OpBaseTdFiles",590 "//mlir:SideEffectInterfacesTdFiles",591 "//mlir:TransformDialectTdFiles",592 "//mlir:TransformInterfacesTdFiles",593 ],594)595 596gentbl_cc_library(597 name = "TestTransformsOpsIncGen",598 includes = ["lib/Dialect/Test"],599 strip_include_prefix = "lib",600 tbl_outs = {601 "lib/TestTransformsOps.h.inc": ["-gen-op-decls"],602 "lib/TestTransformsOps.cpp.inc": ["-gen-op-defs"],603 },604 tblgen = "//mlir:mlir-tblgen",605 td_file = "lib/Transforms/TestTransformsOps.td",606 deps = [607 ":TestTransformOpsTdFiles",608 ],609)610 611cc_library(612 name = "TestTransforms",613 srcs = glob(["lib/Transforms/*.cpp"]),614 includes = ["lib/Dialect/Test"],615 deps = [616 ":TestDialect",617 ":TestDialectConversionPDLLPatternsIncGen",618 ":TestTransformsOpsIncGen",619 "//llvm:Support",620 "//mlir:AffineAnalysis",621 "//mlir:AffineDialect",622 "//mlir:Analysis",623 "//mlir:ArithDialect",624 "//mlir:DialectUtils",625 "//mlir:FuncDialect",626 "//mlir:IR",627 "//mlir:InliningUtils",628 "//mlir:MathDialect",629 "//mlir:PDLDialect",630 "//mlir:PDLInterpDialect",631 "//mlir:Parser",632 "//mlir:Pass",633 "//mlir:SCFDialect",634 "//mlir:SPIRVDialect",635 "//mlir:SideEffectInterfaces",636 "//mlir:Support",637 "//mlir:TransformDialect",638 "//mlir:TransformDialectInterfaces",639 "//mlir:TransformUtils",640 "//mlir:Transforms",641 ],642)643 644cc_library(645 name = "TestFuncToLLVM",646 srcs = glob(["lib/Conversion/FuncToLLVM/*.cpp"]),647 includes = ["lib/Dialect/Test"],648 deps = [649 ":TestDialect",650 "//mlir:FuncDialect",651 "//mlir:FuncToLLVM",652 "//mlir:IR",653 "//mlir:LLVMCommonConversion",654 "//mlir:LLVMDialect",655 "//mlir:Pass",656 ],657)658 659cc_library(660 name = "TestVectorToSPIRV",661 srcs = glob(["lib/Conversion/VectorToSPIRV/*.cpp"]),662 deps = [663 "//mlir:ArithDialect",664 "//mlir:FuncDialect",665 "//mlir:Pass",666 "//mlir:SPIRVDialect",667 "//mlir:TransformUtils",668 "//mlir:Transforms",669 "//mlir:VectorDialect",670 "//mlir:VectorToSPIRV",671 ],672)673 674cc_library(675 name = "TestConvertToSPIRV",676 srcs = glob(["lib/Conversion/ConvertToSPIRV/*.cpp"]),677 deps = [678 "//mlir:ArithDialect",679 "//mlir:FuncDialect",680 "//mlir:Pass",681 "//mlir:SPIRVConversion",682 "//mlir:SPIRVDialect",683 "//mlir:TransformUtils",684 "//mlir:Transforms",685 "//mlir:UBDialect",686 "//mlir:VectorDialect",687 "//mlir:VectorTransforms",688 ],689)690 691cc_library(692 name = "TestAffine",693 srcs = glob([694 "lib/Dialect/Affine/*.cpp",695 ]),696 deps = [697 ":TestDialect",698 "//llvm:Support",699 "//mlir:AffineAnalysis",700 "//mlir:AffineDialect",701 "//mlir:AffineTransforms",702 "//mlir:AffineUtils",703 "//mlir:Analysis",704 "//mlir:ArithTransforms",705 "//mlir:DialectUtils",706 "//mlir:FuncDialect",707 "//mlir:FunctionInterfaces",708 "//mlir:IR",709 "//mlir:MemRefDialect",710 "//mlir:Pass",711 "//mlir:SCFDialect",712 "//mlir:Support",713 "//mlir:TensorDialect",714 "//mlir:TransformUtils",715 "//mlir:Transforms",716 "//mlir:ValueBoundsOpInterface",717 "//mlir:VectorDialect",718 "//mlir:VectorUtils",719 ],720)721 722cc_library(723 name = "TestDLTI",724 srcs = glob(["lib/Dialect/DLTI/*.cpp"]),725 includes = ["lib/Dialect/Test"],726 deps = [727 ":TestDialect",728 "//mlir:Analysis",729 "//mlir:DLTIDialect",730 "//mlir:IR",731 "//mlir:Pass",732 ],733)734 735cc_library(736 name = "TestGPU",737 srcs = glob(["lib/Dialect/GPU/*.cpp"]),738 includes = ["lib/Dialect/Test"],739 deps = [740 "//llvm:NVPTXCodeGen",741 "//llvm:Support",742 "//mlir:AMDGPUDialect",743 "//mlir:AMDGPUUtils",744 "//mlir:AffineDialect",745 "//mlir:AffineToStandard",746 "//mlir:ArithDialect",747 "//mlir:ArithToLLVM",748 "//mlir:FuncDialect",749 "//mlir:FuncToLLVM",750 "//mlir:GPUDialect",751 "//mlir:GPUToGPURuntimeTransforms",752 "//mlir:GPUToNVVMTransforms",753 "//mlir:GPUTransforms",754 "//mlir:IR",755 "//mlir:IndexDialect",756 "//mlir:IndexToLLVM",757 "//mlir:LLVMDialect",758 "//mlir:LinalgTransforms",759 "//mlir:MathToLLVM",760 "//mlir:MemRefDialect",761 "//mlir:MemRefToLLVM",762 "//mlir:MemRefTransforms",763 "//mlir:NVGPUToNVVM",764 "//mlir:NVVMToLLVM",765 "//mlir:NVVMToLLVMIRTranslation",766 "//mlir:Pass",767 "//mlir:ROCDLDialect",768 "//mlir:ROCDLToLLVMIRTranslation",769 "//mlir:ReconcileUnrealizedCasts",770 "//mlir:SCFDialect",771 "//mlir:SCFToControlFlow",772 "//mlir:SPIRVDialect",773 "//mlir:ToLLVMIRTranslation",774 "//mlir:TransformUtils",775 "//mlir:Transforms",776 "//mlir:VectorDialect",777 "//mlir:VectorToLLVM",778 "//mlir:VectorToSCF",779 ],780)781 782cc_library(783 name = "TestLinalg",784 srcs = glob(["lib/Dialect/Linalg/*.cpp"]),785 includes = ["lib/Dialect/Test"],786 deps = [787 "//llvm:Support",788 "//mlir:AffineDialect",789 "//mlir:ArithDialect",790 "//mlir:ArithTransforms",791 "//mlir:BufferizationDialect",792 "//mlir:BufferizationTransforms",793 "//mlir:FuncDialect",794 "//mlir:FuncTransforms",795 "//mlir:GPUDialect",796 "//mlir:IR",797 "//mlir:LinalgDialect",798 "//mlir:LinalgTransforms",799 "//mlir:LinalgUtils",800 "//mlir:MemRefDialect",801 "//mlir:Parser",802 "//mlir:Pass",803 "//mlir:SCFDialect",804 "//mlir:SCFTransforms",805 "//mlir:TensorDialect",806 "//mlir:TensorTransforms",807 "//mlir:TransformUtils",808 "//mlir:Transforms",809 "//mlir:VectorDialect",810 "//mlir:VectorToSCF",811 "//mlir:VectorTransforms",812 ],813)814 815cc_library(816 name = "TestLLVM",817 srcs = glob(["lib/Dialect/LLVM/*.cpp"]),818 includes = ["lib/Dialect/Test"],819 deps = [820 "//mlir:AffineToStandard",821 "//mlir:ArithToLLVM",822 "//mlir:ControlFlowToLLVM",823 "//mlir:FuncDialect",824 "//mlir:FuncToLLVM",825 "//mlir:IR",826 "//mlir:IndexToLLVM",827 "//mlir:LLVMCommonConversion",828 "//mlir:LLVMDialect",829 "//mlir:LinalgTransforms",830 "//mlir:MathToLLVM",831 "//mlir:MemRefToLLVM",832 "//mlir:MemRefTransforms",833 "//mlir:Pass",834 "//mlir:ReconcileUnrealizedCasts",835 "//mlir:SCFToControlFlow",836 "//mlir:TransformUtils",837 "//mlir:Transforms",838 "//mlir:UBToLLVM",839 "//mlir:VectorToLLVM",840 "//mlir:VectorToSCF",841 ],842)843 844cc_library(845 name = "TestMath",846 srcs = glob(["lib/Dialect/Math/*.cpp"]),847 includes = ["lib/Dialect/Test"],848 deps = [849 "//mlir:ArithDialect",850 "//mlir:MathDialect",851 "//mlir:MathTransforms",852 "//mlir:Pass",853 "//mlir:SCFDialect",854 "//mlir:TransformUtils",855 "//mlir:Transforms",856 "//mlir:VectorDialect",857 "//mlir:X86VectorDialect",858 ],859)860 861cc_library(862 name = "TestMathToVCIX",863 srcs = glob(["lib/Conversion/MathToVCIX/*.cpp"]),864 includes = ["lib/Dialect/Test"],865 deps = [866 "//mlir:ArithDialect",867 "//mlir:FuncDialect",868 "//mlir:IR",869 "//mlir:MathDialect",870 "//mlir:Pass",871 "//mlir:TransformUtils",872 "//mlir:Transforms",873 "//mlir:VCIXDialect",874 "//mlir:VectorDialect",875 ],876)877 878cc_library(879 name = "TestMemRef",880 srcs = glob(["lib/Dialect/MemRef/*.cpp"]),881 includes = ["lib/Dialect/Test"],882 deps = [883 ":TestDialect",884 "//mlir:AffineDialect",885 "//mlir:ArithDialect",886 "//mlir:ArithTransforms",887 "//mlir:FuncDialect",888 "//mlir:MemRefDialect",889 "//mlir:MemRefTransforms",890 "//mlir:Pass",891 "//mlir:TransformUtils",892 "//mlir:Transforms",893 "//mlir:VectorDialect",894 "//mlir:VectorTransforms",895 ],896)897 898cc_library(899 name = "TestMemRefToLLVMWithTransforms",900 srcs = glob(["lib/Conversion/MemRefToLLVM/*.cpp"]),901 deps = [902 "//mlir:FuncDialect",903 "//mlir:FuncToLLVM",904 "//mlir:IR",905 "//mlir:LLVMCommonConversion",906 "//mlir:LLVMDialect",907 "//mlir:MemRefToLLVM",908 "//mlir:MemRefTransforms",909 "//mlir:Pass",910 ],911)912 913cc_library(914 name = "TestShard",915 srcs = glob(["lib/Dialect/Shard/**/*.cpp"]),916 includes = ["lib/Dialect/Test"],917 deps = [918 ":TestDialect",919 "//mlir:ArithDialect",920 "//mlir:DialectUtils",921 "//mlir:FuncDialect",922 "//mlir:IR",923 "//mlir:Pass",924 "//mlir:SPIRVDialect",925 "//mlir:ShardDialect",926 "//mlir:ShardTransforms",927 "//mlir:Support",928 "//mlir:TransformUtils",929 "//mlir:Transforms",930 ],931)932 933cc_library(934 name = "TestNVGPU",935 srcs = glob(["lib/Dialect/NVGPU/*.cpp"]),936 includes = ["lib/Dialect/Test"],937 deps = [938 "//mlir:AffineDialect",939 "//mlir:Analysis",940 "//mlir:FuncDialect",941 "//mlir:GPUDialect",942 "//mlir:IR",943 "//mlir:LLVMDialect",944 "//mlir:LinalgDialect",945 "//mlir:LinalgTransforms",946 "//mlir:MemRefDialect",947 "//mlir:NVGPUDialect",948 "//mlir:NVGPUTransforms",949 "//mlir:Pass",950 "//mlir:SCFDialect",951 "//mlir:Support",952 "//mlir:TransformUtils",953 "//mlir:Transforms",954 ],955)956 957cc_library(958 name = "TestOpenACC",959 srcs = glob(["lib/Dialect/OpenACC/*.cpp"]),960 includes = ["lib/Dialect/Test"],961 deps = [962 "//llvm:Support",963 "//mlir:ArithDialect",964 "//mlir:FuncDialect",965 "//mlir:IR",966 "//mlir:MemRefDialect",967 "//mlir:OpenACCAnalysis",968 "//mlir:OpenACCDialect",969 "//mlir:Pass",970 "//mlir:Support",971 ],972)973 974cc_library(975 name = "TestSCF",976 srcs = glob(["lib/Dialect/SCF/*.cpp"]),977 includes = ["lib/Dialect/Test"],978 deps = [979 "//llvm:Support",980 "//mlir:ArithDialect",981 "//mlir:FuncDialect",982 "//mlir:IR",983 "//mlir:MathDialect",984 "//mlir:MemRefDialect",985 "//mlir:Pass",986 "//mlir:SCFDialect",987 "//mlir:SCFTransforms",988 "//mlir:SCFUtils",989 "//mlir:TransformUtils",990 "//mlir:Transforms",991 ],992)993 994cc_library(995 name = "TestArith",996 srcs = glob(["lib/Dialect/Arith/*.cpp"]),997 includes = ["lib/Dialect/Test"],998 deps = [999 "//mlir:ArithDialect",1000 "//mlir:ArithTransforms",1001 "//mlir:FuncDialect",1002 "//mlir:LLVMDialect",1003 "//mlir:MathDialect",1004 "//mlir:Pass",1005 "//mlir:TransformUtils",1006 "//mlir:Transforms",1007 "//mlir:VectorDialect",1008 ],1009)1010 1011cc_library(1012 name = "TestArmSME",1013 srcs = glob(["lib/Dialect/ArmSME/*.cpp"]),1014 includes = ["lib/Dialect/Test"],1015 deps = [1016 "//mlir:ArithToArmSME",1017 "//mlir:ArmSMEToLLVM",1018 "//mlir:ArmSMEToSCF",1019 "//mlir:ArmSMETransforms",1020 "//mlir:ArmSVETransforms",1021 "//mlir:FuncDialect",1022 "//mlir:IR",1023 "//mlir:Pass",1024 "//mlir:SCFToControlFlow",1025 "//mlir:Transforms",1026 "//mlir:VectorToArmSME",1027 "//mlir:VectorToSCF",1028 ],1029)1030 1031cc_library(1032 name = "TestBufferization",1033 srcs = glob(["lib/Dialect/Bufferization/*.cpp"]),1034 includes = ["lib/Dialect/Test"],1035 deps = [1036 ":TestDialect",1037 "//mlir:BufferizationDialect",1038 "//mlir:BufferizationInterfaces",1039 "//mlir:BufferizationTransforms",1040 "//mlir:FuncDialect",1041 "//mlir:IR",1042 "//mlir:Pass",1043 ],1044)1045 1046cc_library(1047 name = "TestControlFlow",1048 srcs = glob(["lib/Dialect/ControlFlow/*.cpp"]),1049 includes = ["lib/Dialect/Test"],1050 deps = [1051 "//mlir:ControlFlowDialect",1052 "//mlir:ControlFlowToLLVM",1053 "//mlir:FuncDialect",1054 "//mlir:LLVMCommonConversion",1055 "//mlir:LLVMDialect",1056 "//mlir:Pass",1057 "//mlir:TransformUtils",1058 "//mlir:Transforms",1059 ],1060)1061 1062cc_library(1063 name = "TestShapeDialect",1064 srcs = [1065 "lib/Dialect/Shape/TestShapeFunctions.cpp",1066 "lib/Dialect/Shape/TestShapeMappingAnalysis.cpp",1067 ],1068 deps = [1069 "//llvm:Support",1070 "//mlir:FuncDialect",1071 "//mlir:IR",1072 "//mlir:InferTypeOpInterface",1073 "//mlir:Pass",1074 "//mlir:ShapeDialect",1075 "//mlir:ShapeTransforms",1076 ],1077)1078 1079cc_library(1080 name = "TestSPIRV",1081 srcs = glob([1082 "lib/Dialect/SPIRV/*.cpp",1083 ]),1084 deps = [1085 "//mlir:FuncDialect",1086 "//mlir:GPUDialect",1087 "//mlir:IR",1088 "//mlir:Pass",1089 "//mlir:SPIRVConversion",1090 "//mlir:SPIRVDialect",1091 "//mlir:SPIRVModuleCombiner",1092 "//mlir:Transforms",1093 ],1094)1095 1096cc_library(1097 name = "TestFunc",1098 srcs = glob(["lib/Dialect/Func/*.cpp"]),1099 includes = ["lib/Dialect/Test"],1100 deps = [1101 ":TestDialect",1102 "//mlir:AffineDialect",1103 "//mlir:FuncDialect",1104 "//mlir:FuncTransforms",1105 "//mlir:IR",1106 "//mlir:Pass",1107 "//mlir:TransformUtils",1108 "//mlir:Transforms",1109 ],1110)1111 1112cc_library(1113 name = "TestTensor",1114 srcs = glob(["lib/Dialect/Tensor/*.cpp"]),1115 includes = ["lib/Dialect/Test"],1116 deps = [1117 "//mlir:ArithDialect",1118 "//mlir:LinalgDialect",1119 "//mlir:Pass",1120 "//mlir:SCFDialect",1121 "//mlir:TensorDialect",1122 "//mlir:TensorTransforms",1123 "//mlir:TransformDialect",1124 "//mlir:TransformDialectInterfaces",1125 "//mlir:TransformUtils",1126 "//mlir:Transforms",1127 ],1128)1129 1130cc_library(1131 name = "TestVector",1132 srcs = glob(["lib/Dialect/Vector/*.cpp"]),1133 includes = ["lib/Dialect/Test"],1134 deps = [1135 "//mlir:AffineDialect",1136 "//mlir:Analysis",1137 "//mlir:ArithDialect",1138 "//mlir:FuncDialect",1139 "//mlir:GPUDialect",1140 "//mlir:LLVMDialect",1141 "//mlir:LinalgDialect",1142 "//mlir:LinalgTransforms",1143 "//mlir:MemRefDialect",1144 "//mlir:NVGPUDialect",1145 "//mlir:Pass",1146 "//mlir:SCFDialect",1147 "//mlir:SCFTransforms",1148 "//mlir:Support",1149 "//mlir:TensorDialect",1150 "//mlir:TransformUtils",1151 "//mlir:Transforms",1152 "//mlir:VectorDialect",1153 "//mlir:VectorToSCF",1154 "//mlir:VectorTransforms",1155 "//mlir:X86VectorDialect",1156 ],1157)1158 1159cc_library(1160 name = "TestTosaDialect",1161 srcs = glob([1162 "lib/Dialect/Tosa/*.cpp",1163 ]),1164 deps = [1165 "//mlir:FuncDialect",1166 "//mlir:IR",1167 "//mlir:Pass",1168 "//mlir:TensorDialect",1169 "//mlir:TosaDialect",1170 "//mlir:TransformUtils",1171 "//mlir:Transforms",1172 ],1173)1174 1175gentbl_cc_library(1176 name = "TestPDLLPatternsIncGen",1177 includes = ["lib/Dialect/Test"],1178 strip_include_prefix = "lib",1179 tbl_outs = {"lib/Tools/PDLL/TestPDLLPatterns.h.inc": ["-x=cpp"]},1180 tblgen = "//mlir:mlir-pdll",1181 td_file = "lib/Tools/PDLL/TestPDLL.pdll",1182 deps = [1183 ":TestDialect",1184 ":TestOpTdFiles",1185 ],1186)1187 1188gentbl_cc_library(1189 name = "TestDialectConversionPDLLPatternsIncGen",1190 includes = ["lib/Dialect/Test"],1191 strip_include_prefix = "lib",1192 tbl_outs = {"lib/TestDialectConversionPDLLPatterns.h.inc": ["-x=cpp"]},1193 tblgen = "//mlir:mlir-pdll",1194 td_file = "lib/Transforms/TestDialectConversion.pdll",1195 deps = [1196 ":TestDialect",1197 ":TestOpTdFiles",1198 "//mlir:DialectConversionPdllFiles",1199 ],1200)1201 1202cc_library(1203 name = "TestPDLL",1204 srcs = ["lib/Tools/PDLL/TestPDLL.cpp"],1205 includes = ["lib/Tools/PDLL"],1206 deps = [1207 ":TestDialect",1208 ":TestPDLLPatternsIncGen",1209 "//mlir:CastInterfaces",1210 "//mlir:IR",1211 "//mlir:PDLDialect",1212 "//mlir:PDLInterpDialect",1213 "//mlir:Parser",1214 "//mlir:Pass",1215 "//mlir:Support",1216 "//mlir:TransformUtils",1217 "//mlir:Transforms",1218 ],1219)1220 1221cc_library(1222 name = "TestXeGPU",1223 srcs = glob(["lib/Dialect/XeGPU/*.cpp"]),1224 includes = ["lib/Dialect/Test"],1225 deps = [1226 "//mlir:GPUDialect",1227 "//mlir:IR",1228 "//mlir:IndexDialect",1229 "//mlir:MemRefDialect",1230 "//mlir:Pass",1231 "//mlir:TransformUtils",1232 "//mlir:VectorTransforms",1233 "//mlir:XeGPUDialect",1234 "//mlir:XeGPUTransforms",1235 "//mlir:XeGPUUtils",1236 ],1237)1238