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