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 5# Description: 6# Python bindings for MLIR. 7# 8# We define separate filegroups for files in different directories so 9# that downstream users can mirror the tree in their own py_library() rules. 10 11load("//mlir:tblgen.bzl", "gentbl_filegroup", "td_library") 12 13package( 14 default_visibility = ["//visibility:public"], 15 licenses = ["notice"], 16) 17 18##---------------------------------------------------------------------------## 19# Core IR modules. 20##---------------------------------------------------------------------------## 21 22filegroup( 23 name = "ConversionsPyFiles", 24 srcs = glob([ 25 "mlir/conversions/*.py", 26 ]), 27) 28 29filegroup( 30 name = "DialectCorePyFiles", 31 srcs = [ 32 "mlir/dialects/_ods_common.py", 33 ], 34) 35 36filegroup( 37 name = "ExecutionEnginePyFiles", 38 srcs = [ 39 "mlir/execution_engine.py", 40 ], 41) 42 43filegroup( 44 name = "ExecutionEnginePyIFiles", 45 srcs = [ 46 "mlir/_mlir_libs/_mlirExecutionEngine.pyi", 47 ], 48) 49 50filegroup( 51 name = "IRPyFiles", 52 srcs = [ 53 "mlir/ir.py", 54 ], 55) 56 57filegroup( 58 name = "IRPyIFiles", 59 srcs = [ 60 "mlir/_mlir_libs/_mlir/__init__.pyi", 61 "mlir/_mlir_libs/_mlir/ir.pyi", 62 ], 63) 64 65filegroup( 66 name = "PassManagerPyFiles", 67 srcs = [ 68 "mlir/passmanager.py", 69 ], 70) 71 72filegroup( 73 name = "PassManagerPyIFiles", 74 srcs = [ 75 "mlir/_mlir_libs/_mlir/passmanager.pyi", 76 ], 77) 78 79filegroup( 80 name = "RuntimePyFiles", 81 srcs = glob([ 82 "mlir/runtime/*.py", 83 ]), 84) 85 86filegroup( 87 name = "TransformsPyFiles", 88 srcs = glob([ 89 "mlir/transforms/*.py", 90 ]), 91) 92 93filegroup( 94 name = "AllPassesRegistrationPyFiles", 95 srcs = glob([ 96 "mlir/all_passes_registration/*.py", 97 ]), 98) 99 100##---------------------------------------------------------------------------## 101# Builtin dialect. 102##---------------------------------------------------------------------------## 103 104td_library( 105 name = "BuiltinOpsPyTdFiles", 106 srcs = [ 107 "mlir/dialects/BuiltinOps.td", 108 "//mlir:include/mlir/Bindings/Python/Attributes.td", 109 ], 110 deps = [ 111 "//mlir:BuiltinDialectTdFiles", 112 "//mlir:FunctionInterfacesTdFiles", 113 "//mlir:OpBaseTdFiles", 114 ], 115) 116 117gentbl_filegroup( 118 name = "BuiltinOpsPyGen", 119 tbl_outs = [ 120 ( 121 [ 122 "-gen-python-op-bindings", 123 "-bind-dialect=builtin", 124 ], 125 "mlir/dialects/_builtin_ops_gen.py", 126 ), 127 ], 128 tblgen = "//mlir:mlir-tblgen", 129 td_file = "mlir/dialects/BuiltinOps.td", 130 deps = [ 131 ":BuiltinOpsPyTdFiles", 132 ], 133) 134 135filegroup( 136 name = "BuiltinOpsPyFiles", 137 srcs = [ 138 "mlir/dialects/_builtin_ops_ext.py", 139 "mlir/dialects/builtin.py", 140 ":BuiltinOpsPyGen", 141 ], 142) 143 144##---------------------------------------------------------------------------## 145# Linalg dialect. 146##---------------------------------------------------------------------------## 147 148td_library( 149 name = "LinalgOpsPyTdFiles", 150 srcs = [ 151 "mlir/dialects/LinalgOps.td", 152 "//mlir:include/mlir/Bindings/Python/Attributes.td", 153 ], 154 deps = [ 155 "//mlir:LinalgOpsTdFiles", 156 "//mlir:LinalgStructuredOpsTdFiles", 157 "//mlir:OpBaseTdFiles", 158 ], 159) 160 161gentbl_filegroup( 162 name = "LinalgOpsPyGen", 163 tbl_outs = [ 164 ( 165 [ 166 "-gen-python-op-bindings", 167 "-bind-dialect=linalg", 168 ], 169 "mlir/dialects/_linalg_ops_gen.py", 170 ), 171 ], 172 tblgen = "//mlir:mlir-tblgen", 173 td_file = "mlir/dialects/LinalgOps.td", 174 deps = [ 175 ":LinalgOpsPyTdFiles", 176 ], 177) 178 179filegroup( 180 name = "LinalgOpsPyFiles", 181 srcs = [ 182 "mlir/dialects/_linalg_ops_ext.py", 183 ":LinalgOpsPyGen", 184 ], 185) 186 187filegroup( 188 name = "LinalgOpsPackagePyFiles", 189 srcs = glob(["mlir/dialects/linalg/*.py"]), 190) 191 192filegroup( 193 name = "LinalgOpsPackageOpDSLPyFiles", 194 srcs = glob(["mlir/dialects/linalg/opdsl/*.py"]), 195) 196 197filegroup( 198 name = "LinalgOpsPackageOpDSLLangPyFiles", 199 srcs = glob(["mlir/dialects/linalg/opdsl/lang/*.py"]), 200) 201 202filegroup( 203 name = "LinalgOpsPackageOpDSLOpsPyFiles", 204 srcs = glob(["mlir/dialects/linalg/opdsl/ops/*.py"]), 205) 206 207filegroup( 208 name = "LinalgOpsPackagePassesPyFiles", 209 srcs = glob(["mlir/dialects/linalg/passes/*.py"]), 210) 211 212##---------------------------------------------------------------------------## 213# Arithmetic dialect. 214##---------------------------------------------------------------------------## 215 216td_library( 217 name = "ArithmeticOpsPyTdFiles", 218 srcs = [ 219 "//mlir:include/mlir/Bindings/Python/Attributes.td", 220 ], 221 includes = ["../include"], 222 deps = [ 223 "//mlir:ArithmeticOpsTdFiles", 224 "//mlir:OpBaseTdFiles", 225 ], 226) 227 228gentbl_filegroup( 229 name = "ArithmeticOpsPyGen", 230 tbl_outs = [ 231 ( 232 [ 233 "-gen-python-op-bindings", 234 "-bind-dialect=arith", 235 ], 236 "mlir/dialects/_arith_ops_gen.py", 237 ), 238 ], 239 tblgen = "//mlir:mlir-tblgen", 240 td_file = "mlir/dialects/ArithmeticOps.td", 241 deps = [ 242 ":ArithmeticOpsPyTdFiles", 243 ], 244) 245 246filegroup( 247 name = "ArithmeticOpsPyFiles", 248 srcs = [ 249 "mlir/dialects/_arith_ops_ext.py", 250 "mlir/dialects/arith.py", 251 ":ArithmeticOpsPyGen", 252 ], 253) 254 255##---------------------------------------------------------------------------## 256# Bufferization dialect. 257##---------------------------------------------------------------------------## 258 259td_library( 260 name = "BufferizationOpsPyTdFiles", 261 srcs = [ 262 "//mlir:include/mlir/Bindings/Python/Attributes.td", 263 ], 264 includes = ["../include"], 265 deps = [ 266 "//mlir:BufferizableOpInterfaceTdFiles", 267 "//mlir:BufferizationOpsTdFiles", 268 "//mlir:OpBaseTdFiles", 269 ], 270) 271 272gentbl_filegroup( 273 name = "BufferizationOpsPyGen", 274 tbl_outs = [ 275 ( 276 [ 277 "-gen-python-op-bindings", 278 "-bind-dialect=bufferization", 279 ], 280 "mlir/dialects/_bufferization_ops_gen.py", 281 ), 282 ], 283 tblgen = "//mlir:mlir-tblgen", 284 td_file = "mlir/dialects/BufferizationOps.td", 285 deps = [ 286 ":BufferizationOpsPyTdFiles", 287 ], 288) 289 290filegroup( 291 name = "BufferizationOpsPyFiles", 292 srcs = [ 293 "mlir/dialects/_bufferization_ops_ext.py", 294 "mlir/dialects/bufferization.py", 295 ":BufferizationOpsPyGen", 296 ], 297) 298 299##---------------------------------------------------------------------------## 300# ControlFlow dialect. 301##---------------------------------------------------------------------------## 302 303td_library( 304 name = "ControlFlowOpsPyTdFiles", 305 srcs = [ 306 "//mlir:include/mlir/Bindings/Python/Attributes.td", 307 ], 308 deps = [ 309 "//mlir:ControlFlowOpsTdFiles", 310 "//mlir:OpBaseTdFiles", 311 ], 312) 313 314gentbl_filegroup( 315 name = "ControlFlowOpsPyGen", 316 tbl_outs = [ 317 ( 318 [ 319 "-gen-python-op-bindings", 320 "-bind-dialect=cf", 321 ], 322 "mlir/dialects/_cf_ops_gen.py", 323 ), 324 ], 325 tblgen = "//mlir:mlir-tblgen", 326 td_file = "mlir/dialects/ControlFlowOps.td", 327 deps = [ 328 ":ControlFlowOpsPyTdFiles", 329 ], 330) 331 332filegroup( 333 name = "ControlFlowOpsPyFiles", 334 srcs = [ 335 "mlir/dialects/cf.py", 336 ":ControlFlowOpsPyGen", 337 ], 338) 339 340##---------------------------------------------------------------------------## 341# Math dialect. 342##---------------------------------------------------------------------------## 343 344td_library( 345 name = "MathOpsPyTdFiles", 346 srcs = [ 347 "//mlir:include/mlir/Bindings/Python/Attributes.td", 348 ], 349 includes = ["../include"], 350 deps = [ 351 "//mlir:MathOpsTdFiles", 352 "//mlir:OpBaseTdFiles", 353 ], 354) 355 356gentbl_filegroup( 357 name = "MathOpsPyGen", 358 tbl_outs = [ 359 ( 360 [ 361 "-gen-python-op-bindings", 362 "-bind-dialect=math", 363 ], 364 "mlir/dialects/_math_ops_gen.py", 365 ), 366 ], 367 tblgen = "//mlir:mlir-tblgen", 368 td_file = "mlir/dialects/MathOps.td", 369 deps = [ 370 ":MathOpsPyTdFiles", 371 ], 372) 373 374filegroup( 375 name = "MathOpsPyFiles", 376 srcs = [ 377 "mlir/dialects/math.py", 378 ":MathOpsPyGen", 379 ], 380) 381 382##---------------------------------------------------------------------------## 383# MemRef dialect. 384##---------------------------------------------------------------------------## 385 386td_library( 387 name = "MemRefOpsPyTdFiles", 388 srcs = [ 389 "//mlir:include/mlir/Bindings/Python/Attributes.td", 390 ], 391 includes = ["../include"], 392 deps = [ 393 "//mlir:MemRefOpsTdFiles", 394 "//mlir:OpBaseTdFiles", 395 ], 396) 397 398gentbl_filegroup( 399 name = "MemRefOpsPyGen", 400 tbl_outs = [ 401 ( 402 [ 403 "-gen-python-op-bindings", 404 "-bind-dialect=memref", 405 ], 406 "mlir/dialects/_memref_ops_gen.py", 407 ), 408 ], 409 tblgen = "//mlir:mlir-tblgen", 410 td_file = "mlir/dialects/MemRefOps.td", 411 deps = [ 412 ":MemRefOpsPyTdFiles", 413 ], 414) 415 416filegroup( 417 name = "MemRefOpsPyFiles", 418 srcs = [ 419 "mlir/dialects/_memref_ops_ext.py", 420 "mlir/dialects/memref.py", 421 ":MemRefOpsPyGen", 422 ], 423) 424 425##---------------------------------------------------------------------------## 426# MLProgram dialect. 427##---------------------------------------------------------------------------## 428 429td_library( 430 name = "MLProgramOpsPyTdFiles", 431 srcs = [ 432 "//mlir:include/mlir/Bindings/Python/Attributes.td", 433 ], 434 includes = ["../include"], 435 deps = [ 436 "//mlir:MLProgramOpsTdFiles", 437 "//mlir:OpBaseTdFiles", 438 ], 439) 440 441gentbl_filegroup( 442 name = "MLProgramOpsPyGen", 443 tbl_outs = [ 444 ( 445 [ 446 "-gen-python-op-bindings", 447 "-bind-dialect=ml_program", 448 ], 449 "mlir/dialects/_ml_program_ops_gen.py", 450 ), 451 ], 452 tblgen = "//mlir:mlir-tblgen", 453 td_file = "mlir/dialects/MLProgramOps.td", 454 deps = [ 455 ":MLProgramOpsPyTdFiles", 456 ], 457) 458 459filegroup( 460 name = "MLProgramOpsPyFiles", 461 srcs = [ 462 "mlir/dialects/_ml_program_ops_ext.py", 463 "mlir/dialects/ml_program.py", 464 ":MLProgramOpsPyGen", 465 ], 466) 467 468##---------------------------------------------------------------------------## 469# PDL dialect. 470##---------------------------------------------------------------------------## 471 472td_library( 473 name = "PDLPyTdFiles", 474 srcs = [ 475 "//mlir:include/mlir/Bindings/Python/Attributes.td", 476 ], 477 includes = ["../include"], 478 deps = [ 479 "//mlir:OpBaseTdFiles", 480 "//mlir:PDLDialectTdFiles", 481 ], 482) 483 484gentbl_filegroup( 485 name = "PDLPyGen", 486 tbl_outs = [ 487 ( 488 [ 489 "-gen-python-op-bindings", 490 "-bind-dialect=pdl", 491 ], 492 "mlir/dialects/_pdl_ops_gen.py", 493 ), 494 ], 495 tblgen = "//mlir:mlir-tblgen", 496 td_file = "mlir/dialects/PDLOps.td", 497 deps = [ 498 ":PDLPyTdFiles", 499 ], 500) 501 502filegroup( 503 name = "PDLPyIFiles", 504 srcs = [ 505 "mlir/_mlir_libs/_mlir/dialects/pdl.pyi", 506 ], 507) 508 509filegroup( 510 name = "PDLPyFiles", 511 srcs = [ 512 "mlir/dialects/_pdl_ops_ext.py", 513 "mlir/dialects/pdl.py", 514 ":PDLPyGen", 515 ], 516) 517 518 519##---------------------------------------------------------------------------## 520# PythonTest dialect. 521##---------------------------------------------------------------------------## 522 523td_library( 524 name = "PythonTestPyTdFiles", 525 srcs = [ 526 "//mlir:include/mlir/Bindings/Python/Attributes.td", 527 ], 528 deps = [ 529 "//mlir:InferTypeOpInterfaceTdFiles", 530 "//mlir:OpBaseTdFiles", 531 ], 532) 533 534gentbl_filegroup( 535 name = "PythonTestPyGen", 536 tbl_outs = [ 537 ( 538 [ 539 "-gen-python-op-bindings", 540 "-bind-dialect=python_test", 541 ], 542 "mlir/dialects/_python_test_ops_gen.py", 543 ), 544 ], 545 tblgen = "//mlir:mlir-tblgen", 546 td_file = "//mlir/test/python:python_test_ops.td", 547 deps = [ 548 ":PythonTestPyTdFiles", 549 ], 550) 551 552filegroup( 553 name = "PythonTestPyFiles", 554 srcs = [ 555 "mlir/dialects/python_test.py", 556 ":PythonTestPyGen", 557 ], 558) 559 560##---------------------------------------------------------------------------## 561# Quant dialect. 562##---------------------------------------------------------------------------## 563 564filegroup( 565 name = "QuantPyIFiles", 566 srcs = [ 567 "mlir/_mlir_libs/_mlir/dialects/quant.pyi", 568 ], 569) 570 571filegroup( 572 name = "QuantPyFiles", 573 srcs = [ 574 "mlir/dialects/quant.py", 575 ], 576) 577 578##---------------------------------------------------------------------------## 579# SCF dialect. 580##---------------------------------------------------------------------------## 581 582td_library( 583 name = "SCFPyTdFiles", 584 srcs = [ 585 "//mlir:include/mlir/Bindings/Python/Attributes.td", 586 ], 587 includes = ["../include"], 588 deps = [ 589 "//mlir:OpBaseTdFiles", 590 "//mlir:SCFTdFiles", 591 ], 592) 593 594gentbl_filegroup( 595 name = "SCFPyGen", 596 tbl_outs = [ 597 ( 598 [ 599 "-gen-python-op-bindings", 600 "-bind-dialect=scf", 601 ], 602 "mlir/dialects/_scf_ops_gen.py", 603 ), 604 ], 605 tblgen = "//mlir:mlir-tblgen", 606 td_file = "mlir/dialects/SCFOps.td", 607 deps = [ 608 ":SCFPyTdFiles", 609 ], 610) 611 612filegroup( 613 name = "SCFPyFiles", 614 srcs = [ 615 "mlir/dialects/_scf_ops_ext.py", 616 "mlir/dialects/scf.py", 617 ":SCFPyGen", 618 ], 619) 620 621##---------------------------------------------------------------------------## 622# Shape dialect. 623##---------------------------------------------------------------------------## 624 625td_library( 626 name = "ShapeOpsPyTdFiles", 627 srcs = [ 628 "//mlir:include/mlir/Bindings/Python/Attributes.td", 629 ], 630 includes = ["../include"], 631 deps = [ 632 "//mlir:OpBaseTdFiles", 633 "//mlir:ShapeOpsTdFiles", 634 ], 635) 636 637gentbl_filegroup( 638 name = "ShapeOpsPyGen", 639 tbl_outs = [ 640 ( 641 [ 642 "-gen-python-op-bindings", 643 "-bind-dialect=shape", 644 ], 645 "mlir/dialects/_shape_ops_gen.py", 646 ), 647 ], 648 tblgen = "//mlir:mlir-tblgen", 649 td_file = "mlir/dialects/ShapeOps.td", 650 deps = [ 651 ":ShapeOpsPyTdFiles", 652 ], 653) 654 655filegroup( 656 name = "ShapeOpsPyFiles", 657 srcs = [ 658 "mlir/dialects/shape.py", 659 ":ShapeOpsPyGen", 660 ], 661) 662 663##---------------------------------------------------------------------------## 664# Func dialect. 665##---------------------------------------------------------------------------## 666 667td_library( 668 name = "FuncPyTdFiles", 669 srcs = [ 670 "//mlir:include/mlir/Bindings/Python/Attributes.td", 671 ], 672 deps = [ 673 "//mlir:FuncTdFiles", 674 "//mlir:OpBaseTdFiles", 675 ], 676) 677 678gentbl_filegroup( 679 name = "FuncPyGen", 680 tbl_outs = [ 681 ( 682 [ 683 "-gen-python-op-bindings", 684 "-bind-dialect=func", 685 ], 686 "mlir/dialects/_func_ops_gen.py", 687 ), 688 ], 689 tblgen = "//mlir:mlir-tblgen", 690 td_file = "mlir/dialects/FuncOps.td", 691 deps = [ 692 ":FuncPyTdFiles", 693 ], 694) 695 696filegroup( 697 name = "FuncPyFiles", 698 srcs = [ 699 "mlir/dialects/_func_ops_ext.py", 700 "mlir/dialects/func.py", 701 ":FuncPyGen", 702 ], 703) 704 705##---------------------------------------------------------------------------## 706# SparseTensor dialect. 707##---------------------------------------------------------------------------## 708 709td_library( 710 name = "SparseTensorOpsPyTdFiles", 711 srcs = [ 712 "//mlir:include/mlir/Bindings/Python/Attributes.td", 713 ], 714 deps = [ 715 "//mlir:OpBaseTdFiles", 716 "//mlir:SparseTensorTdFiles", 717 ], 718) 719 720gentbl_filegroup( 721 name = "SparseTensorOpsPyGen", 722 tbl_outs = [ 723 ( 724 [ 725 "-gen-python-op-bindings", 726 "-bind-dialect=sparse_tensor", 727 ], 728 "mlir/dialects/_sparse_tensor_ops_gen.py", 729 ), 730 ], 731 tblgen = "//mlir:mlir-tblgen", 732 td_file = "mlir/dialects/SparseTensorOps.td", 733 deps = [ 734 ":SparseTensorOpsPyTdFiles", 735 ], 736) 737 738filegroup( 739 name = "SparseTensorOpsPyFiles", 740 srcs = [ 741 "mlir/dialects/sparse_tensor.py", 742 ":SparseTensorOpsPyGen", 743 ], 744) 745 746##---------------------------------------------------------------------------## 747# Tensor dialect. 748##---------------------------------------------------------------------------## 749 750td_library( 751 name = "TensorOpsPyTdFiles", 752 srcs = [ 753 "//mlir:include/mlir/Bindings/Python/Attributes.td", 754 ], 755 deps = [ 756 "//mlir:OpBaseTdFiles", 757 "//mlir:TensorOpsTdFiles", 758 ], 759) 760 761gentbl_filegroup( 762 name = "TensorOpsPyGen", 763 tbl_outs = [ 764 ( 765 [ 766 "-gen-python-op-bindings", 767 "-bind-dialect=tensor", 768 ], 769 "mlir/dialects/_tensor_ops_gen.py", 770 ), 771 ], 772 tblgen = "//mlir:mlir-tblgen", 773 td_file = "mlir/dialects/TensorOps.td", 774 deps = [ 775 ":TensorOpsPyTdFiles", 776 ], 777) 778 779filegroup( 780 name = "TensorOpsPyFiles", 781 srcs = [ 782 "mlir/dialects/tensor.py", 783 ":TensorOpsPyGen", 784 ], 785) 786 787##---------------------------------------------------------------------------## 788# Tosa dialect. 789##---------------------------------------------------------------------------## 790 791td_library( 792 name = "TosaOpsPyTdFiles", 793 srcs = [ 794 "//mlir:include/mlir/Bindings/Python/Attributes.td", 795 ], 796 deps = [ 797 "//mlir:OpBaseTdFiles", 798 "//mlir:TosaDialectTdFiles", 799 ], 800) 801 802gentbl_filegroup( 803 name = "TosaOpsPyGen", 804 tbl_outs = [ 805 ( 806 [ 807 "-gen-python-op-bindings", 808 "-bind-dialect=tosa", 809 ], 810 "mlir/dialects/_tosa_ops_gen.py", 811 ), 812 ], 813 tblgen = "//mlir:mlir-tblgen", 814 td_file = "mlir/dialects/TosaOps.td", 815 deps = [ 816 ":TosaOpsPyTdFiles", 817 ], 818) 819 820filegroup( 821 name = "TosaOpsPyFiles", 822 srcs = [ 823 "mlir/dialects/tosa.py", 824 ":TosaOpsPyGen", 825 ], 826) 827 828##---------------------------------------------------------------------------## 829# Transform dialect and extensions. 830##---------------------------------------------------------------------------## 831 832td_library( 833 name = "TransformOpsPyTdFiles", 834 srcs = [ 835 "//mlir:include/mlir/Bindings/Python/Attributes.td", 836 ], 837 deps = [ 838 "//mlir:OpBaseTdFiles", 839 "//mlir:TransformDialectTdFiles", 840 ], 841) 842 843gentbl_filegroup( 844 name = "TransformOpsPyGen", 845 tbl_outs = [ 846 ( 847 [ 848 "-gen-python-op-bindings", 849 "-bind-dialect=transform", 850 ], 851 "mlir/dialects/_transform_ops_gen.py", 852 ), 853 ], 854 tblgen = "//mlir:mlir-tblgen", 855 td_file = "mlir/dialects/TransformOps.td", 856 deps = [ 857 ":TransformOpsPyTdFiles", 858 ], 859) 860 861gentbl_filegroup( 862 name = "StructuredTransformOpsPyGen", 863 tbl_outs = [ 864 ( 865 [ 866 "-gen-python-op-bindings", 867 "-bind-dialect=transform", 868 "-dialect-extension=structured_transform", 869 ], 870 "mlir/dialects/_structured_transform_ops_gen.py", 871 ), 872 ], 873 tblgen = "//mlir:mlir-tblgen", 874 td_file = "mlir/dialects/LinalgStructuredTransformOps.td", 875 deps = [ 876 ":TransformOpsPyTdFiles", 877 "//mlir:LinalgTransformOpsTdFiles", 878 ], 879) 880 881gentbl_filegroup( 882 name = "LoopTransformOpsPyGen", 883 tbl_outs = [ 884 ( 885 [ 886 "-gen-python-op-bindings", 887 "-bind-dialect=transform", 888 "-dialect-extension=loop_transform", 889 ], 890 "mlir/dialects/_loop_transform_ops_gen.py", 891 ), 892 ], 893 tblgen = "//mlir:mlir-tblgen", 894 td_file = "mlir/dialects/SCFLoopTransformOps.td", 895 deps = [ 896 ":TransformOpsPyTdFiles", 897 "//mlir:SCFTransformOpsTdFiles", 898 ], 899) 900 901filegroup( 902 name = "TransformOpsPyFiles", 903 srcs = [ 904 "mlir/dialects/_loop_transform_ops_ext.py", 905 "mlir/dialects/_structured_transform_ops_ext.py", 906 "mlir/dialects/_transform_ops_ext.py", 907 ":LoopTransformOpsPyGen", 908 ":StructuredTransformOpsPyGen", 909 ":TransformOpsPyGen", 910 ], 911) 912 913filegroup( 914 name = "TransformOpsPackagePyFiles", 915 srcs = glob(["mlir/dialects/transform/*.py"]), 916) 917 918##---------------------------------------------------------------------------## 919# Vector dialect. 920##---------------------------------------------------------------------------## 921 922td_library( 923 name = "VectorOpsPyTdFiles", 924 srcs = [ 925 "//mlir:include/mlir/Bindings/Python/Attributes.td", 926 ], 927 includes = ["../include"], 928 deps = [ 929 "//mlir:OpBaseTdFiles", 930 "//mlir:VectorOpsTdFiles", 931 ], 932) 933 934gentbl_filegroup( 935 name = "VectorOpsPyGen", 936 tbl_outs = [ 937 ( 938 [ 939 "-gen-python-op-bindings", 940 "-bind-dialect=vector", 941 ], 942 "mlir/dialects/_vector_ops_gen.py", 943 ), 944 ], 945 tblgen = "//mlir:mlir-tblgen", 946 td_file = "mlir/dialects/VectorOps.td", 947 deps = [ 948 ":VectorOpsPyTdFiles", 949 ], 950) 951 952filegroup( 953 name = "VectorOpsPyFiles", 954 srcs = [ 955 "mlir/dialects/vector.py", 956 ":VectorOpsPyGen", 957 ], 958) 959