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