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