xref: /llvm-project/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel (revision d444558f51a86c623e4b108e19f8f2400ec28782)
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#   The MLIR "Multi-Level Intermediate Representation" Compiler Infrastructure
7
8load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
9load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
10load(
11    ":build_defs.bzl",
12    "cc_headers_only",
13    "if_cuda_available",
14    "mlir_c_api_cc_library",
15)
16load(":linalggen.bzl", "genlinalg")
17load(":tblgen.bzl", "gentbl_cc_library", "td_library")
18
19package(
20    default_visibility = ["//visibility:public"],
21    features = ["layering_check"],
22)
23
24licenses(["notice"])
25
26exports_files([
27    "LICENSE.TXT",
28    "run_lit.sh",
29    "utils/lldb-scripts/mlirDataFormatters.py",
30    "utils/textmate/mlir.json",
31])
32
33bool_flag(
34    name = "enable_cuda",
35    build_setting_default = False,
36)
37
38config_setting(
39    name = "enable_cuda_config",
40    flag_values = {
41        ":enable_cuda": "True",
42    },
43)
44
45expand_template(
46    name = "mlir_config_h_gen",
47    out = "include/mlir/Config/mlir-config.h",
48    substitutions = {
49        "#cmakedefine01 MLIR_DEPRECATED_GPU_SERIALIZATION_ENABLE": "#define MLIR_DEPRECATED_GPU_SERIALIZATION_ENABLE 0",
50        "#cmakedefine01 MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS": "#define MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS 0",
51        "#cmakedefine MLIR_GREEDY_REWRITE_RANDOMIZER_SEED ${MLIR_GREEDY_REWRITE_RANDOMIZER_SEED}": "/* #undef MLIR_GREEDY_REWRITE_RANDOMIZER_SEED */",
52        "#cmakedefine01 MLIR_ENABLE_NVPTXCOMPILER": "#define MLIR_ENABLE_NVPTXCOMPILER 0",
53        "#cmakedefine01 MLIR_ENABLE_PDL_IN_PATTERNMATCH": "#define MLIR_ENABLE_PDL_IN_PATTERNMATCH 1",
54        "#cmakedefine01 MLIR_ENABLE_ROCM_CONVERSIONS": "#define MLIR_ENABLE_ROCM_CONVERSIONS 0",
55    },
56    template = "include/mlir/Config/mlir-config.h.cmake",
57)
58
59cc_library(
60    name = "config",
61    hdrs = [
62        "include/mlir/Config/mlir-config.h",
63    ],
64)
65
66filegroup(
67    name = "c_headers",
68    srcs = glob(["include/mlir-c/**/*"]),  # <== i.e. match the entire tree
69)
70
71exports_files(glob(["include/**/*.td"]))
72
73[
74    gentbl_cc_library(
75        name = name + "IncGen",
76        tbl_outs = [
77            (
78                ["-gen-op-interface-decls"],
79                "include/mlir/IR/" + name + ".h.inc",
80            ),
81            (
82                ["-gen-op-interface-defs"],
83                "include/mlir/IR/" + name + ".cpp.inc",
84            ),
85        ],
86        tblgen = ":mlir-tblgen",
87        td_file = "include/mlir/IR/" + name + ".td",
88        deps = [":OpBaseTdFiles"],
89    )
90    for name in [
91        "RegionKindInterface",
92        "SymbolInterfaces",
93    ]
94]
95
96gentbl_cc_library(
97    name = "OpAsmInterfaceIncGen",
98    tbl_outs = [
99        (
100            ["-gen-op-interface-decls"],
101            "include/mlir/IR/OpAsmOpInterface.h.inc",
102        ),
103        (
104            ["-gen-op-interface-defs"],
105            "include/mlir/IR/OpAsmOpInterface.cpp.inc",
106        ),
107        (
108            ["-gen-type-interface-decls"],
109            "include/mlir/IR/OpAsmTypeInterface.h.inc",
110        ),
111        (
112            ["-gen-type-interface-defs"],
113            "include/mlir/IR/OpAsmTypeInterface.cpp.inc",
114        ),
115    ],
116    tblgen = ":mlir-tblgen",
117    td_file = "include/mlir/IR/OpAsmInterface.td",
118    deps = [":OpBaseTdFiles"],
119)
120
121gentbl_cc_library(
122    name = "TensorEncodingIncGen",
123    tbl_outs = [
124        (
125            ["-gen-attr-interface-decls"],
126            "include/mlir/IR/TensorEncInterfaces.h.inc",
127        ),
128        (
129            ["-gen-attr-interface-defs"],
130            "include/mlir/IR/TensorEncInterfaces.cpp.inc",
131        ),
132    ],
133    tblgen = ":mlir-tblgen",
134    td_file = "include/mlir/IR/TensorEncoding.td",
135    deps = [":TensorOpsTdFiles"],
136)
137
138td_library(
139    name = "BuiltinDialectTdFiles",
140    srcs = [
141        "include/mlir/IR/BuiltinAttributeInterfaces.td",
142        "include/mlir/IR/BuiltinAttributes.td",
143        "include/mlir/IR/BuiltinDialect.td",
144        "include/mlir/IR/BuiltinLocationAttributes.td",
145        "include/mlir/IR/BuiltinOps.td",
146        "include/mlir/IR/BuiltinTypeInterfaces.td",
147        "include/mlir/IR/BuiltinTypes.td",
148    ],
149    includes = ["include"],
150    deps = [
151        ":BytecodeTdFiles",
152        ":CallInterfacesTdFiles",
153        ":CastInterfacesTdFiles",
154        ":DataLayoutInterfacesTdFiles",
155        ":OpBaseTdFiles",
156        ":SideEffectInterfacesTdFiles",
157    ],
158)
159
160td_library(
161    name = "BuiltinDialectBytecodeTdFiles",
162    srcs = ["include/mlir/IR/BuiltinDialectBytecode.td"],
163    includes = ["include"],
164    deps = [
165        ":BytecodeTdFiles",
166    ],
167)
168
169gentbl_cc_library(
170    name = "BuiltinDialectIncGen",
171    tbl_outs = [
172        (
173            ["-gen-dialect-decls"],
174            "include/mlir/IR/BuiltinDialect.h.inc",
175        ),
176        (
177            ["-gen-dialect-defs"],
178            "include/mlir/IR/BuiltinDialect.cpp.inc",
179        ),
180    ],
181    tblgen = ":mlir-tblgen",
182    td_file = "include/mlir/IR/BuiltinDialect.td",
183    deps = [":BuiltinDialectTdFiles"],
184)
185
186gentbl_cc_library(
187    name = "BuiltinDialectBytecodeGen",
188    tbl_outs = [
189        (
190            [
191                "-gen-bytecode",
192                "-bytecode-dialect=Builtin",
193            ],
194            "include/mlir/IR/BuiltinDialectBytecode.cpp.inc",
195        ),
196    ],
197    tblgen = ":mlir-tblgen",
198    td_file = "include/mlir/IR/BuiltinDialectBytecode.td",
199    deps = [":BuiltinDialectTdFiles"],
200)
201
202gentbl_cc_library(
203    name = "BuiltinAttributesIncGen",
204    tbl_outs = [
205        (
206            ["--gen-attrdef-decls"],
207            "include/mlir/IR/BuiltinAttributes.h.inc",
208        ),
209        (
210            ["--gen-attrdef-defs"],
211            "include/mlir/IR/BuiltinAttributes.cpp.inc",
212        ),
213    ],
214    tblgen = ":mlir-tblgen",
215    td_file = "include/mlir/IR/BuiltinAttributes.td",
216    deps = [":BuiltinDialectTdFiles"],
217)
218
219gentbl_cc_library(
220    name = "BuiltinAttributeInterfacesIncGen",
221    tbl_outs = [
222        (
223            ["--gen-attr-interface-decls"],
224            "include/mlir/IR/BuiltinAttributeInterfaces.h.inc",
225        ),
226        (
227            ["--gen-attr-interface-defs"],
228            "include/mlir/IR/BuiltinAttributeInterfaces.cpp.inc",
229        ),
230    ],
231    tblgen = ":mlir-tblgen",
232    td_file = "include/mlir/IR/BuiltinAttributeInterfaces.td",
233    deps = [":BuiltinDialectTdFiles"],
234)
235
236gentbl_cc_library(
237    name = "BuiltinLocationAttributesIncGen",
238    tbl_outs = [
239        (
240            ["--gen-attrdef-decls"],
241            "include/mlir/IR/BuiltinLocationAttributes.h.inc",
242        ),
243        (
244            ["--gen-attrdef-defs"],
245            "include/mlir/IR/BuiltinLocationAttributes.cpp.inc",
246        ),
247    ],
248    tblgen = ":mlir-tblgen",
249    td_file = "include/mlir/IR/BuiltinLocationAttributes.td",
250    deps = [":BuiltinDialectTdFiles"],
251)
252
253gentbl_cc_library(
254    name = "BuiltinOpsIncGen",
255    tbl_outs = [
256        (
257            ["-gen-op-decls"],
258            "include/mlir/IR/BuiltinOps.h.inc",
259        ),
260        (
261            ["-gen-op-defs"],
262            "include/mlir/IR/BuiltinOps.cpp.inc",
263        ),
264    ],
265    tblgen = ":mlir-tblgen",
266    td_file = "include/mlir/IR/BuiltinOps.td",
267    deps = [
268        ":BuiltinDialectTdFiles",
269        ":OpBaseTdFiles",
270    ],
271)
272
273gentbl_cc_library(
274    name = "BuiltinTypesIncGen",
275    tbl_outs = [
276        (
277            ["--gen-typedef-decls"],
278            "include/mlir/IR/BuiltinTypes.h.inc",
279        ),
280        (
281            ["--gen-typedef-defs"],
282            "include/mlir/IR/BuiltinTypes.cpp.inc",
283        ),
284        (
285            ["-gen-type-constraint-decls"],
286            "include/mlir/IR/BuiltinTypeConstraints.h.inc",
287        ),
288        (
289            ["-gen-type-constraint-defs"],
290            "include/mlir/IR/BuiltinTypeConstraints.cpp.inc",
291        ),
292    ],
293    tblgen = ":mlir-tblgen",
294    td_file = "include/mlir/IR/BuiltinTypes.td",
295    deps = [":BuiltinDialectTdFiles"],
296)
297
298gentbl_cc_library(
299    name = "BuiltinTypeInterfacesIncGen",
300    tbl_outs = [
301        (
302            ["--gen-type-interface-decls"],
303            "include/mlir/IR/BuiltinTypeInterfaces.h.inc",
304        ),
305        (
306            ["--gen-type-interface-defs"],
307            "include/mlir/IR/BuiltinTypeInterfaces.cpp.inc",
308        ),
309    ],
310    tblgen = ":mlir-tblgen",
311    td_file = "include/mlir/IR/BuiltinTypeInterfaces.td",
312    deps = [
313        ":BuiltinDialectTdFiles",
314    ],
315)
316
317td_library(
318    name = "FunctionInterfacesTdFiles",
319    srcs = ["include/mlir/Interfaces/FunctionInterfaces.td"],
320    includes = ["include"],
321    deps = [
322        ":CallInterfacesTdFiles",
323        ":OpBaseTdFiles",
324    ],
325)
326
327gentbl_cc_library(
328    name = "FunctionInterfacesIncGen",
329    tbl_outs = [
330        (
331            ["-gen-op-interface-decls"],
332            "include/mlir/Interfaces/FunctionInterfaces.h.inc",
333        ),
334        (
335            ["-gen-op-interface-defs"],
336            "include/mlir/Interfaces/FunctionInterfaces.cpp.inc",
337        ),
338    ],
339    tblgen = ":mlir-tblgen",
340    td_file = "include/mlir/Interfaces/FunctionInterfaces.td",
341    deps = [
342        ":FunctionInterfacesTdFiles",
343    ],
344)
345
346cc_library(
347    name = "FunctionInterfaces",
348    srcs = [
349        "lib/Interfaces/FunctionImplementation.cpp",
350        "lib/Interfaces/FunctionInterfaces.cpp",
351    ],
352    hdrs = [
353        "include/mlir/Interfaces/FunctionImplementation.h",
354        "include/mlir/Interfaces/FunctionInterfaces.h",
355    ],
356    includes = ["include"],
357    deps = [
358        ":CallOpInterfaces",
359        ":FunctionInterfacesIncGen",
360        ":IR",
361        "//llvm:Support",
362    ],
363)
364
365cc_library(
366    name = "IR",
367    srcs = glob([
368        "lib/IR/*.cpp",
369        "lib/IR/*.h",
370        "lib/IR/PDL/*.cpp",
371        "lib/Bytecode/Writer/*.h",
372        "include/mlir/Bytecode/*.h",
373    ]) + [
374        "include/mlir/IR/PDLPatternMatch.h.inc",
375        "include/mlir/Interfaces/CallInterfaces.h",
376        "include/mlir/Interfaces/DataLayoutInterfaces.h",
377        "include/mlir/Interfaces/InferIntRangeInterface.h",
378        "include/mlir/Interfaces/SideEffectInterfaces.h",
379    ],
380    hdrs = glob([
381        "include/mlir/IR/*.h",
382    ]) + [
383        "include/mlir/IR/OpAsmOpInterface.h.inc",
384        "include/mlir/Interfaces/FoldInterfaces.h",
385    ],
386    includes = ["include"],
387    deps = [
388        ":BuiltinAttributeInterfacesIncGen",
389        ":BuiltinAttributesIncGen",
390        ":BuiltinDialectBytecodeGen",
391        ":BuiltinDialectIncGen",
392        ":BuiltinLocationAttributesIncGen",
393        ":BuiltinOpsIncGen",
394        ":BuiltinTypeInterfacesIncGen",
395        ":BuiltinTypesIncGen",
396        ":BytecodeOpInterfaceIncGen",
397        ":CallOpInterfacesIncGen",
398        ":DataLayoutInterfacesIncGen",
399        ":InferIntRangeInterfaceIncGen",
400        ":OpAsmInterfaceIncGen",
401        ":RegionKindInterfaceIncGen",
402        ":SideEffectInterfacesIncGen",
403        ":Support",
404        ":SymbolInterfacesIncGen",
405        ":TensorEncodingIncGen",
406        ":config",
407        "//llvm:Support",
408        "//llvm:config",
409    ],
410)
411
412cc_library(
413    name = "Pass",
414    srcs = glob([
415        "lib/Pass/*.cpp",
416        "lib/Pass/*.h",
417    ]),
418    hdrs = glob([
419        "include/mlir/Pass/*.h",
420    ]),
421    includes = ["include"],
422    deps = [
423        ":IR",
424        ":Parser",
425        ":Support",
426        "//llvm:Support",
427    ],
428)
429
430mlir_c_api_cc_library(
431    name = "CAPIIR",
432    srcs = [
433        "lib/CAPI/Dialect/Func.cpp",
434        "lib/CAPI/Dialect/IRDL.cpp",
435        "lib/CAPI/IR/AffineExpr.cpp",
436        "lib/CAPI/IR/AffineMap.cpp",
437        "lib/CAPI/IR/BuiltinAttributes.cpp",
438        "lib/CAPI/IR/BuiltinTypes.cpp",
439        "lib/CAPI/IR/Diagnostics.cpp",
440        "lib/CAPI/IR/DialectHandle.cpp",
441        "lib/CAPI/IR/IR.cpp",
442        "lib/CAPI/IR/IntegerSet.cpp",
443        "lib/CAPI/IR/Pass.cpp",
444        "lib/CAPI/IR/Support.cpp",
445    ],
446    hdrs = [
447        "include/mlir-c/AffineExpr.h",
448        "include/mlir-c/AffineMap.h",
449        "include/mlir-c/BuiltinAttributes.h",
450        "include/mlir-c/BuiltinTypes.h",
451        "include/mlir-c/Diagnostics.h",
452        "include/mlir-c/Dialect/Func.h",
453        "include/mlir-c/Dialect/IRDL.h",
454        "include/mlir-c/ExecutionEngine.h",
455        "include/mlir-c/IR.h",
456        "include/mlir-c/IntegerSet.h",
457        "include/mlir-c/Interfaces.h",
458        "include/mlir-c/Pass.h",
459        "include/mlir-c/RegisterEverything.h",
460        "include/mlir-c/Rewrite.h",
461        "include/mlir-c/Support.h",
462        "include/mlir/CAPI/AffineExpr.h",
463        "include/mlir/CAPI/AffineMap.h",
464        "include/mlir/CAPI/Diagnostics.h",
465        "include/mlir/CAPI/IR.h",
466        "include/mlir/CAPI/IntegerSet.h",
467        "include/mlir/CAPI/Interfaces.h",
468        "include/mlir/CAPI/Pass.h",
469        "include/mlir/CAPI/Registration.h",
470        "include/mlir/CAPI/Rewrite.h",
471        "include/mlir/CAPI/Support.h",
472        "include/mlir/CAPI/Utils.h",
473        "include/mlir/CAPI/Wrap.h",
474    ],
475    header_deps = [
476        ":BytecodeWriter",
477        ":IR",
478        ":Pass",
479        ":Support",
480        ":config",
481        "//llvm:Support",
482    ],
483    includes = ["include"],
484    deps = [
485        ":AsmParser",
486        ":ConversionPassIncGen",
487        ":FuncDialect",
488        ":IRDLDialect",
489        ":InferTypeOpInterface",
490        ":Parser",
491    ],
492)
493
494mlir_c_api_cc_library(
495    name = "CAPIInterfaces",
496    srcs = [
497        "lib/CAPI/Interfaces/Interfaces.cpp",
498    ],
499    capi_deps = [
500        ":CAPIIR",
501    ],
502    includes = ["include"],
503    deps = [
504        ":IR",
505        ":InferTypeOpInterface",
506        "//llvm:Support",
507    ],
508)
509
510mlir_c_api_cc_library(
511    name = "CAPIAMDGPU",
512    srcs = ["lib/CAPI/Dialect/AMDGPU.cpp"],
513    hdrs = ["include/mlir-c/Dialect/AMDGPU.h"],
514    capi_deps = [
515        ":CAPIIR",
516    ],
517    includes = ["include"],
518    deps = [
519        ":AMDGPUDialect",
520    ],
521)
522
523mlir_c_api_cc_library(
524    name = "CAPIArith",
525    srcs = ["lib/CAPI/Dialect/Arith.cpp"],
526    hdrs = ["include/mlir-c/Dialect/Arith.h"],
527    capi_deps = [
528        ":CAPIIR",
529    ],
530    includes = ["include"],
531    deps = [
532        ":ArithDialect",
533    ],
534)
535
536mlir_c_api_cc_library(
537    name = "CAPIAsync",
538    srcs = [
539        "lib/CAPI/Dialect/Async.cpp",
540        "lib/CAPI/Dialect/AsyncPasses.cpp",
541    ],
542    hdrs = ["include/mlir-c/Dialect/Async.h"],
543    capi_deps = [
544        ":CAPIIR",
545    ],
546    header_deps = [
547        ":AsyncPassIncGen",
548    ],
549    includes = ["include"],
550    deps = [
551        ":AsyncDialect",
552        ":AsyncTransforms",
553        ":Pass",
554    ],
555)
556
557mlir_c_api_cc_library(
558    name = "CAPIEmitC",
559    srcs = [
560        "lib/CAPI/Dialect/EmitC.cpp",
561    ],
562    hdrs = ["include/mlir-c/Dialect/EmitC.h"],
563    capi_deps = [
564        ":CAPIIR",
565    ],
566    header_deps = [
567        ":EmitCPassIncGen",
568    ],
569    includes = ["include"],
570    deps = [
571        ":EmitCDialect",
572    ],
573)
574
575mlir_c_api_cc_library(
576    name = "CAPILinalg",
577    srcs = [
578        "lib/CAPI/Dialect/Linalg.cpp",
579        "lib/CAPI/Dialect/LinalgPasses.cpp",
580    ],
581    hdrs = [
582        "include/mlir-c/Dialect/Linalg.h",
583    ],
584    capi_deps = [
585        ":CAPIIR",
586    ],
587    header_deps = [
588        ":LinalgPassIncGen",
589    ],
590    includes = ["include"],
591    deps = [
592        ":LinalgDialect",
593        ":LinalgTransforms",
594        ":Pass",
595    ],
596)
597
598mlir_c_api_cc_library(
599    name = "CAPILLVM",
600    srcs = [
601        "lib/CAPI/Dialect/LLVM.cpp",
602    ],
603    hdrs = [
604        "include/mlir-c/Dialect/LLVM.h",
605    ],
606    capi_deps = [
607        ":CAPIIR",
608    ],
609    includes = ["include"],
610    deps = [
611        ":LLVMDialect",
612        "//llvm:Support",
613    ],
614)
615
616mlir_c_api_cc_library(
617    name = "CAPIMath",
618    srcs = ["lib/CAPI/Dialect/Math.cpp"],
619    hdrs = ["include/mlir-c/Dialect/Math.h"],
620    capi_deps = [
621        ":CAPIIR",
622    ],
623    includes = ["include"],
624    deps = [
625        ":MathDialect",
626    ],
627)
628
629mlir_c_api_cc_library(
630    name = "CAPIMemRef",
631    srcs = ["lib/CAPI/Dialect/MemRef.cpp"],
632    hdrs = ["include/mlir-c/Dialect/MemRef.h"],
633    capi_deps = [
634        ":CAPIIR",
635    ],
636    includes = ["include"],
637    deps = [
638        ":MemRefDialect",
639    ],
640)
641
642mlir_c_api_cc_library(
643    name = "CAPINVGPU",
644    srcs = ["lib/CAPI/Dialect/NVGPU.cpp"],
645    hdrs = ["include/mlir-c/Dialect/NVGPU.h"],
646    capi_deps = [
647        ":CAPIIR",
648    ],
649    includes = ["include"],
650    deps = [
651        ":IR",
652        ":NVGPUDialect",
653    ],
654)
655
656mlir_c_api_cc_library(
657    name = "CAPINVVM",
658    srcs = ["lib/CAPI/Dialect/NVVM.cpp"],
659    hdrs = ["include/mlir-c/Dialect/NVVM.h"],
660    capi_deps = [
661        ":CAPIIR",
662    ],
663    includes = ["include"],
664    deps = [
665        ":NVVMDialect",
666    ],
667)
668
669mlir_c_api_cc_library(
670    name = "CAPITarget",
671    srcs = ["lib/CAPI/Target/LLVMIR.cpp"],
672    hdrs = ["include/mlir-c/Target/LLVMIR.h"],
673    capi_deps = [
674        ":CAPIIR",
675    ],
676    header_deps = [
677        "//llvm:Support",
678    ],
679    includes = ["include"],
680    deps = [
681        ":LLVMToLLVMIRTranslation",
682        ":Support",
683        ":ToLLVMIRTranslation",
684        ":ToLLVMIRTranslationRegistration",
685        "//llvm:Core",
686    ],
687)
688
689mlir_c_api_cc_library(
690    name = "CAPIGPU",
691    srcs = [
692        "lib/CAPI/Dialect/GPU.cpp",
693        "lib/CAPI/Dialect/GPUPasses.cpp",
694    ],
695    hdrs = [
696        "include/mlir-c/Dialect/GPU.h",
697    ],
698    capi_deps = [
699        ":CAPIIR",
700    ],
701    header_deps = [
702        ":GPUPassIncGen",
703    ],
704    includes = ["include"],
705    deps = [
706        ":GPUDialect",
707        ":GPUTransforms",
708        ":Pass",
709        "//llvm:Support",
710    ],
711)
712
713mlir_c_api_cc_library(
714    name = "CAPIROCDL",
715    srcs = ["lib/CAPI/Dialect/ROCDL.cpp"],
716    hdrs = ["include/mlir-c/Dialect/ROCDL.h"],
717    capi_deps = [
718        ":CAPIIR",
719    ],
720    includes = ["include"],
721    deps = [
722        ":ROCDLDialect",
723    ],
724)
725
726mlir_c_api_cc_library(
727    name = "CAPISCF",
728    srcs = ["lib/CAPI/Dialect/SCF.cpp"],
729    hdrs = ["include/mlir-c/Dialect/SCF.h"],
730    capi_deps = [
731        ":CAPIIR",
732    ],
733    includes = ["include"],
734    deps = [
735        ":SCFDialect",
736    ],
737)
738
739mlir_c_api_cc_library(
740    name = "CAPISparseTensor",
741    srcs = [
742        "lib/CAPI/Dialect/SparseTensor.cpp",
743        "lib/CAPI/Dialect/SparseTensorPasses.cpp",
744    ],
745    hdrs = [
746        "include/mlir-c/Dialect/SparseTensor.h",
747    ],
748    capi_deps = [
749        ":CAPIIR",
750    ],
751    header_deps = [
752        ":SparseTensorPassIncGen",
753    ],
754    includes = ["include"],
755    deps = [
756        ":Pass",
757        ":SparseTensorDialect",
758        ":SparseTensorTransforms",
759        ":Support",
760    ],
761)
762
763mlir_c_api_cc_library(
764    name = "CAPIQuant",
765    srcs = [
766        "lib/CAPI/Dialect/Quant.cpp",
767    ],
768    hdrs = [
769        "include/mlir-c/Dialect/Quant.h",
770    ],
771    capi_deps = [
772        ":CAPIIR",
773    ],
774    includes = ["include"],
775    deps = [
776        ":QuantOps",
777    ],
778)
779
780mlir_c_api_cc_library(
781    name = "CAPIPDL",
782    srcs = [
783        "lib/CAPI/Dialect/PDL.cpp",
784    ],
785    hdrs = [
786        "include/mlir-c/Dialect/PDL.h",
787    ],
788    header_deps = [
789        ":CAPIIRHeaders",
790    ],
791    includes = ["include"],
792    deps = [
793        ":CAPIIR",
794        ":PDLDialect",
795        ":PDLOpsIncGen",
796        ":PDLTypesIncGen",
797    ],
798)
799
800mlir_c_api_cc_library(
801    name = "CAPITransformDialect",
802    srcs = [
803        "lib/CAPI/Dialect/Transform.cpp",
804    ],
805    hdrs = [
806        "include/mlir-c/Dialect/Transform.h",
807    ],
808    capi_deps = [
809        ":CAPIIR",
810    ],
811    includes = ["include"],
812    deps = [
813        ":TransformDialect",
814    ],
815)
816
817mlir_c_api_cc_library(
818    name = "CAPITransformDialectTransforms",
819    srcs = [
820        "lib/CAPI/Dialect/TransformInterpreter.cpp",
821    ],
822    hdrs = [
823        "include/mlir-c/Dialect/Transform/Interpreter.h",
824    ],
825    capi_deps = [
826        ":CAPIIR",
827        ":CAPITransformDialect",
828    ],
829    includes = ["include"],
830    deps = [
831        ":TransformDialect",
832        ":TransformDialectInterfaces",
833        ":TransformDialectTransforms",
834    ],
835)
836
837mlir_c_api_cc_library(
838    name = "CAPIMLProgram",
839    srcs = [
840        "lib/CAPI/Dialect/MLProgram.cpp",
841    ],
842    hdrs = [
843        "include/mlir-c/Dialect/MLProgram.h",
844    ],
845    header_deps = [
846        ":CAPIIRHeaders",
847    ],
848    includes = ["include"],
849    deps = [
850        ":CAPIIR",
851        ":MLProgramDialect",
852        ":MLProgramOpsIncGen",
853        ":MLProgramTypesIncGen",
854    ],
855)
856
857mlir_c_api_cc_library(
858    name = "CAPIVector",
859    srcs = ["lib/CAPI/Dialect/Vector.cpp"],
860    hdrs = ["include/mlir-c/Dialect/Vector.h"],
861    capi_deps = [
862        ":CAPIIR",
863    ],
864    includes = ["include"],
865    deps = [
866        ":VectorDialect",
867    ],
868)
869
870mlir_c_api_cc_library(
871    name = "CAPIConversion",
872    srcs = ["lib/CAPI/Conversion/Passes.cpp"],
873    hdrs = ["include/mlir-c/Conversion.h"],
874    capi_deps = [
875        ":CAPIIR",
876    ],
877    header_deps = [
878        ":ConversionPassIncGen",
879    ],
880    includes = ["include"],
881    deps = [
882        ":ConversionPasses",
883        ":Pass",
884    ],
885)
886
887mlir_c_api_cc_library(
888    name = "CAPIDebug",
889    srcs = ["lib/CAPI/Debug/Debug.cpp"],
890    hdrs = ["include/mlir-c/Debug.h"],
891    capi_deps = [
892        ":CAPIIR",
893    ],
894    includes = ["include"],
895    deps = [
896        ":Support",
897        "//llvm:Support",
898    ],
899)
900
901mlir_c_api_cc_library(
902    name = "CAPIExecutionEngine",
903    srcs = ["lib/CAPI/ExecutionEngine/ExecutionEngine.cpp"],
904    hdrs = [
905        "include/mlir-c/ExecutionEngine.h",
906        "include/mlir/CAPI/ExecutionEngine.h",
907    ],
908    capi_deps = [
909        ":CAPIIR",
910    ],
911    header_deps = [
912        ":ExecutionEngine",
913    ],
914    includes = ["include"],
915    deps = [
916        ":BuiltinToLLVMIRTranslation",
917        ":ExecutionEngineUtils",
918        ":LLVMToLLVMIRTranslation",
919        ":OpenMPToLLVMIRTranslation",
920        "//llvm:OrcJIT",
921        "//llvm:Support",
922    ],
923)
924
925mlir_c_api_cc_library(
926    name = "CAPITransforms",
927    srcs = [
928        "lib/CAPI/Transforms/Passes.cpp",
929        "lib/CAPI/Transforms/Rewrite.cpp",
930    ],
931    hdrs = ["include/mlir-c/Transforms.h"],
932    capi_deps = [
933        ":CAPIIR",
934    ],
935    header_deps = [
936        ":TransformsPassIncGen",
937    ],
938    includes = ["include"],
939    deps = [
940        ":IR",
941        ":Pass",
942        ":Rewrite",
943        ":TransformUtils",
944        ":Transforms",
945    ],
946)
947
948mlir_c_api_cc_library(
949    name = "CAPIRegisterEverything",
950    srcs = ["lib/CAPI/RegisterEverything/RegisterEverything.cpp"],
951    hdrs = ["include/mlir-c/RegisterEverything.h"],
952    capi_deps = [
953        ":CAPIIR",
954    ],
955    includes = ["include"],
956    deps = [
957        ":AllExtensions",
958        ":AllPassesAndDialects",
959        ":AllToLLVMIRTranslations",
960        ":BuiltinToLLVMIRTranslation",
961        ":IR",
962        ":LLVMToLLVMIRTranslation",
963    ],
964)
965
966##---------------------------------------------------------------------------##
967# Sources of Python bindings.
968#----------------------------------------------------------------------------##
969
970exports_files(
971    glob(["lib/Bindings/Python/**/*.cpp"]),
972)
973
974filegroup(
975    name = "MLIRBindingsPythonHeaderFiles",
976    srcs = glob([
977        "include/mlir-c/Bindings/Python/*.h",
978        "include/mlir/Bindings/Python/*.h",
979    ]),
980)
981
982cc_library(
983    name = "MLIRBindingsPythonHeaders",
984    includes = [
985        "include",
986    ],
987    textual_hdrs = [":MLIRBindingsPythonHeaderFiles"],
988    deps = [
989        ":CAPIIRHeaders",
990        "@pybind11",
991        "@rules_python//python/cc:current_py_cc_headers",
992    ],
993)
994
995cc_library(
996    name = "MLIRBindingsPythonHeadersAndDeps",
997    includes = [
998        "include",
999    ],
1000    textual_hdrs = [":MLIRBindingsPythonHeaderFiles"],
1001    deps = [
1002        ":CAPIIR",
1003        "@pybind11",
1004        "@rules_python//python/cc:current_py_cc_headers",
1005    ],
1006)
1007
1008cc_library(
1009    name = "MLIRBindingsPythonNanobindHeaders",
1010    includes = [
1011        "include",
1012    ],
1013    textual_hdrs = [":MLIRBindingsPythonHeaderFiles"],
1014    deps = [
1015        ":CAPIIRHeaders",
1016        "@nanobind",
1017        "@rules_python//python/cc:current_py_cc_headers",
1018    ],
1019)
1020
1021cc_library(
1022    name = "MLIRBindingsPythonNanobindHeadersAndDeps",
1023    includes = [
1024        "include",
1025    ],
1026    textual_hdrs = [":MLIRBindingsPythonHeaderFiles"],
1027    deps = [
1028        ":CAPIIR",
1029        "@nanobind",
1030        "@rules_python//python/cc:current_py_cc_headers",
1031    ],
1032)
1033
1034# These flags are needed for pybind11 to work.
1035PYBIND11_COPTS = [
1036    "-fexceptions",
1037    "-frtti",
1038]
1039
1040PYBIND11_FEATURES = [
1041    # Cannot use header_modules (parse_headers feature fails).
1042    "-use_header_modules",
1043]
1044
1045filegroup(
1046    name = "MLIRBindingsPythonSourceFiles",
1047    srcs = [
1048        "lib/Bindings/Python/IRAffine.cpp",
1049        "lib/Bindings/Python/IRAttributes.cpp",
1050        "lib/Bindings/Python/IRCore.cpp",
1051        "lib/Bindings/Python/IRInterfaces.cpp",
1052        "lib/Bindings/Python/IRModule.cpp",
1053        "lib/Bindings/Python/IRTypes.cpp",
1054        "lib/Bindings/Python/Pass.cpp",
1055        "lib/Bindings/Python/Rewrite.cpp",
1056    ],
1057)
1058
1059filegroup(
1060    name = "MLIRBindingsPythonCoreHeaders",
1061    srcs = glob([
1062        "lib/Bindings/Python/*.h",
1063    ]),
1064)
1065
1066cc_library(
1067    name = "MLIRBindingsPythonCore",
1068    srcs = [":MLIRBindingsPythonSourceFiles"],
1069    copts = PYBIND11_COPTS,
1070    features = PYBIND11_FEATURES,
1071    includes = [
1072        "lib/Bindings/Python",
1073    ],
1074    textual_hdrs = [":MLIRBindingsPythonCoreHeaders"],
1075    deps = [
1076        ":CAPIAsync",
1077        ":CAPIDebug",
1078        ":CAPIIR",
1079        ":CAPIInterfaces",
1080        ":CAPITransforms",
1081        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1082        ":Support",
1083        ":config",
1084        "//llvm:Support",
1085        "@nanobind",
1086        "@rules_python//python/cc:current_py_cc_headers",
1087    ],
1088)
1089
1090cc_library(
1091    name = "MLIRBindingsPythonCoreNoCAPI",
1092    srcs = [":MLIRBindingsPythonSourceFiles"],
1093    copts = PYBIND11_COPTS,
1094    features = PYBIND11_FEATURES,
1095    includes = [
1096        "lib/Bindings/Python",
1097    ],
1098    textual_hdrs = [":MLIRBindingsPythonCoreHeaders"],
1099    deps = [
1100        ":CAPIAsyncHeaders",
1101        ":CAPIDebugHeaders",
1102        ":CAPIIRHeaders",
1103        ":CAPITransformsHeaders",
1104        ":MLIRBindingsPythonNanobindHeaders",
1105        ":Support",
1106        ":config",
1107        "//llvm:Support",
1108        "@nanobind",
1109        "@rules_python//python/cc:current_py_cc_headers",
1110    ],
1111)
1112
1113# Target that bundles together the CAPI objects needed for
1114# MLIRBindingsPythonCoreNoCAPI.
1115cc_library(
1116    name = "MLIRBindingsPythonCAPIObjects",
1117    deps = [
1118        ":CAPIAsyncObjects",
1119        ":CAPIDebugObjects",
1120        ":CAPIIRObjects",
1121        ":CAPIInterfacesObjects",
1122        ":CAPITransformsObjects",
1123    ],
1124)
1125
1126# Dynamic library with the MLIR Python extension.
1127cc_binary(
1128    name = "_mlir.so",
1129    srcs = ["lib/Bindings/Python/MainModule.cpp"],
1130    # These flags are needed for pybind11 to work.
1131    copts = PYBIND11_COPTS,
1132    features = PYBIND11_FEATURES,
1133    includes = [
1134        "lib/Bindings/Python",
1135    ],
1136    linkshared = 1,
1137    linkstatic = 0,
1138    deps = [
1139        ":MLIRBindingsPythonCore",
1140        ":MLIRBindingsPythonHeadersAndDeps",
1141        "@nanobind",
1142    ],
1143)
1144
1145cc_binary(
1146    name = "_mlirDialectsLinalg.so",
1147    srcs = ["lib/Bindings/Python/DialectLinalg.cpp"],
1148    copts = PYBIND11_COPTS,
1149    features = PYBIND11_FEATURES,
1150    includes = [
1151        "lib/Bindings/Python",
1152    ],
1153    linkshared = 1,
1154    linkstatic = 0,
1155    deps = [
1156        ":CAPIIR",
1157        ":CAPILinalg",
1158        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1159        "@nanobind",
1160    ],
1161)
1162
1163cc_binary(
1164    name = "_mlirDialectsLLVM.so",
1165    srcs = ["lib/Bindings/Python/DialectLLVM.cpp"],
1166    copts = PYBIND11_COPTS,
1167    features = PYBIND11_FEATURES,
1168    linkshared = 1,
1169    linkstatic = 0,
1170    deps = [
1171        ":CAPIIR",
1172        ":CAPILLVM",
1173        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1174        "@nanobind",
1175    ],
1176)
1177
1178cc_binary(
1179    name = "_mlirDialectsQuant.so",
1180    srcs = ["lib/Bindings/Python/DialectQuant.cpp"],
1181    copts = PYBIND11_COPTS,
1182    features = PYBIND11_FEATURES,
1183    linkshared = 1,
1184    linkstatic = 0,
1185    deps = [
1186        ":CAPIIR",
1187        ":CAPIQuant",
1188        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1189        "@nanobind",
1190    ],
1191)
1192
1193cc_binary(
1194    name = "_mlirDialectsSparseTensor.so",
1195    srcs = ["lib/Bindings/Python/DialectSparseTensor.cpp"],
1196    copts = PYBIND11_COPTS,
1197    features = PYBIND11_FEATURES,
1198    linkshared = 1,
1199    linkstatic = 0,
1200    deps = [
1201        ":CAPIIR",
1202        ":CAPISparseTensor",
1203        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1204        "@nanobind",
1205    ],
1206)
1207
1208# Dynamic library with the MLIR Conversions Python extension.
1209cc_binary(
1210    name = "_mlirExecutionEngine.so",
1211    srcs = ["lib/Bindings/Python/ExecutionEngineModule.cpp"],
1212    copts = PYBIND11_COPTS,
1213    features = PYBIND11_FEATURES,
1214    linkshared = 1,
1215    linkstatic = 0,
1216    deps = [
1217        ":CAPIExecutionEngine",
1218        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1219        "@nanobind",
1220        "@rules_python//python/cc:current_py_cc_headers",
1221    ],
1222)
1223
1224# Dynamic library with the MLIR Linalg dialect+passes Python extension.
1225cc_binary(
1226    name = "_mlirLinalgPasses.so",
1227    srcs = ["lib/Bindings/Python/LinalgPasses.cpp"],
1228    copts = PYBIND11_COPTS,
1229    features = PYBIND11_FEATURES,
1230    linkshared = 1,
1231    linkstatic = 0,
1232    deps = [
1233        ":CAPILinalg",
1234        ":MLIRBindingsPythonNanobindHeadersAndDeps",
1235        "@nanobind",
1236        "@rules_python//python/cc:current_py_cc_headers",
1237    ],
1238)
1239
1240##---------------------------------------------------------------------------##
1241
1242td_library(
1243    name = "AttrTdFiles",
1244    srcs = [
1245        "include/mlir/IR/AttrTypeBase.td",
1246        "include/mlir/IR/EnumAttr.td",
1247    ],
1248    includes = ["include"],
1249)
1250
1251td_library(
1252    name = "OpBaseTdFiles",
1253    srcs = [
1254        "include/mlir/IR/CommonAttrConstraints.td",
1255        "include/mlir/IR/CommonTypeConstraints.td",
1256        "include/mlir/IR/Constraints.td",
1257        "include/mlir/IR/DialectBase.td",
1258        "include/mlir/IR/Interfaces.td",
1259        "include/mlir/IR/OpAsmInterface.td",
1260        "include/mlir/IR/OpBase.td",
1261        "include/mlir/IR/PatternBase.td",
1262        "include/mlir/IR/Properties.td",
1263        "include/mlir/IR/RegionKindInterface.td",
1264        "include/mlir/IR/SymbolInterfaces.td",
1265        "include/mlir/IR/TensorEncoding.td",
1266        "include/mlir/IR/Traits.td",
1267        "include/mlir/IR/Utils.td",
1268    ],
1269    includes = ["include"],
1270    deps = [
1271        ":AttrTdFiles",
1272    ],
1273)
1274
1275td_library(
1276    name = "BytecodeTdFiles",
1277    srcs = ["include/mlir/IR/BytecodeBase.td"],
1278    includes = ["include"],
1279)
1280
1281td_library(
1282    name = "CallInterfacesTdFiles",
1283    srcs = ["include/mlir/Interfaces/CallInterfaces.td"],
1284    includes = ["include"],
1285    deps = [":OpBaseTdFiles"],
1286)
1287
1288td_library(
1289    name = "CastInterfacesTdFiles",
1290    srcs = ["include/mlir/Interfaces/CastInterfaces.td"],
1291    includes = ["include"],
1292    deps = [":OpBaseTdFiles"],
1293)
1294
1295td_library(
1296    name = "ControlFlowInterfacesTdFiles",
1297    srcs = ["include/mlir/Interfaces/ControlFlowInterfaces.td"],
1298    includes = ["include"],
1299    deps = [":OpBaseTdFiles"],
1300)
1301
1302td_library(
1303    name = "BytecodeOpInterfaceTdFiles",
1304    srcs = ["include/mlir/Bytecode/BytecodeOpInterface.td"],
1305    includes = ["include"],
1306    deps = [":OpBaseTdFiles"],
1307)
1308
1309td_library(
1310    name = "CopyOpInterfaceTdFiles",
1311    srcs = ["include/mlir/Interfaces/CopyOpInterface.td"],
1312    includes = ["include"],
1313    deps = [":OpBaseTdFiles"],
1314)
1315
1316td_library(
1317    name = "DerivedAttributeOpInterfaceTdFiles",
1318    srcs = ["include/mlir/Interfaces/DerivedAttributeOpInterface.td"],
1319    includes = ["include"],
1320    deps = [":OpBaseTdFiles"],
1321)
1322
1323td_library(
1324    name = "DestinationStyleOpInterfaceTdFiles",
1325    srcs = ["include/mlir/Interfaces/DestinationStyleOpInterface.td"],
1326    includes = ["include"],
1327    deps = [":OpBaseTdFiles"],
1328)
1329
1330td_library(
1331    name = "InferIntRangeInterfaceTdFiles",
1332    srcs = ["include/mlir/Interfaces/InferIntRangeInterface.td"],
1333    includes = ["include"],
1334    deps = [":OpBaseTdFiles"],
1335)
1336
1337td_library(
1338    name = "InferTypeOpInterfaceTdFiles",
1339    srcs = ["include/mlir/Interfaces/InferTypeOpInterface.td"],
1340    includes = ["include"],
1341    deps = [":OpBaseTdFiles"],
1342)
1343
1344td_library(
1345    name = "LoopLikeInterfaceTdFiles",
1346    srcs = ["include/mlir/Interfaces/LoopLikeInterface.td"],
1347    includes = ["include"],
1348    deps = [":OpBaseTdFiles"],
1349)
1350
1351td_library(
1352    name = "MemorySlotInterfacesTdFiles",
1353    srcs = ["include/mlir/Interfaces/MemorySlotInterfaces.td"],
1354    includes = ["include"],
1355    deps = [":OpBaseTdFiles"],
1356)
1357
1358td_library(
1359    name = "ShapedOpInterfacesTdFiles",
1360    srcs = ["include/mlir/Interfaces/ShapedOpInterfaces.td"],
1361    includes = ["include"],
1362    deps = [":OpBaseTdFiles"],
1363)
1364
1365td_library(
1366    name = "ParallelCombiningOpInterfaceTdFiles",
1367    srcs = ["include/mlir/Interfaces/ParallelCombiningOpInterface.td"],
1368    includes = ["include"],
1369    deps = [":OpBaseTdFiles"],
1370)
1371
1372td_library(
1373    name = "RuntimeVerifiableOpInterfaceTdFiles",
1374    srcs = ["include/mlir/Interfaces/RuntimeVerifiableOpInterface.td"],
1375    includes = ["include"],
1376    deps = [":OpBaseTdFiles"],
1377)
1378
1379td_library(
1380    name = "SideEffectInterfacesTdFiles",
1381    srcs = [
1382        "include/mlir/Interfaces/SideEffectInterfaceBase.td",
1383        "include/mlir/Interfaces/SideEffectInterfaces.td",
1384    ],
1385    includes = ["include"],
1386    deps = [":OpBaseTdFiles"],
1387)
1388
1389td_library(
1390    name = "TilingInterfaceTdFiles",
1391    srcs = ["include/mlir/Interfaces/TilingInterface.td"],
1392    includes = ["include"],
1393    deps = [":OpBaseTdFiles"],
1394)
1395
1396td_library(
1397    name = "VectorInterfacesTdFiles",
1398    srcs = ["include/mlir/Interfaces/VectorInterfaces.td"],
1399    includes = ["include"],
1400    deps = [":OpBaseTdFiles"],
1401)
1402
1403td_library(
1404    name = "ViewLikeInterfaceTdFiles",
1405    srcs = ["include/mlir/Interfaces/ViewLikeInterface.td"],
1406    includes = ["include"],
1407    deps = [":OpBaseTdFiles"],
1408)
1409
1410td_library(
1411    name = "ReducerTdFiles",
1412    srcs = ["include/mlir/Reducer/Passes.td"],
1413    includes = ["include"],
1414    deps = [":OpBaseTdFiles"],
1415)
1416
1417##---------------------------------------------------------------------------##
1418# Affine dialect.
1419##---------------------------------------------------------------------------##
1420
1421td_library(
1422    name = "PassBaseTdFiles",
1423    srcs = ["include/mlir/Pass/PassBase.td"],
1424    includes = ["include"],
1425)
1426
1427td_library(
1428    name = "RewritePassBaseTdFiles",
1429    srcs = ["include/mlir/Rewrite/PassUtil.td"],
1430    includes = ["include"],
1431)
1432
1433td_library(
1434    name = "AffineOpsTdFiles",
1435    srcs = [
1436        "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
1437        "include/mlir/Dialect/Affine/IR/AffineOps.td",
1438    ],
1439    includes = ["include"],
1440    deps = [
1441        ":ArithOpsTdFiles",
1442        ":FuncTdFiles",
1443        ":LoopLikeInterfaceTdFiles",
1444        ":OpBaseTdFiles",
1445        ":SideEffectInterfacesTdFiles",
1446    ],
1447)
1448
1449gentbl_cc_library(
1450    name = "AffineOpsIncGen",
1451    tbl_outs = [
1452        (
1453            ["-gen-op-decls"],
1454            "include/mlir/Dialect/Affine/IR/AffineOps.h.inc",
1455        ),
1456        (
1457            ["-gen-op-defs"],
1458            "include/mlir/Dialect/Affine/IR/AffineOps.cpp.inc",
1459        ),
1460        (
1461            [
1462                "-gen-dialect-decls",
1463                "-dialect=affine",
1464            ],
1465            "include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc",
1466        ),
1467        (
1468            [
1469                "-gen-dialect-defs",
1470                "-dialect=affine",
1471            ],
1472            "include/mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc",
1473        ),
1474    ],
1475    tblgen = ":mlir-tblgen",
1476    td_file = "include/mlir/Dialect/Affine/IR/AffineOps.td",
1477    deps = [":AffineOpsTdFiles"],
1478)
1479
1480gentbl_cc_library(
1481    name = "AffineMemoryOpInterfacesIncGen",
1482    tbl_outs = [
1483        (
1484            ["-gen-op-interface-decls"],
1485            "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h.inc",
1486        ),
1487        (
1488            ["-gen-op-interface-defs"],
1489            "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp.inc",
1490        ),
1491    ],
1492    tblgen = ":mlir-tblgen",
1493    td_file = "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
1494    deps = [":AffineOpsTdFiles"],
1495)
1496
1497td_library(
1498    name = "AffineTransformOpsTdFiles",
1499    srcs = [
1500        "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td",
1501    ],
1502    includes = ["include"],
1503    deps = [
1504        ":TransformDialectTdFiles",
1505    ],
1506)
1507
1508gentbl_cc_library(
1509    name = "AffineTransformOpsIncGen",
1510    tbl_outs = [
1511        (
1512            ["-gen-op-decls"],
1513            "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.h.inc",
1514        ),
1515        (
1516            ["-gen-op-defs"],
1517            "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.cpp.inc",
1518        ),
1519    ],
1520    tblgen = ":mlir-tblgen",
1521    td_file = "include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td",
1522    deps = [
1523        ":AffineTransformOpsTdFiles",
1524    ],
1525)
1526
1527cc_library(
1528    name = "AffineTransformOps",
1529    srcs = glob(["lib/Dialect/Affine/TransformOps/*.cpp"]),
1530    hdrs = glob(["include/mlir/Dialect/Affine/TransformOps/*.h"]),
1531    includes = ["include"],
1532    deps = [
1533        ":AffineAnalysis",
1534        ":AffineDialect",
1535        ":AffineTransformOpsIncGen",
1536        ":AffineUtils",
1537        ":BytecodeOpInterface",
1538        ":IR",
1539        ":TransformDialect",
1540        ":TransformDialectInterfaces",
1541        ":TransformUtils",
1542    ],
1543)
1544
1545##---------------------------------------------------------------------------##
1546# AMDGPU dialect.
1547##---------------------------------------------------------------------------##
1548
1549td_library(
1550    name = "AMDGPUTdFiles",
1551    srcs = ["include/mlir/Dialect/AMDGPU/IR/AMDGPU.td"],
1552    includes = ["include"],
1553    deps = [
1554        ":SideEffectInterfacesTdFiles",
1555    ],
1556)
1557
1558gentbl_cc_library(
1559    name = "AMDGPUIncGen",
1560    tbl_outs = [
1561        (
1562            [
1563                "-gen-attrdef-decls",
1564                "-dialect=amdgpu",
1565            ],
1566            "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.h.inc",
1567        ),
1568        (
1569            [
1570                "-gen-attrdef-defs",
1571                "-dialect=amdgpu",
1572            ],
1573            "include/mlir/Dialect/AMDGPU/IR/AMDGPUAttributes.cpp.inc",
1574        ),
1575        (
1576            [
1577                "-gen-dialect-decls",
1578                "-dialect=amdgpu",
1579            ],
1580            "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h.inc",
1581        ),
1582        (
1583            [
1584                "-gen-dialect-defs",
1585                "-dialect=amdgpu",
1586            ],
1587            "include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.cpp.inc",
1588        ),
1589        (
1590            ["-gen-enum-decls"],
1591            "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h.inc",
1592        ),
1593        (
1594            ["-gen-enum-defs"],
1595            "include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.cpp.inc",
1596        ),
1597        (
1598            ["-gen-op-decls"],
1599            "include/mlir/Dialect/AMDGPU/IR/AMDGPU.h.inc",
1600        ),
1601        (
1602            ["-gen-op-defs"],
1603            "include/mlir/Dialect/AMDGPU/IR/AMDGPU.cpp.inc",
1604        ),
1605        (
1606            ["-gen-op-doc"],
1607            "g3doc/Dialects/AMDGPU/IR/AMDGPU.md",
1608        ),
1609    ],
1610    tblgen = ":mlir-tblgen",
1611    td_file = "include/mlir/Dialect/AMDGPU/IR/AMDGPU.td",
1612    deps = [":AMDGPUTdFiles"],
1613)
1614
1615cc_library(
1616    name = "AMDGPUDialect",
1617    srcs = ["lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp"],
1618    hdrs = ["include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h"],
1619    includes = ["include"],
1620    deps = [
1621        ":AMDGPUIncGen",
1622        ":ArithDialect",
1623        ":BytecodeOpInterface",
1624        ":GPUDialect",
1625        ":IR",
1626        ":ROCDLDialect",
1627        ":SideEffectInterfaces",
1628        "//llvm:Support",
1629    ],
1630)
1631
1632gentbl_cc_library(
1633    name = "AMDGPUPassIncGen",
1634    tbl_outs = [
1635        (
1636            [
1637                "-gen-pass-decls",
1638                "-name=AMDGPU",
1639            ],
1640            "include/mlir/Dialect/AMDGPU/Transforms/Passes.h.inc",
1641        ),
1642    ],
1643    tblgen = ":mlir-tblgen",
1644    td_file = "include/mlir/Dialect/AMDGPU/Transforms/Passes.td",
1645    deps = [":PassBaseTdFiles"],
1646)
1647
1648cc_library(
1649    name = "AMDGPUTransforms",
1650    srcs = glob(
1651        [
1652            "lib/Dialect/AMDGPU/Transforms/*.cpp",
1653        ],
1654    ),
1655    hdrs = glob(["include/mlir/Dialect/AMDGPU/Transforms/*.h"]),
1656    includes = ["include"],
1657    deps = [
1658        ":AMDGPUDialect",
1659        ":AMDGPUPassIncGen",
1660        ":AMDGPUUtils",
1661        ":ArithDialect",
1662        ":ControlFlowDialect",
1663        ":FuncDialect",
1664        ":GPUDialect",
1665        ":IR",
1666        ":MemRefDialect",
1667        ":Pass",
1668        ":SideEffectInterfaces",
1669        ":Support",
1670        ":TransformUtils",
1671        ":VectorDialect",
1672    ],
1673)
1674
1675cc_library(
1676    name = "AMDGPUUtils",
1677    srcs = glob(["lib/Dialect/AMDGPU/Utils/*.cpp"]),
1678    hdrs = glob(["include/mlir/Dialect/AMDGPU/Utils/*.h"]),
1679    includes = ["include"],
1680    deps = [
1681        ":Support",
1682        "//llvm:Support",
1683    ],
1684)
1685
1686##---------------------------------------------------------------------------##
1687# EmitC dialect.
1688##---------------------------------------------------------------------------##
1689
1690td_library(
1691    name = "EmitCTdFiles",
1692    srcs = [
1693        "include/mlir/Dialect/EmitC/IR/EmitC.td",
1694        "include/mlir/Dialect/EmitC/IR/EmitCAttributes.td",
1695        "include/mlir/Dialect/EmitC/IR/EmitCBase.td",
1696        "include/mlir/Dialect/EmitC/IR/EmitCTypes.td",
1697    ],
1698    includes = ["include"],
1699    deps = [
1700        ":BuiltinDialectTdFiles",
1701        ":CallInterfacesTdFiles",
1702        ":CastInterfacesTdFiles",
1703        ":ControlFlowInterfacesTdFiles",
1704        ":FunctionInterfacesTdFiles",
1705        ":OpBaseTdFiles",
1706        ":SideEffectInterfacesTdFiles",
1707    ],
1708)
1709
1710gentbl_cc_library(
1711    name = "EmitCAttributesIncGen",
1712    tbl_outs = [
1713        (
1714            ["--gen-attrdef-decls"],
1715            "include/mlir/Dialect/EmitC/IR/EmitCAttributes.h.inc",
1716        ),
1717        (
1718            ["--gen-attrdef-defs"],
1719            "include/mlir/Dialect/EmitC/IR/EmitCAttributes.cpp.inc",
1720        ),
1721    ],
1722    tblgen = ":mlir-tblgen",
1723    td_file = "include/mlir/Dialect/EmitC/IR/EmitCAttributes.td",
1724    deps = [":EmitCTdFiles"],
1725)
1726
1727gentbl_cc_library(
1728    name = "EmitCOpsIncGen",
1729    tbl_outs = [
1730        (
1731            ["-gen-dialect-decls"],
1732            "include/mlir/Dialect/EmitC/IR/EmitCDialect.h.inc",
1733        ),
1734        (
1735            ["-gen-dialect-defs"],
1736            "include/mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc",
1737        ),
1738        (
1739            ["-gen-enum-decls"],
1740            "include/mlir/Dialect/EmitC/IR/EmitCEnums.h.inc",
1741        ),
1742        (
1743            ["-gen-enum-defs"],
1744            "include/mlir/Dialect/EmitC/IR/EmitCEnums.cpp.inc",
1745        ),
1746        (
1747            ["-gen-op-decls"],
1748            "include/mlir/Dialect/EmitC/IR/EmitC.h.inc",
1749        ),
1750        (
1751            ["-gen-op-defs"],
1752            "include/mlir/Dialect/EmitC/IR/EmitC.cpp.inc",
1753        ),
1754        (
1755            ["-gen-typedef-decls"],
1756            "include/mlir/Dialect/EmitC/IR/EmitCTypes.h.inc",
1757        ),
1758        (
1759            ["-gen-typedef-defs"],
1760            "include/mlir/Dialect/EmitC/IR/EmitCTypes.cpp.inc",
1761        ),
1762    ],
1763    tblgen = ":mlir-tblgen",
1764    td_file = "include/mlir/Dialect/EmitC/IR/EmitC.td",
1765    deps = [":EmitCTdFiles"],
1766)
1767
1768gentbl_cc_library(
1769    name = "EmitCPassIncGen",
1770    tbl_outs = [
1771        (
1772            [
1773                "-gen-pass-decls",
1774                "-name=EmitC",
1775            ],
1776            "include/mlir/Dialect/EmitC/Transforms/Passes.h.inc",
1777        ),
1778    ],
1779    tblgen = ":mlir-tblgen",
1780    td_file = "include/mlir/Dialect/EmitC/Transforms/Passes.td",
1781    deps = [":PassBaseTdFiles"],
1782)
1783
1784cc_library(
1785    name = "TargetCpp",
1786    srcs = glob([
1787        "lib/Target/Cpp/*.cpp",
1788    ]),
1789    hdrs = glob(["include/mlir/Target/Cpp/*.h"]),
1790    deps = [
1791        ":ControlFlowDialect",
1792        ":EmitCDialect",
1793        ":FuncDialect",
1794        ":IR",
1795        ":Support",
1796        ":TranslateLib",
1797        "//llvm:Support",
1798    ],
1799)
1800
1801##---------------------------------------------------------------------------##
1802# Async dialect.
1803##---------------------------------------------------------------------------##
1804
1805td_library(
1806    name = "AsyncOpsTdFiles",
1807    srcs = [
1808        "include/mlir/Dialect/Async/IR/AsyncDialect.td",
1809        "include/mlir/Dialect/Async/IR/AsyncOps.td",
1810        "include/mlir/Dialect/Async/IR/AsyncTypes.td",
1811    ],
1812    includes = ["include"],
1813    deps = [
1814        ":CallInterfacesTdFiles",
1815        ":ControlFlowInterfacesTdFiles",
1816        ":FunctionInterfacesTdFiles",
1817        ":InferTypeOpInterfaceTdFiles",
1818        ":OpBaseTdFiles",
1819        ":SideEffectInterfacesTdFiles",
1820    ],
1821)
1822
1823gentbl_cc_library(
1824    name = "AsyncOpsIncGen",
1825    tbl_outs = [
1826        (
1827            ["-gen-op-decls"],
1828            "include/mlir/Dialect/Async/IR/AsyncOps.h.inc",
1829        ),
1830        (
1831            ["-gen-op-defs"],
1832            "include/mlir/Dialect/Async/IR/AsyncOps.cpp.inc",
1833        ),
1834        (
1835            ["-gen-dialect-decls"],
1836            "include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc",
1837        ),
1838        (
1839            ["-gen-dialect-defs"],
1840            "include/mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc",
1841        ),
1842        (
1843            ["-gen-typedef-decls"],
1844            "include/mlir/Dialect/Async/IR/AsyncOpsTypes.h.inc",
1845        ),
1846        (
1847            ["-gen-typedef-defs"],
1848            "include/mlir/Dialect/Async/IR/AsyncOpsTypes.cpp.inc",
1849        ),
1850    ],
1851    tblgen = ":mlir-tblgen",
1852    td_file = "include/mlir/Dialect/Async/IR/AsyncOps.td",
1853    deps = [":AsyncOpsTdFiles"],
1854)
1855
1856gentbl_cc_library(
1857    name = "AsyncPassIncGen",
1858    tbl_outs = [
1859        (
1860            [
1861                "-gen-pass-decls",
1862                "-name=Async",
1863            ],
1864            "include/mlir/Dialect/Async/Passes.h.inc",
1865        ),
1866        (
1867            [
1868                "-gen-pass-capi-header",
1869                "--prefix=Async",
1870            ],
1871            "include/mlir/Dialect/Async/Passes.capi.h.inc",
1872        ),
1873        (
1874            [
1875                "-gen-pass-capi-impl",
1876                "--prefix=Async",
1877            ],
1878            "include/mlir/Dialect/Async/Passes.capi.cpp.inc",
1879        ),
1880    ],
1881    tblgen = ":mlir-tblgen",
1882    td_file = "include/mlir/Dialect/Async/Passes.td",
1883    deps = [":PassBaseTdFiles"],
1884)
1885
1886##---------------------------------------------------------------------------##
1887# ArmNeon dialect.
1888##---------------------------------------------------------------------------##
1889
1890td_library(
1891    name = "ArmNeonTdFiles",
1892    srcs = ["include/mlir/Dialect/ArmNeon/ArmNeon.td"],
1893    includes = ["include"],
1894    deps = [
1895        ":LLVMOpsTdFiles",
1896        ":OpBaseTdFiles",
1897        ":SideEffectInterfacesTdFiles",
1898    ],
1899)
1900
1901gentbl_cc_library(
1902    name = "ArmNeonIncGen",
1903    tbl_outs = [
1904        (
1905            [
1906                "-gen-dialect-decls",
1907                "-dialect=arm_neon",
1908            ],
1909            "include/mlir/Dialect/ArmNeon/ArmNeonDialect.h.inc",
1910        ),
1911        (
1912            [
1913                "-gen-dialect-defs",
1914                "-dialect=arm_neon",
1915            ],
1916            "include/mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc",
1917        ),
1918        (
1919            ["-gen-op-decls"],
1920            "include/mlir/Dialect/ArmNeon/ArmNeon.h.inc",
1921        ),
1922        (
1923            ["-gen-op-defs"],
1924            "include/mlir/Dialect/ArmNeon/ArmNeon.cpp.inc",
1925        ),
1926        (
1927            ["-gen-op-doc"],
1928            "g3doc/Dialects/ArmNeon/ArmNeon.md",
1929        ),
1930    ],
1931    tblgen = ":mlir-tblgen",
1932    td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
1933    deps = [":ArmNeonTdFiles"],
1934)
1935
1936cc_library(
1937    name = "ArmNeonDialect",
1938    srcs = ["lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp"],
1939    hdrs = ["include/mlir/Dialect/ArmNeon/ArmNeonDialect.h"],
1940    includes = ["include"],
1941    deps = [
1942        ":ArmNeonIncGen",
1943        ":BytecodeOpInterface",
1944        ":IR",
1945        ":SideEffectInterfaces",
1946        ":VectorDialect",
1947    ],
1948)
1949
1950cc_library(
1951    name = "ArmNeonTransforms",
1952    srcs = glob(["lib/Dialect/ArmNeon/Transforms/*.cpp"]),
1953    hdrs = ["include/mlir/Dialect/ArmNeon/Transforms.h"],
1954    includes = ["include"],
1955    deps = [
1956        ":ArithDialect",
1957        ":ArmNeonDialect",
1958        ":DialectUtils",
1959        ":FuncDialect",
1960        ":IR",
1961        ":LLVMDialect",
1962        ":Support",
1963        ":TransformUtils",
1964        ":VectorDialect",
1965    ],
1966)
1967
1968gentbl_cc_library(
1969    name = "ArmNeonConversionIncGen",
1970    tbl_outs = [
1971        (
1972            ["-gen-llvmir-conversions"],
1973            "include/mlir/Dialect/ArmNeon/ArmNeonConversions.inc",
1974        ),
1975    ],
1976    tblgen = ":mlir-tblgen",
1977    td_file = "include/mlir/Dialect/ArmNeon/ArmNeon.td",
1978    deps = [":ArmNeonTdFiles"],
1979)
1980
1981cc_library(
1982    name = "ArmNeon2dToIntr",
1983    srcs = glob([
1984        "lib/Conversion/ArmNeon2dToIntr/*.cpp",
1985    ]),
1986    hdrs = glob([
1987        "include/mlir/Conversion/ArmNeon2dToIntr/*.h",
1988    ]),
1989    includes = ["include"],
1990    deps = [
1991        ":ArmNeonDialect",
1992        ":ConversionPassIncGen",
1993        ":IR",
1994        ":Pass",
1995        ":TransformUtils",
1996        ":VectorDialect",
1997    ],
1998)
1999
2000##---------------------------------------------------------------------------##
2001# ArmSME dialect.
2002##---------------------------------------------------------------------------##
2003
2004td_library(
2005    name = "ArmSMETdFiles",
2006    srcs = [
2007        "include/mlir/Dialect/ArmSME/IR/ArmSME.td",
2008    ],
2009    includes = ["include"],
2010    deps = [
2011        ":ArithOpsTdFiles",
2012        ":FuncTdFiles",
2013        ":LLVMOpsTdFiles",
2014        ":OpBaseTdFiles",
2015        ":SideEffectInterfacesTdFiles",
2016    ],
2017)
2018
2019gentbl_cc_library(
2020    name = "ArmSMETransformsPassIncGen",
2021    tbl_outs = [
2022        (
2023            [
2024                "-gen-pass-decls",
2025                "-name=ArmSME",
2026            ],
2027            "include/mlir/Dialect/ArmSME/Transforms/Passes.h.inc",
2028        ),
2029        (
2030            ["-gen-enum-decls"],
2031            "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.h.inc",
2032        ),
2033        (
2034            ["-gen-enum-defs"],
2035            "include/mlir/Dialect/ArmSME/Transforms/PassesEnums.cpp.inc",
2036        ),
2037    ],
2038    tblgen = ":mlir-tblgen",
2039    td_file = "include/mlir/Dialect/ArmSME/Transforms/Passes.td",
2040    deps = [
2041        ":OpBaseTdFiles",
2042        ":PassBaseTdFiles",
2043    ],
2044)
2045
2046gentbl_cc_library(
2047    name = "ArmSMEIncGen",
2048    tbl_outs = [
2049        (
2050            ["-gen-op-decls"],
2051            "include/mlir/Dialect/ArmSME/IR/ArmSME.h.inc",
2052        ),
2053        (
2054            ["-gen-op-defs"],
2055            "include/mlir/Dialect/ArmSME/IR/ArmSME.cpp.inc",
2056        ),
2057        (
2058            ["-gen-typedef-decls"],
2059            "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.h.inc",
2060        ),
2061        (
2062            ["-gen-typedef-defs"],
2063            "include/mlir/Dialect/ArmSME/IR/ArmSMETypes.cpp.inc",
2064        ),
2065        (
2066            [
2067                "-gen-dialect-decls",
2068                "-dialect=arm_sme",
2069            ],
2070            "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.h.inc",
2071        ),
2072        (
2073            [
2074                "-gen-dialect-defs",
2075                "-dialect=arm_sme",
2076            ],
2077            "include/mlir/Dialect/ArmSME/IR/ArmSMEDialect.cpp.inc",
2078        ),
2079    ],
2080    tblgen = ":mlir-tblgen",
2081    td_file = "include/mlir/Dialect/ArmSME/IR/ArmSME.td",
2082    deps = [":ArmSMETdFiles"],
2083)
2084
2085gentbl_cc_library(
2086    name = "ArmSMEOpsIncGen",
2087    tbl_outs = [
2088        (
2089            ["-gen-op-decls"],
2090            "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.h.inc",
2091        ),
2092        (
2093            ["-gen-op-defs"],
2094            "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.cpp.inc",
2095        ),
2096        (
2097            ["-gen-enum-decls"],
2098            "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h.inc",
2099        ),
2100        (
2101            ["-gen-enum-defs"],
2102            "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.cpp.inc",
2103        ),
2104        (
2105            [
2106                "-gen-attrdef-decls",
2107                "-attrdefs-dialect=arm_sme",
2108            ],
2109            "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.h.inc",
2110        ),
2111        (
2112            [
2113                "-gen-attrdef-defs",
2114                "-attrdefs-dialect=arm_sme",
2115            ],
2116            "include/mlir/Dialect/ArmSME/IR/ArmSMEAttrDefs.cpp.inc",
2117        ),
2118    ],
2119    tblgen = ":mlir-tblgen",
2120    td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
2121    deps = [":ArmSMETdFiles"],
2122)
2123
2124gentbl_cc_library(
2125    name = "ArmSMEConversionIncGen",
2126    tbl_outs = [
2127        (
2128            ["-gen-llvmir-conversions"],
2129            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpsConversions.inc",
2130        ),
2131    ],
2132    tblgen = ":mlir-tblgen",
2133    td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
2134    deps = [":ArmSMETdFiles"],
2135)
2136
2137gentbl_cc_library(
2138    name = "ArmSMEOpInterfacesIncGen",
2139    tbl_outs = [
2140        (
2141            ["-gen-op-interface-decls"],
2142            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h.inc",
2143        ),
2144        (
2145            ["-gen-op-interface-defs"],
2146            "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.cpp.inc",
2147        ),
2148    ],
2149    tblgen = ":mlir-tblgen",
2150    td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td",
2151    deps = [":ArmSMETdFiles"],
2152)
2153
2154cc_library(
2155    name = "ArmSMEOpInterfaces",
2156    hdrs = [
2157        "include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h",
2158    ],
2159    includes = ["include"],
2160    deps = [
2161        ":ArmSMEOpInterfacesIncGen",
2162        ":IR",
2163        ":Support",
2164        ":VectorDialect",
2165        "//llvm:Support",
2166    ],
2167)
2168
2169gentbl_cc_library(
2170    name = "ArmSMEIntrinsicOpsIncGen",
2171    tbl_outs = [
2172        (
2173            ["-gen-op-decls"],
2174            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.h.inc",
2175        ),
2176        (
2177            ["-gen-op-defs"],
2178            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.cpp.inc",
2179        ),
2180        (
2181            ["-gen-llvmir-conversions"],
2182            "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicConversions.inc",
2183        ),
2184    ],
2185    tblgen = ":mlir-tblgen",
2186    td_file = "include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td",
2187    deps = [":ArmSMETdFiles"],
2188)
2189
2190cc_library(
2191    name = "ArmSMEEnums",
2192    hdrs = [
2193        "include/mlir/Dialect/ArmSME/IR/ArmSMEEnums.h",
2194    ],
2195    deps = [
2196        ":ArmSMEIncGen",
2197        ":ArmSMEOpsIncGen",
2198        ":IR",
2199    ],
2200)
2201
2202cc_library(
2203    name = "ArmSMEDialect",
2204    srcs = glob(["lib/Dialect/ArmSME/IR/*.cpp"]),
2205    hdrs = [
2206        "include/mlir/Dialect/ArmSME/IR/ArmSME.h",
2207        "include/mlir/Dialect/ArmSME/Utils/Utils.h",
2208    ],
2209    includes = ["include"],
2210    deps = [
2211        ":ArmSMEEnums",
2212        ":ArmSMEIncGen",
2213        ":ArmSMEIntrinsicOpsIncGen",
2214        ":ArmSMEOpInterfaces",
2215        ":ArmSMEOpInterfacesIncGen",
2216        ":ArmSMEOpsIncGen",
2217        ":BytecodeOpInterface",
2218        ":FunctionInterfaces",
2219        ":IR",
2220        ":LLVMDialect",
2221        ":MemRefDialect",
2222        ":SCFDialect",
2223        ":SideEffectInterfaces",
2224        ":VectorDialect",
2225        "//llvm:Support",
2226    ],
2227)
2228
2229cc_library(
2230    name = "ArmSMETransforms",
2231    srcs = glob(["lib/Dialect/ArmSME/Transforms/*.cpp"]),
2232    hdrs = glob(["include/mlir/Dialect/ArmSME/Transforms/*.h"]),
2233    includes = ["include"],
2234    deps = [
2235        ":Analysis",
2236        ":ArithUtils",
2237        ":ArmSMEDialect",
2238        ":ArmSMETransformsPassIncGen",
2239        ":ControlFlowDialect",
2240        ":DialectUtils",
2241        ":FuncDialect",
2242        ":FuncTransforms",
2243        ":FunctionInterfaces",
2244        ":IR",
2245        ":IndexDialect",
2246        ":LLVMCommonConversion",
2247        ":LLVMDialect",
2248        ":MemRefDialect",
2249        ":Pass",
2250        ":SCFDialect",
2251        ":SCFTransforms",
2252        ":TransformUtils",
2253        ":VectorUtils",
2254        "//llvm:Support",
2255    ],
2256)
2257
2258cc_library(
2259    name = "ArmSMEToSCF",
2260    srcs = glob(["lib/Conversion/ArmSMEToSCF/*.cpp"]),
2261    hdrs = glob(["include/mlir/Conversion/ArmSMEToSCF/*.h"]),
2262    includes = ["include"],
2263    deps = [
2264        ":ArithDialect",
2265        ":ArmSMEDialect",
2266        ":ConversionPassIncGen",
2267        ":Pass",
2268        ":SCFDialect",
2269        ":TransformUtils",
2270    ],
2271)
2272
2273cc_library(
2274    name = "ArmSMEToLLVM",
2275    srcs = glob(["lib/Conversion/ArmSMEToLLVM/*.cpp"]),
2276    hdrs = glob(["include/mlir/Conversion/ArmSMEToLLVM/*.h"]),
2277    includes = ["include"],
2278    deps = [
2279        ":ArithDialect",
2280        ":ArmSMEDialect",
2281        ":ArmSMETransforms",
2282        ":ControlFlowDialect",
2283        ":ConversionPassIncGen",
2284        ":FuncDialect",
2285        ":FunctionInterfaces",
2286        ":LLVMCommonConversion",
2287        ":LLVMDialect",
2288        ":MemRefDialect",
2289        ":Pass",
2290        ":TransformUtils",
2291        ":VectorDialect",
2292        "//llvm:Support",
2293    ],
2294)
2295
2296##---------------------------------------------------------------------------##
2297# ArmSVE dialect.
2298##---------------------------------------------------------------------------##
2299
2300td_library(
2301    name = "ArmSVETdFiles",
2302    srcs = [
2303        "include/mlir/Dialect/ArmSVE/IR/ArmSVE.td",
2304    ],
2305    includes = ["include"],
2306    deps = [
2307        ":ArithOpsTdFiles",
2308        ":FuncTdFiles",
2309        ":LLVMOpsTdFiles",
2310        ":OpBaseTdFiles",
2311        ":SideEffectInterfacesTdFiles",
2312    ],
2313)
2314
2315gentbl_cc_library(
2316    name = "ArmSVEIncGen",
2317    tbl_outs = [
2318        (
2319            ["-gen-op-decls"],
2320            "include/mlir/Dialect/ArmSVE/IR/ArmSVE.h.inc",
2321        ),
2322        (
2323            ["-gen-op-defs"],
2324            "include/mlir/Dialect/ArmSVE/IR/ArmSVE.cpp.inc",
2325        ),
2326        (
2327            ["-gen-typedef-decls"],
2328            "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.h.inc",
2329        ),
2330        (
2331            ["-gen-typedef-defs"],
2332            "include/mlir/Dialect/ArmSVE/IR/ArmSVETypes.cpp.inc",
2333        ),
2334        (
2335            [
2336                "-gen-dialect-decls",
2337                "-dialect=arm_sve",
2338            ],
2339            "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h.inc",
2340        ),
2341        (
2342            [
2343                "-gen-dialect-defs",
2344                "-dialect=arm_sve",
2345            ],
2346            "include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.cpp.inc",
2347        ),
2348    ],
2349    tblgen = ":mlir-tblgen",
2350    td_file = "include/mlir/Dialect/ArmSVE/IR/ArmSVE.td",
2351    deps = [":ArmSVETdFiles"],
2352)
2353
2354cc_library(
2355    name = "ArmSVEDialect",
2356    srcs = ["lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp"],
2357    hdrs = ["include/mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h"],
2358    includes = ["include"],
2359    deps = [
2360        ":ArmSVEIncGen",
2361        ":BytecodeOpInterface",
2362        ":IR",
2363        ":LLVMDialect",
2364        ":SideEffectInterfaces",
2365        ":VectorDialect",
2366        "//llvm:Support",
2367    ],
2368)
2369
2370gentbl_cc_library(
2371    name = "ArmSVEPassIncGen",
2372    tbl_outs = [
2373        (
2374            [
2375                "-gen-pass-decls",
2376                "-name=ArmSVE",
2377            ],
2378            "include/mlir/Dialect/ArmSVE/Transforms/Passes.h.inc",
2379        ),
2380    ],
2381    tblgen = ":mlir-tblgen",
2382    td_file = "include/mlir/Dialect/ArmSVE/Transforms/Passes.td",
2383    deps = [":PassBaseTdFiles"],
2384)
2385
2386cc_library(
2387    name = "ArmSVETransforms",
2388    srcs = glob(["lib/Dialect/ArmSVE/Transforms/*.cpp"]),
2389    hdrs = glob(["include/mlir/Dialect/ArmSVE/Transforms/*.h"]),
2390    includes = ["include"],
2391    deps = [
2392        ":ArmSVEDialect",
2393        ":ArmSVEPassIncGen",
2394        ":DialectUtils",
2395        ":FuncDialect",
2396        ":IR",
2397        ":LLVMCommonConversion",
2398        ":LLVMDialect",
2399        ":MemRefDialect",
2400        ":Pass",
2401        ":TransformUtils",
2402        ":VectorDialect",
2403    ],
2404)
2405
2406gentbl_cc_library(
2407    name = "ArmSVEConversionIncGen",
2408    tbl_outs = [
2409        (
2410            ["-gen-llvmir-conversions"],
2411            "include/mlir/Dialect/ArmSVE/IR/ArmSVEConversions.inc",
2412        ),
2413    ],
2414    tblgen = ":mlir-tblgen",
2415    td_file = "include/mlir/Dialect/ArmSVE/IR/ArmSVE.td",
2416    deps = [":ArmSVETdFiles"],
2417)
2418
2419##---------------------------------------------------------------------------##
2420# AMX dialect.
2421##---------------------------------------------------------------------------##
2422
2423td_library(
2424    name = "AMXTdFiles",
2425    srcs = ["include/mlir/Dialect/AMX/AMX.td"],
2426    includes = ["include"],
2427    deps = [
2428        ":BuiltinDialectTdFiles",
2429        ":LLVMOpsTdFiles",
2430        ":SideEffectInterfacesTdFiles",
2431    ],
2432)
2433
2434gentbl_cc_library(
2435    name = "AMXIncGen",
2436    tbl_outs = [
2437        (
2438            [
2439                "-gen-dialect-decls",
2440                "-dialect=amx",
2441            ],
2442            "include/mlir/Dialect/AMX/AMXDialect.h.inc",
2443        ),
2444        (
2445            [
2446                "-gen-dialect-defs",
2447                "-dialect=amx",
2448            ],
2449            "include/mlir/Dialect/AMX/AMXDialect.cpp.inc",
2450        ),
2451        (
2452            [
2453                "-gen-typedef-decls",
2454                "-typedefs-dialect=amx",
2455            ],
2456            "include/mlir/Dialect/AMX/AMXTypes.h.inc",
2457        ),
2458        (
2459            [
2460                "-gen-typedef-defs",
2461                "-typedefs-dialect=amx",
2462            ],
2463            "include/mlir/Dialect/AMX/AMXTypes.cpp.inc",
2464        ),
2465        (
2466            ["-gen-op-decls"],
2467            "include/mlir/Dialect/AMX/AMX.h.inc",
2468        ),
2469        (
2470            ["-gen-op-defs"],
2471            "include/mlir/Dialect/AMX/AMX.cpp.inc",
2472        ),
2473        (
2474            ["-gen-op-doc"],
2475            "g3doc/Dialects/AMX/AMX.md",
2476        ),
2477    ],
2478    tblgen = ":mlir-tblgen",
2479    td_file = "include/mlir/Dialect/AMX/AMX.td",
2480    deps = [":AMXTdFiles"],
2481)
2482
2483cc_library(
2484    name = "AMXDialect",
2485    srcs = ["lib/Dialect/AMX/IR/AMXDialect.cpp"],
2486    hdrs = ["include/mlir/Dialect/AMX/AMXDialect.h"],
2487    includes = ["include"],
2488    deps = [
2489        ":AMXIncGen",
2490        ":BytecodeOpInterface",
2491        ":IR",
2492        ":LLVMDialect",
2493        ":SideEffectInterfaces",
2494        "//llvm:Support",
2495    ],
2496)
2497
2498cc_library(
2499    name = "AMXTransforms",
2500    srcs = glob(["lib/Dialect/AMX/Transforms/*.cpp"]),
2501    hdrs = ["include/mlir/Dialect/AMX/Transforms.h"],
2502    includes = ["include"],
2503    deps = [
2504        ":AMXDialect",
2505        ":ConvertToLLVMInterface",
2506        ":IR",
2507        ":LLVMCommonConversion",
2508        ":LLVMDialect",
2509    ],
2510)
2511
2512gentbl_cc_library(
2513    name = "AMXConversionIncGen",
2514    tbl_outs = [
2515        (
2516            ["-gen-llvmir-conversions"],
2517            "include/mlir/Dialect/AMX/AMXConversions.inc",
2518        ),
2519    ],
2520    tblgen = ":mlir-tblgen",
2521    td_file = "include/mlir/Dialect/AMX/AMX.td",
2522    deps = [":AMXTdFiles"],
2523)
2524
2525##---------------------------------------------------------------------------##
2526# X86Vector dialect.
2527##---------------------------------------------------------------------------##
2528
2529td_library(
2530    name = "X86VectorTdFiles",
2531    srcs = ["include/mlir/Dialect/X86Vector/X86Vector.td"],
2532    includes = ["include"],
2533    deps = [
2534        ":InferTypeOpInterfaceTdFiles",
2535        ":LLVMOpsTdFiles",
2536        ":SideEffectInterfacesTdFiles",
2537    ],
2538)
2539
2540gentbl_cc_library(
2541    name = "X86VectorIncGen",
2542    tbl_outs = [
2543        (
2544            [
2545                "-gen-dialect-decls",
2546                "-dialect=x86vector",
2547            ],
2548            "include/mlir/Dialect/X86Vector/X86VectorDialect.h.inc",
2549        ),
2550        (
2551            [
2552                "-gen-dialect-defs",
2553                "-dialect=x86vector",
2554            ],
2555            "include/mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc",
2556        ),
2557        (
2558            ["-gen-op-decls"],
2559            "include/mlir/Dialect/X86Vector/X86Vector.h.inc",
2560        ),
2561        (
2562            ["-gen-op-defs"],
2563            "include/mlir/Dialect/X86Vector/X86Vector.cpp.inc",
2564        ),
2565        (
2566            ["-gen-op-doc"],
2567            "g3doc/Dialects/X86Vector/X86Vector.md",
2568        ),
2569    ],
2570    tblgen = ":mlir-tblgen",
2571    td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
2572    deps = [":X86VectorTdFiles"],
2573)
2574
2575cc_library(
2576    name = "X86VectorDialect",
2577    srcs = ["lib/Dialect/X86Vector/IR/X86VectorDialect.cpp"],
2578    hdrs = ["include/mlir/Dialect/X86Vector/X86VectorDialect.h"],
2579    includes = ["include"],
2580    deps = [
2581        ":BytecodeOpInterface",
2582        ":IR",
2583        ":InferTypeOpInterface",
2584        ":LLVMDialect",
2585        ":SideEffectInterfaces",
2586        ":X86VectorIncGen",
2587    ],
2588)
2589
2590cc_library(
2591    name = "X86VectorTransforms",
2592    srcs = glob(["lib/Dialect/X86Vector/Transforms/*.cpp"]),
2593    hdrs = ["include/mlir/Dialect/X86Vector/Transforms.h"],
2594    includes = ["include"],
2595    deps = [
2596        ":ArithDialect",
2597        ":IR",
2598        ":LLVMCommonConversion",
2599        ":LLVMDialect",
2600        ":VectorDialect",
2601        ":VectorUtils",
2602        ":X86VectorDialect",
2603        "//llvm:Support",
2604    ],
2605)
2606
2607gentbl_cc_library(
2608    name = "X86VectorConversionIncGen",
2609    tbl_outs = [
2610        (
2611            ["-gen-llvmir-conversions"],
2612            "include/mlir/Dialect/X86Vector/X86VectorConversions.inc",
2613        ),
2614    ],
2615    tblgen = ":mlir-tblgen",
2616    td_file = "include/mlir/Dialect/X86Vector/X86Vector.td",
2617    deps = [":X86VectorTdFiles"],
2618)
2619
2620##---------------------------------------------------------------------------##
2621# IRDL dialect.
2622##---------------------------------------------------------------------------##
2623
2624td_library(
2625    name = "IRDLTdFiles",
2626    srcs = [
2627        "include/mlir/Dialect/IRDL/IR/IRDL.td",
2628        "include/mlir/Dialect/IRDL/IR/IRDLAttributes.td",
2629        "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.td",
2630        "include/mlir/Dialect/IRDL/IR/IRDLOps.td",
2631        "include/mlir/Dialect/IRDL/IR/IRDLTypes.td",
2632    ],
2633    includes = ["include"],
2634    deps = [
2635        ":BuiltinDialectTdFiles",
2636        ":InferTypeOpInterfaceTdFiles",
2637        ":OpBaseTdFiles",
2638        ":SideEffectInterfacesTdFiles",
2639    ],
2640)
2641
2642gentbl_cc_library(
2643    name = "IRDLIncGen",
2644    tbl_outs = [
2645        (
2646            [
2647                "-gen-dialect-decls",
2648                "-dialect=irdl",
2649            ],
2650            "include/mlir/Dialect/IRDL/IR/IRDLDialect.h.inc",
2651        ),
2652        (
2653            [
2654                "-gen-dialect-defs",
2655                "-dialect=irdl",
2656            ],
2657            "include/mlir/Dialect/IRDL/IR/IRDLDialect.cpp.inc",
2658        ),
2659        (
2660            ["-gen-op-decls"],
2661            "include/mlir/Dialect/IRDL/IR/IRDL.h.inc",
2662        ),
2663        (
2664            ["-gen-op-defs"],
2665            "include/mlir/Dialect/IRDL/IR/IRDL.cpp.inc",
2666        ),
2667        (
2668            ["-gen-typedef-decls"],
2669            "include/mlir/Dialect/IRDL/IR/IRDLTypes.h.inc",
2670        ),
2671        (
2672            ["-gen-typedef-defs"],
2673            "include/mlir/Dialect/IRDL/IR/IRDLTypes.cpp.inc",
2674        ),
2675    ],
2676    tblgen = ":mlir-tblgen",
2677    td_file = "include/mlir/Dialect/IRDL/IR/IRDLOps.td",
2678    deps = [":IRDLTdFiles"],
2679)
2680
2681gentbl_cc_library(
2682    name = "IRDLInterfacesIncGen",
2683    tbl_outs = [
2684        (
2685            ["-gen-op-interface-decls"],
2686            "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.h.inc",
2687        ),
2688        (
2689            ["-gen-op-interface-defs"],
2690            "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.cpp.inc",
2691        ),
2692    ],
2693    tblgen = ":mlir-tblgen",
2694    td_file = "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.td",
2695    deps = [":IRDLTdFiles"],
2696)
2697
2698gentbl_cc_library(
2699    name = "IRDLAttributesIncGen",
2700    tbl_outs = [
2701        (
2702            ["-gen-attrdef-decls"],
2703            "include/mlir/Dialect/IRDL/IR/IRDLAttributes.h.inc",
2704        ),
2705        (
2706            ["-gen-attrdef-defs"],
2707            "include/mlir/Dialect/IRDL/IR/IRDLAttributes.cpp.inc",
2708        ),
2709    ],
2710    tblgen = ":mlir-tblgen",
2711    td_file = "include/mlir/Dialect/IRDL/IR/IRDLAttributes.td",
2712    deps = [":IRDLTdFiles"],
2713)
2714
2715gentbl_cc_library(
2716    name = "IRDLEnumsIncGen",
2717    tbl_outs = [
2718        (
2719            ["-gen-enum-decls"],
2720            "include/mlir/Dialect/IRDL/IR/IRDLEnums.h.inc",
2721        ),
2722        (
2723            ["-gen-enum-defs"],
2724            "include/mlir/Dialect/IRDL/IR/IRDLEnums.cpp.inc",
2725        ),
2726    ],
2727    tblgen = ":mlir-tblgen",
2728    td_file = "include/mlir/Dialect/IRDL/IR/IRDLAttributes.td",
2729    deps = [":IRDLTdFiles"],
2730)
2731
2732gentbl_cc_library(
2733    name = "IRDLOpsIncGen",
2734    tbl_outs = [
2735        (
2736            ["-gen-op-decls"],
2737            "include/mlir/Dialect/IRDL/IR/IRDLOps.h.inc",
2738        ),
2739        (
2740            ["-gen-op-defs"],
2741            "include/mlir/Dialect/IRDL/IR/IRDLOps.cpp.inc",
2742        ),
2743    ],
2744    tblgen = ":mlir-tblgen",
2745    td_file = "include/mlir/Dialect/IRDL/IR/IRDLOps.td",
2746    deps = [":IRDLTdFiles"],
2747)
2748
2749gentbl_cc_library(
2750    name = "IRDLTypesIncGen",
2751    tbl_outs = [
2752        (
2753            ["-gen-typedef-decls"],
2754            "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.h.inc",
2755        ),
2756        (
2757            ["-gen-typedef-defs"],
2758            "include/mlir/Dialect/IRDL/IR/IRDLTypesGen.cpp.inc",
2759        ),
2760    ],
2761    tblgen = ":mlir-tblgen",
2762    td_file = "include/mlir/Dialect/IRDL/IR/IRDLTypes.td",
2763    deps = [":IRDLTdFiles"],
2764)
2765
2766cc_library(
2767    name = "IRDLDialect",
2768    srcs = [
2769        "lib/Dialect/IRDL/IR/IRDL.cpp",
2770        "lib/Dialect/IRDL/IR/IRDLOps.cpp",
2771        "lib/Dialect/IRDL/IRDLLoading.cpp",
2772        "lib/Dialect/IRDL/IRDLSymbols.cpp",
2773        "lib/Dialect/IRDL/IRDLVerifiers.cpp",
2774    ],
2775    hdrs = [
2776        "include/mlir/Dialect/IRDL/IR/IRDL.h",
2777        "include/mlir/Dialect/IRDL/IR/IRDLInterfaces.h",
2778        "include/mlir/Dialect/IRDL/IR/IRDLTraits.h",
2779        "include/mlir/Dialect/IRDL/IRDLLoading.h",
2780        "include/mlir/Dialect/IRDL/IRDLSymbols.h",
2781        "include/mlir/Dialect/IRDL/IRDLVerifiers.h",
2782    ],
2783    includes = ["include"],
2784    deps = [
2785        ":BytecodeOpInterface",
2786        ":Dialect",
2787        ":IR",
2788        ":IRDLAttributesIncGen",
2789        ":IRDLEnumsIncGen",
2790        ":IRDLIncGen",
2791        ":IRDLInterfacesIncGen",
2792        ":IRDLOpsIncGen",
2793        ":IRDLTypesIncGen",
2794        ":InferTypeOpInterface",
2795        ":SideEffectInterfaces",
2796        ":Support",
2797        "//llvm:Core",
2798        "//llvm:Support",
2799    ],
2800)
2801
2802##---------------------------------------------------------------------------##
2803# SCF dialect.
2804##---------------------------------------------------------------------------##
2805
2806td_library(
2807    name = "SCFTdFiles",
2808    srcs = [
2809        "include/mlir/Dialect/SCF/IR/DeviceMappingInterface.td",
2810        "include/mlir/Dialect/SCF/IR/SCFOps.td",
2811    ],
2812    includes = ["include"],
2813    deps = [
2814        ":ControlFlowInterfacesTdFiles",
2815        ":DestinationStyleOpInterfaceTdFiles",
2816        ":InferTypeOpInterfaceTdFiles",
2817        ":LoopLikeInterfaceTdFiles",
2818        ":ParallelCombiningOpInterfaceTdFiles",
2819        ":SideEffectInterfacesTdFiles",
2820        ":ViewLikeInterfaceTdFiles",
2821    ],
2822)
2823
2824gentbl_cc_library(
2825    name = "SCFIncGen",
2826    tbl_outs = [
2827        (
2828            ["-gen-op-decls"],
2829            "include/mlir/Dialect/SCF/IR/SCFOps.h.inc",
2830        ),
2831        (
2832            ["-gen-op-defs"],
2833            "include/mlir/Dialect/SCF/IR/SCFOps.cpp.inc",
2834        ),
2835        (
2836            ["-gen-dialect-decls"],
2837            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.h.inc",
2838        ),
2839        (
2840            ["-gen-dialect-defs"],
2841            "include/mlir/Dialect/SCF/IR/SCFOpsDialect.cpp.inc",
2842        ),
2843    ],
2844    tblgen = ":mlir-tblgen",
2845    td_file = "include/mlir/Dialect/SCF/IR/SCFOps.td",
2846    deps = [":SCFTdFiles"],
2847)
2848
2849gentbl_cc_library(
2850    name = "SCFDeviceMappingInterfacesIncGen",
2851    tbl_outs = [
2852        (
2853            ["-gen-attr-interface-decls"],
2854            "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.h.inc",
2855        ),
2856        (
2857            ["-gen-attr-interface-defs"],
2858            "include/mlir/Dialect/SCF/IR/DeviceMappingAttrInterface.cpp.inc",
2859        ),
2860        (
2861            ["-gen-attrdef-decls"],
2862            "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.h.inc",
2863        ),
2864        (
2865            ["-gen-attrdef-defs"],
2866            "include/mlir/Dialect/SCF/IR/DeviceMappingAttributes.cpp.inc",
2867        ),
2868    ],
2869    tblgen = ":mlir-tblgen",
2870    td_file = "include/mlir/Dialect/SCF/IR/DeviceMappingInterface.td",
2871    deps = [":SCFTdFiles"],
2872)
2873
2874gentbl_cc_library(
2875    name = "SCFPassIncGen",
2876    tbl_outs = [
2877        (
2878            [
2879                "-gen-pass-decls",
2880                "-name=SCF",
2881            ],
2882            "include/mlir/Dialect/SCF/Transforms/Passes.h.inc",
2883        ),
2884    ],
2885    tblgen = ":mlir-tblgen",
2886    td_file = "include/mlir/Dialect/SCF/Transforms/Passes.td",
2887    deps = [":PassBaseTdFiles"],
2888)
2889
2890cc_library(
2891    name = "SCFTransforms",
2892    srcs = glob([
2893        "lib/Dialect/SCF/Transforms/*.cpp",
2894    ]),
2895    hdrs = glob([
2896        "include/mlir/Dialect/SCF/Transforms/*.h",
2897    ]),
2898    includes = ["include"],
2899    deps = [
2900        ":AffineAnalysis",
2901        ":AffineDialect",
2902        ":Analysis",
2903        ":ArithDialect",
2904        ":ArithUtils",
2905        ":BufferizationDialect",
2906        ":BufferizationInterfaces",
2907        ":BufferizationTransforms",
2908        ":DestinationStyleOpInterface",
2909        ":DialectUtils",
2910        ":FuncDialect",
2911        ":IR",
2912        ":LoopLikeInterface",
2913        ":MemRefDialect",
2914        ":Pass",
2915        ":Rewrite",
2916        ":SCFDialect",
2917        ":SCFPassIncGen",
2918        ":SCFUtils",
2919        ":SideEffectInterfaces",
2920        ":Support",
2921        ":TensorDialect",
2922        ":TensorTransforms",
2923        ":TilingInterface",
2924        ":TransformUtils",
2925        ":ViewLikeInterface",
2926        "//llvm:Support",
2927    ],
2928)
2929
2930td_library(
2931    name = "SCFTransformOpsTdFiles",
2932    srcs = [
2933        "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td",
2934    ],
2935    includes = ["include"],
2936    deps = [
2937        ":PDLDialect",
2938        ":TransformLoopExtensionTdFiles",
2939    ],
2940)
2941
2942gentbl_cc_library(
2943    name = "SCFTransformOpsIncGen",
2944    tbl_outs = [
2945        (
2946            ["-gen-op-decls"],
2947            "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h.inc",
2948        ),
2949        (
2950            ["-gen-op-defs"],
2951            "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.cpp.inc",
2952        ),
2953    ],
2954    tblgen = ":mlir-tblgen",
2955    td_file = "include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td",
2956    deps = [
2957        ":SCFTransformOpsTdFiles",
2958    ],
2959)
2960
2961cc_library(
2962    name = "SCFTransformOps",
2963    srcs = glob(["lib/Dialect/SCF/TransformOps/*.cpp"]),
2964    hdrs = glob(["include/mlir/Dialect/SCF/TransformOps/*.h"]),
2965    includes = ["include"],
2966    deps = [
2967        ":AffineDialect",
2968        ":AffineUtils",
2969        ":ArithDialect",
2970        ":ArithUtils",
2971        ":BytecodeOpInterface",
2972        ":DialectUtils",
2973        ":FuncDialect",
2974        ":IR",
2975        ":LoopLikeInterface",
2976        ":SCFDialect",
2977        ":SCFToControlFlow",
2978        ":SCFTransformOpsIncGen",
2979        ":SCFTransforms",
2980        ":SCFUtils",
2981        ":TransformDialect",
2982        ":TransformDialectInterfaces",
2983        ":VectorDialect",
2984    ],
2985)
2986
2987##---------------------------------------------------------------------------##
2988# SparseTensor dialect.
2989##---------------------------------------------------------------------------##
2990
2991td_library(
2992    name = "SparseTensorTdFiles",
2993    srcs = glob([
2994        "include/mlir/Dialect/SparseTensor/IR/*.td",
2995    ]),
2996    includes = ["include"],
2997    deps = [
2998        ":ControlFlowInterfacesTdFiles",
2999        ":InferTypeOpInterfaceTdFiles",
3000        ":LoopLikeInterfaceTdFiles",
3001        ":OpBaseTdFiles",
3002        ":SideEffectInterfacesTdFiles",
3003    ],
3004)
3005
3006gentbl_cc_library(
3007    name = "SparseTensorAttrDefsIncGen",
3008    tbl_outs = [
3009        (
3010            ["--gen-attrdef-decls"],
3011            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.h.inc",
3012        ),
3013        (
3014            ["--gen-attrdef-defs"],
3015            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.cpp.inc",
3016        ),
3017        (
3018            ["--gen-enum-decls"],
3019            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.h.inc",
3020        ),
3021        (
3022            ["--gen-enum-defs"],
3023            "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.cpp.inc",
3024        ),
3025    ],
3026    tblgen = ":mlir-tblgen",
3027    td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td",
3028    deps = [":SparseTensorTdFiles"],
3029)
3030
3031gentbl_cc_library(
3032    name = "SparseTensorOpsIncGen",
3033    tbl_outs = [
3034        (
3035            [
3036                "-gen-dialect-decls",
3037                "-dialect=sparse_tensor",
3038            ],
3039            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.h.inc",
3040        ),
3041        (
3042            [
3043                "-gen-dialect-defs",
3044                "-dialect=sparse_tensor",
3045            ],
3046            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc",
3047        ),
3048        (
3049            ["-gen-op-decls"],
3050            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.h.inc",
3051        ),
3052        (
3053            ["-gen-op-defs"],
3054            "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.cpp.inc",
3055        ),
3056        (
3057            ["-gen-op-doc"],
3058            "g3doc/Dialects/SparseTensor/SparseTensor.md",
3059        ),
3060    ],
3061    tblgen = ":mlir-tblgen",
3062    td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td",
3063    deps = [":SparseTensorTdFiles"],
3064)
3065
3066gentbl_cc_library(
3067    name = "SparseTensorTypesIncGen",
3068    tbl_outs = [
3069        (
3070            ["--gen-typedef-decls"],
3071            "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.h.inc",
3072        ),
3073        (
3074            ["--gen-typedef-defs"],
3075            "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.cpp.inc",
3076        ),
3077    ],
3078    tblgen = ":mlir-tblgen",
3079    td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td",
3080    deps = [":SparseTensorTdFiles"],
3081)
3082
3083gentbl_cc_library(
3084    name = "SparseTensorPassIncGen",
3085    tbl_outs = [
3086        (
3087            [
3088                "-gen-pass-decls",
3089                "-name=SparseTensor",
3090            ],
3091            "include/mlir/Dialect/SparseTensor/Transforms/Passes.h.inc",
3092        ),
3093        (
3094            [
3095                "-gen-pass-capi-header",
3096                "--prefix=SparseTensor",
3097            ],
3098            "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.h.inc",
3099        ),
3100        (
3101            [
3102                "-gen-pass-capi-impl",
3103                "--prefix=SparseTensor",
3104            ],
3105            "include/mlir/Dialect/SparseTensor/Transforms/Passes.capi.cpp.inc",
3106        ),
3107    ],
3108    tblgen = ":mlir-tblgen",
3109    td_file = "include/mlir/Dialect/SparseTensor/Transforms/Passes.td",
3110    deps = [":PassBaseTdFiles"],
3111)
3112
3113gentbl_cc_library(
3114    name = "SparseTensorInterfacesIncGen",
3115    tbl_outs = [
3116        (
3117            ["-gen-op-interface-decls"],
3118            "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h.inc",
3119        ),
3120        (
3121            ["-gen-op-interface-defs"],
3122            "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp.inc",
3123        ),
3124    ],
3125    tblgen = ":mlir-tblgen",
3126    td_file = "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td",
3127    deps = [":SparseTensorTdFiles"],
3128)
3129
3130td_library(
3131    name = "SparseTensorTransformOpsTdFiles",
3132    srcs = glob([
3133        "include/mlir/Dialect/SparseTensor/TransformOps/*.td",
3134    ]),
3135    includes = ["include"],
3136    deps = [
3137        ":TransformDialectTdFiles",
3138    ],
3139)
3140
3141gentbl_cc_library(
3142    name = "SparseTensorTransformOpsIncGen",
3143    tbl_outs = [
3144        (
3145            ["-gen-op-decls"],
3146            "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.h.inc",
3147        ),
3148        (
3149            ["-gen-op-defs"],
3150            "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp.inc",
3151        ),
3152    ],
3153    tblgen = ":mlir-tblgen",
3154    td_file = "include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td",
3155    deps = [
3156        ":SparseTensorTransformOpsTdFiles",
3157    ],
3158)
3159
3160# This library is shared by both SparseTensorDialect and
3161# SparseTensorRuntime, so it must not depend on any of the MLIR/LLVM
3162# internals or else mlir_c_runner_utils will inherit that dependency.
3163cc_library(
3164    name = "SparseTensorEnums",
3165    hdrs = ["include/mlir/Dialect/SparseTensor/IR/Enums.h"],
3166    includes = ["include"],
3167)
3168
3169cc_library(
3170    name = "SparseTensorDialect",
3171    srcs = glob([
3172        "lib/Dialect/SparseTensor/IR/*.cpp",
3173        "lib/Dialect/SparseTensor/IR/Detail/*.cpp",
3174        "lib/Dialect/SparseTensor/IR/Detail/*.h",
3175    ]),
3176    hdrs = [
3177        "include/mlir/Dialect/SparseTensor/IR/SparseTensor.h",
3178        "include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h",
3179        "include/mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h",
3180        "include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h",
3181    ],
3182    includes = ["include"],
3183    deps = [
3184        ":ArithDialect",
3185        ":BufferizationInterfaces",
3186        ":BytecodeOpInterface",
3187        ":ComplexDialect",
3188        ":ControlFlowInterfaces",
3189        ":DialectUtils",
3190        ":IR",
3191        ":InferTypeOpInterface",
3192        ":LoopLikeInterface",
3193        ":SideEffectInterfaces",
3194        ":SparseTensorAttrDefsIncGen",
3195        ":SparseTensorEnums",
3196        ":SparseTensorInterfacesIncGen",
3197        ":SparseTensorOpsIncGen",
3198        ":SparseTensorTypesIncGen",
3199        "//llvm:Support",
3200    ],
3201)
3202
3203cc_library(
3204    name = "SparseTensorTransformOps",
3205    srcs = glob([
3206        "lib/Dialect/SparseTensor/TransformOps/*.cpp",
3207    ]),
3208    hdrs = glob([
3209        "include/mlir/Dialect/SparseTensor/TransformOps/*.h",
3210    ]),
3211    includes = ["include"],
3212    deps = [
3213        ":IR",
3214        ":LinalgTransformOps",
3215        ":SparseTensorDialect",
3216        ":SparseTensorTransformOpsIncGen",
3217        ":TransformDialect",
3218        ":TransformDialectInterfaces",
3219    ],
3220)
3221
3222cc_library(
3223    name = "SparseTensorUtils",
3224    srcs = glob([
3225        "lib/Dialect/SparseTensor/Utils/*.cpp",
3226    ]),
3227    hdrs = glob([
3228        "include/mlir/Dialect/SparseTensor/Utils/*.h",
3229    ]),
3230    includes = ["include"],
3231    deps = [
3232        ":ArithDialect",
3233        ":ComplexDialect",
3234        ":IR",
3235        ":LinalgDialect",
3236        ":MathDialect",
3237        ":SparseTensorDialect",
3238        ":SparseTensorEnums",
3239        "//llvm:Support",
3240    ],
3241)
3242
3243cc_library(
3244    name = "SparseTensorTransforms",
3245    srcs = glob([
3246        "lib/Dialect/SparseTensor/Transforms/*.cpp",
3247        "lib/Dialect/SparseTensor/Transforms/Utils/*.cpp",
3248        "lib/Dialect/SparseTensor/Transforms/Utils/*.h",
3249    ]),
3250    hdrs = [
3251        "include/mlir/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.h",
3252        "include/mlir/Dialect/SparseTensor/Transforms/Passes.h",
3253    ],
3254    includes = ["include"],
3255    deps = [
3256        ":AffineDialect",
3257        ":ArithDialect",
3258        ":ArithUtils",
3259        ":BufferizationDialect",
3260        ":BufferizationInterfaces",
3261        ":BufferizationTransforms",
3262        ":ComplexDialect",
3263        ":DialectUtils",
3264        ":FuncDialect",
3265        ":FuncTransforms",
3266        ":GPUDialect",
3267        ":IR",
3268        ":LLVMCommonConversion",
3269        ":LLVMDialect",
3270        ":LinalgDialect",
3271        ":LinalgTransforms",
3272        ":LinalgUtils",
3273        ":MathDialect",
3274        ":MemRefDialect",
3275        ":Pass",
3276        ":SCFDialect",
3277        ":SCFTransforms",
3278        ":SparseTensorDialect",
3279        ":SparseTensorEnums",
3280        ":SparseTensorPassIncGen",
3281        ":SparseTensorUtils",
3282        ":Support",
3283        ":TensorDialect",
3284        ":TransformUtils",
3285        ":Transforms",
3286        ":VectorDialect",
3287        ":VectorTransforms",
3288        "//llvm:Support",
3289    ],
3290)
3291
3292cc_library(
3293    name = "SparseTensorPipelines",
3294    srcs = glob([
3295        "lib/Dialect/SparseTensor/Pipelines/*.cpp",
3296    ]),
3297    hdrs = [
3298        "include/mlir/Dialect/SparseTensor/Pipelines/Passes.h",
3299    ],
3300    includes = ["include"],
3301    local_defines = if_cuda_available(["MLIR_GPU_TO_CUBIN_PASS_ENABLE"]),
3302    deps = [
3303        ":ArithToLLVM",
3304        ":ArithTransforms",
3305        ":BufferizationTransforms",
3306        ":ControlFlowToLLVM",
3307        ":ConversionPasses",
3308        ":FuncDialect",
3309        ":GPUDialect",
3310        ":GPUToNVVMTransforms",
3311        ":GPUTransforms",
3312        ":LinalgTransforms",
3313        ":MemRefTransforms",
3314        ":NVVMDialect",
3315        ":Pass",
3316        ":SparseTensorDialect",
3317        ":SparseTensorTransforms",
3318        ":Transforms",
3319        ":VectorToLLVM",
3320    ],
3321)
3322
3323##---------------------------------------------------------------------------##
3324# Mesh Dialect
3325##---------------------------------------------------------------------------##
3326
3327td_library(
3328    name = "MeshTdFiles",
3329    srcs = [
3330        "include/mlir/Dialect/Mesh/IR/MeshBase.td",
3331        "include/mlir/Dialect/Mesh/IR/MeshOps.td",
3332    ],
3333    includes = ["include"],
3334    deps = [
3335        ":BuiltinDialectTdFiles",
3336        ":DestinationStyleOpInterfaceTdFiles",
3337        ":InferTypeOpInterfaceTdFiles",
3338        ":SideEffectInterfacesTdFiles",
3339    ],
3340)
3341
3342gentbl_cc_library(
3343    name = "MeshIncGen",
3344    tbl_outs = [
3345        (
3346            [
3347                "-gen-op-decls",
3348                "-dialect=mesh",
3349            ],
3350            "include/mlir/Dialect/Mesh/IR/MeshOps.h.inc",
3351        ),
3352        (
3353            [
3354                "-gen-op-defs",
3355                "-dialect=mesh",
3356            ],
3357            "include/mlir/Dialect/Mesh/IR/MeshOps.cpp.inc",
3358        ),
3359        (
3360            [
3361                "-gen-dialect-decls",
3362                "-dialect=mesh",
3363            ],
3364            "include/mlir/Dialect/Mesh/IR/MeshDialect.h.inc",
3365        ),
3366        (
3367            [
3368                "-gen-dialect-defs",
3369                "-dialect=mesh",
3370            ],
3371            "include/mlir/Dialect/Mesh/IR/MeshDialect.cpp.inc",
3372        ),
3373        (
3374            [
3375                "-gen-enum-decls",
3376                "-dialect=mesh",
3377            ],
3378            "include/mlir/Dialect/Mesh/IR/MeshEnums.h.inc",
3379        ),
3380        (
3381            [
3382                "-gen-enum-defs",
3383                "-dialect=mesh",
3384            ],
3385            "include/mlir/Dialect/Mesh/IR/MeshEnums.cpp.inc",
3386        ),
3387        (
3388            [
3389                "-gen-attrdef-decls",
3390                "-dialect=mesh",
3391            ],
3392            "include/mlir/Dialect/Mesh/IR/MeshAttributes.h.inc",
3393        ),
3394        (
3395            [
3396                "-gen-attrdef-defs",
3397                "-dialect=mesh",
3398            ],
3399            "include/mlir/Dialect/Mesh/IR/MeshAttributes.cpp.inc",
3400        ),
3401        (
3402            [
3403                "-gen-typedef-decls",
3404                "-typedefs-dialect=mesh",
3405            ],
3406            "include/mlir/Dialect/Mesh/IR/MeshTypes.h.inc",
3407        ),
3408        (
3409            [
3410                "-gen-typedef-defs",
3411                "-typedefs-dialect=mesh",
3412            ],
3413            "include/mlir/Dialect/Mesh/IR/MeshTypes.cpp.inc",
3414        ),
3415    ],
3416    tblgen = ":mlir-tblgen",
3417    td_file = "include/mlir/Dialect/Mesh/IR/MeshOps.td",
3418    deps = [
3419        ":MeshTdFiles",
3420        ":ShapeOpsTdFiles",
3421    ],
3422)
3423
3424gentbl_cc_library(
3425    name = "MeshShardingInterfaceIncGen",
3426    tbl_outs = [
3427        (
3428            ["-gen-op-interface-decls"],
3429            "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h.inc",
3430        ),
3431        (
3432            ["-gen-op-interface-defs"],
3433            "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.cpp.inc",
3434        ),
3435    ],
3436    tblgen = ":mlir-tblgen",
3437    td_file = "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td",
3438    deps = [":OpBaseTdFiles"],
3439)
3440
3441cc_library(
3442    name = "MeshShardingInterface",
3443    srcs = ["lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp"],
3444    hdrs = [
3445        "include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h",
3446        "include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h",
3447    ],
3448    includes = ["include"],
3449    deps = [
3450        ":DialectUtils",
3451        ":IR",
3452        ":MeshDialect",
3453        ":MeshShardingInterfaceIncGen",
3454        ":Support",
3455        ":TensorDialect",
3456        "//llvm:Support",
3457    ],
3458)
3459
3460cc_library(
3461    name = "MeshDialect",
3462    srcs = ["lib/Dialect/Mesh/IR/MeshOps.cpp"],
3463    hdrs = [
3464        "include/mlir/Dialect/Mesh/IR/MeshDialect.h",
3465        "include/mlir/Dialect/Mesh/IR/MeshOps.h",
3466    ],
3467    includes = ["include"],
3468    deps = [
3469        ":ArithDialect",
3470        ":BytecodeOpInterface",
3471        ":DestinationStyleOpInterface",
3472        ":DialectUtils",
3473        ":IR",
3474        ":InferTypeOpInterface",
3475        ":InliningUtils",
3476        ":MeshIncGen",
3477        ":SideEffectInterfaces",
3478        ":Support",
3479        ":ViewLikeInterface",
3480        "//llvm:Support",
3481    ],
3482)
3483
3484gentbl_cc_library(
3485    name = "MeshTransformsPassIncGen",
3486    tbl_outs = [
3487        (
3488            [
3489                "-gen-pass-decls",
3490                "-name=Mesh",
3491            ],
3492            "include/mlir/Dialect/Mesh/Transforms/Passes.h.inc",
3493        ),
3494    ],
3495    tblgen = ":mlir-tblgen",
3496    td_file = "include/mlir/Dialect/Mesh/Transforms/Passes.td",
3497    deps = [":PassBaseTdFiles"],
3498)
3499
3500cc_library(
3501    name = "MeshTransforms",
3502    srcs = glob([
3503        "lib/Dialect/Mesh/Transforms/*.cpp",
3504        "lib/Dialect/Mesh/Transforms/*.h",
3505    ]),
3506    hdrs = glob(["include/mlir/Dialect/Mesh/Transforms/*.h"]),
3507    includes = ["include"],
3508    deps = [
3509        ":AffineDialect",
3510        ":AffineUtils",
3511        ":ArithDialect",
3512        ":ArithUtils",
3513        ":ControlFlowDialect",
3514        ":ControlFlowInterfaces",
3515        ":DialectUtils",
3516        ":FuncDialect",
3517        ":FunctionInterfaces",
3518        ":IR",
3519        ":MeshDialect",
3520        ":MeshShardingInterface",
3521        ":MeshTransformsPassIncGen",
3522        ":Pass",
3523        ":Support",
3524        ":TensorDialect",
3525        ":Transforms",
3526        "//llvm:Support",
3527    ],
3528)
3529
3530cc_library(
3531    name = "MeshToMPIConversion",
3532    srcs = glob([
3533        "lib/Conversion/MeshToMPI/*.cpp",
3534    ]),
3535    hdrs = glob(["include/mlir/Conversion/MeshToMPI/*.h"]),
3536    includes = ["include"],
3537    deps = [
3538        ":ArithDialect",
3539        ":BufferizationDialect",
3540        ":ConversionPassIncGen",
3541        ":DialectUtils",
3542        ":IR",
3543        ":MPIDialect",
3544        ":MemRefDialect",
3545        ":MeshDialect",
3546        ":Pass",
3547        ":SCFDialect",
3548        ":Support",
3549        ":TensorDialect",
3550        ":TransformUtils",
3551        "//llvm:Support",
3552    ],
3553)
3554
3555##---------------------------------------------------------------------------##
3556# NVGPU dialect.
3557##---------------------------------------------------------------------------##
3558
3559td_library(
3560    name = "NVGPUTdFiles",
3561    srcs = ["include/mlir/Dialect/NVGPU/IR/NVGPU.td"],
3562    includes = ["include"],
3563    deps = [
3564        ":InferTypeOpInterfaceTdFiles",
3565        ":SideEffectInterfacesTdFiles",
3566    ],
3567)
3568
3569gentbl_cc_library(
3570    name = "NVGPUIncGen",
3571    tbl_outs = [
3572        (
3573            [
3574                "-gen-dialect-decls",
3575                "-dialect=nvgpu",
3576            ],
3577            "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h.inc",
3578        ),
3579        (
3580            [
3581                "-gen-dialect-defs",
3582                "-dialect=nvgpu",
3583            ],
3584            "include/mlir/Dialect/NVGPU/IR/NVGPUDialect.cpp.inc",
3585        ),
3586        (
3587            ["-gen-op-decls"],
3588            "include/mlir/Dialect/NVGPU/IR/NVGPU.h.inc",
3589        ),
3590        (
3591            ["-gen-op-defs"],
3592            "include/mlir/Dialect/NVGPU/IR/NVGPU.cpp.inc",
3593        ),
3594        (
3595            ["-gen-op-doc"],
3596            "g3doc/Dialects/NVGPU/NVGPU.md",
3597        ),
3598        (
3599            ["-gen-typedef-decls"],
3600            "include/mlir/Dialect/NVGPU/IR/NVGPUTypes.h.inc",
3601        ),
3602        (
3603            ["-gen-typedef-defs"],
3604            "include/mlir/Dialect/NVGPU/IR/NVGPUTypes.cpp.inc",
3605        ),
3606        (
3607            ["-gen-enum-decls"],
3608            "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.h.inc",
3609        ),
3610        (
3611            ["-gen-enum-defs"],
3612            "include/mlir/Dialect/NVGPU/IR/NVGPUEnums.cpp.inc",
3613        ),
3614        (
3615            ["-gen-attrdef-decls"],
3616            "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.h.inc",
3617        ),
3618        (
3619            ["-gen-attrdef-defs"],
3620            "include/mlir/Dialect/NVGPU/IR/NVGPUAttrDefs.cpp.inc",
3621        ),
3622    ],
3623    tblgen = ":mlir-tblgen",
3624    td_file = "include/mlir/Dialect/NVGPU/IR/NVGPU.td",
3625    deps = [":NVGPUTdFiles"],
3626)
3627
3628gentbl_cc_library(
3629    name = "NVGPUPassIncGen",
3630    tbl_outs = [
3631        (
3632            [
3633                "-gen-pass-decls",
3634                "-name=NVGPU",
3635            ],
3636            "include/mlir/Dialect/NVGPU/Transforms/Passes.h.inc",
3637        ),
3638    ],
3639    tblgen = ":mlir-tblgen",
3640    td_file = "include/mlir/Dialect/NVGPU/Transforms/Passes.td",
3641    deps = [":PassBaseTdFiles"],
3642)
3643
3644cc_library(
3645    name = "NVGPUDialect",
3646    srcs = ["lib/Dialect/NVGPU/IR/NVGPUDialect.cpp"],
3647    hdrs = ["include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h"],
3648    includes = ["include"],
3649    deps = [
3650        ":BytecodeOpInterface",
3651        ":GPUDialect",
3652        ":IR",
3653        ":InferTypeOpInterface",
3654        ":LLVMDialect",
3655        ":NVGPUIncGen",
3656        ":SideEffectInterfaces",
3657        "//llvm:Support",
3658    ],
3659)
3660
3661cc_library(
3662    name = "NVGPUTransformOps",
3663    srcs = glob([
3664        "lib/Dialect/NVGPU/TransformOps/*.cpp",
3665    ]),
3666    hdrs = glob([
3667        "include/mlir/Dialect/NVGPU/TransformOps/*.h",
3668    ]),
3669    includes = ["include"],
3670    deps = [
3671        ":AffineDialect",
3672        ":Analysis",
3673        ":ArithDialect",
3674        ":ArithUtils",
3675        ":DialectUtils",
3676        ":GPUDialect",
3677        ":GPUToGPURuntimeTransforms",
3678        ":IR",
3679        ":LLVMCommonConversion",
3680        ":LinalgDialect",
3681        ":MemRefDialect",
3682        ":NVGPUDialect",
3683        ":NVGPUToNVVM",
3684        ":NVGPUTransformOpsIncGen",
3685        ":NVGPUTransforms",
3686        ":NVVMDialect",
3687        ":SCFDialect",
3688        ":SCFTransforms",
3689        ":TransformDialect",
3690        ":TransformDialectInterfaces",
3691        ":VectorDialect",
3692        "//llvm:Support",
3693    ],
3694)
3695
3696td_library(
3697    name = "NVGPUTransformOpsTdFiles",
3698    srcs = glob([
3699        "include/mlir/Dialect/NVGPU/TransformOps/*.td",
3700    ]),
3701    includes = ["include"],
3702    deps = [
3703        ":TransformDialectTdFiles",
3704    ],
3705)
3706
3707gentbl_cc_library(
3708    name = "NVGPUTransformOpsIncGen",
3709    tbl_outs = [
3710        (
3711            ["-gen-op-decls"],
3712            "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.h.inc",
3713        ),
3714        (
3715            ["-gen-op-defs"],
3716            "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp.inc",
3717        ),
3718    ],
3719    tblgen = ":mlir-tblgen",
3720    td_file = "include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td",
3721    deps = [
3722        ":NVGPUTransformOpsTdFiles",
3723    ],
3724)
3725
3726cc_library(
3727    name = "NVGPUUtils",
3728    srcs = ["lib/Dialect/NVGPU/Utils/MMAUtils.cpp"],
3729    hdrs = ["include/mlir/Dialect/NVGPU/Utils/MMAUtils.h"],
3730    includes = ["include"],
3731    deps = [
3732        ":AffineDialect",
3733        ":ArithDialect",
3734        ":IR",
3735        ":NVGPUDialect",
3736        ":NVVMDialect",
3737        ":VectorDialect",
3738    ],
3739)
3740
3741cc_library(
3742    name = "NVGPUTransforms",
3743    srcs = glob([
3744        "lib/Dialect/NVGPU/Transforms/*.cpp",
3745    ]),
3746    hdrs = glob([
3747        "include/mlir/Dialect/NVGPU/Transforms/*.h",
3748    ]),
3749    includes = ["include"],
3750    deps = [
3751        ":ArithDialect",
3752        ":GPUDialect",
3753        ":IR",
3754        ":MemRefDialect",
3755        ":NVGPUDialect",
3756        ":NVGPUPassIncGen",
3757        ":Pass",
3758        ":SideEffectInterfaces",
3759        ":Support",
3760        ":VectorDialect",
3761        "//llvm:Support",
3762    ],
3763)
3764
3765##---------------------------------------------------------------------------##
3766# XeGPU dialect.
3767##---------------------------------------------------------------------------##
3768
3769td_library(
3770    name = "XeGPUTdFiles",
3771    srcs = glob(["include/mlir/Dialect/XeGPU/IR/*.td"]),
3772    includes = ["include"],
3773    deps = [
3774        ":BuiltinDialectTdFiles",
3775        ":OpBaseTdFiles",
3776        ":ShapedOpInterfacesTdFiles",
3777        ":ViewLikeInterfaceTdFiles",
3778    ],
3779)
3780
3781gentbl_cc_library(
3782    name = "XeGPUIncGen",
3783    tbl_outs = [
3784        (
3785            [
3786                "-gen-dialect-decls",
3787                "-dialect=xegpu",
3788            ],
3789            "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.h.inc",
3790        ),
3791        (
3792            [
3793                "-gen-dialect-defs",
3794                "-dialect=xegpu",
3795            ],
3796            "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.cpp.inc",
3797        ),
3798        (
3799            ["-gen-op-decls"],
3800            "include/mlir/Dialect/XeGPU/IR/XeGPU.h.inc",
3801        ),
3802        (
3803            ["-gen-op-defs"],
3804            "include/mlir/Dialect/XeGPU/IR/XeGPU.cpp.inc",
3805        ),
3806        (
3807            ["-gen-op-doc"],
3808            "g3doc/Dialects/XeGPU/XeGPU.md",
3809        ),
3810        (
3811            [
3812                "-gen-typedef-decls",
3813                "-typedefs-dialect=xegpu",
3814            ],
3815            "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.h.inc",
3816        ),
3817        (
3818            [
3819                "-gen-typedef-defs",
3820                "-typedefs-dialect=xegpu",
3821            ],
3822            "include/mlir/Dialect/XeGPU/IR/XeGPUTypes.cpp.inc",
3823        ),
3824        (
3825            [
3826                "-gen-attrdef-decls",
3827                "-attrdefs-dialect=xegpu",
3828            ],
3829            "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.h.inc",
3830        ),
3831        (
3832            [
3833                "-gen-attrdef-defs",
3834                "-attrdefs-dialect=xegpu",
3835            ],
3836            "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.cpp.inc",
3837        ),
3838    ],
3839    tblgen = ":mlir-tblgen",
3840    td_file = "include/mlir/Dialect/XeGPU/IR/XeGPU.td",
3841    deps = [
3842        ":ArithOpsTdFiles",
3843        ":XeGPUTdFiles",
3844    ],
3845)
3846
3847td_library(
3848    name = "XeGPUAttrTdFiles",
3849    srcs = [
3850        "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td",
3851        "include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td",
3852    ],
3853    includes = ["include"],
3854    deps = [
3855        ":BuiltinDialectTdFiles",
3856        ":OpBaseTdFiles",
3857        ":ShapedOpInterfacesTdFiles",
3858        ":ViewLikeInterfaceTdFiles",
3859    ],
3860)
3861
3862# Separated from the XeGPUIncGen target because the enum declaration causes
3863# duplicate declarations with the Arith enums.
3864gentbl_cc_library(
3865    name = "XeGPUEnumsIncGen",
3866    tbl_outs = [
3867        (
3868            ["-gen-enum-decls"],
3869            "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.h.inc",
3870        ),
3871        (
3872            ["-gen-enum-defs"],
3873            "include/mlir/Dialect/XeGPU/IR/XeGPUEnums.cpp.inc",
3874        ),
3875    ],
3876    tblgen = ":mlir-tblgen",
3877    td_file = "include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td",
3878    deps = [":XeGPUAttrTdFiles"],
3879)
3880
3881cc_library(
3882    name = "XeGPUDialect",
3883    srcs = [
3884        "lib/Dialect/XeGPU/IR/XeGPUDialect.cpp",
3885        "lib/Dialect/XeGPU/IR/XeGPUOps.cpp",
3886    ],
3887    hdrs = ["include/mlir/Dialect/XeGPU/IR/XeGPU.h"],
3888    includes = ["include"],
3889    deps = [
3890        ":ArithDialect",
3891        ":ArithUtils",
3892        ":BytecodeOpInterface",
3893        ":DialectUtils",
3894        ":IR",
3895        ":MaskableOpInterface",
3896        ":ShapedOpInterfaces",
3897        ":SideEffectInterfaces",
3898        ":VectorDialect",
3899        ":ViewLikeInterface",
3900        ":XeGPUEnumsIncGen",
3901        ":XeGPUIncGen",
3902        "//llvm:Support",
3903    ],
3904)
3905
3906gentbl_cc_library(
3907    name = "XeGPUPassIncGen",
3908    tbl_outs = [
3909        (
3910            [
3911                "-gen-pass-decls",
3912                "-name=XeGPU",
3913            ],
3914            "include/mlir/Dialect/XeGPU/Transforms/Passes.h.inc",
3915        ),
3916    ],
3917    tblgen = ":mlir-tblgen",
3918    td_file = "include/mlir/Dialect/XeGPU/Transforms/Passes.td",
3919    deps = [":PassBaseTdFiles"],
3920)
3921
3922cc_library(
3923    name = "XeGPUTransforms",
3924    srcs = glob([
3925        "lib/Dialect/XeGPU/Transforms/*.cpp",
3926    ]),
3927    hdrs = glob([
3928        "include/mlir/Dialect/XeGPU/Transforms/*.h",
3929    ]),
3930    includes = ["include"],
3931    deps = [
3932        ":AffineUtils",
3933        ":IR",
3934        ":MemRefDialect",
3935        ":Pass",
3936        ":SideEffectInterfaces",
3937        ":Support",
3938        ":TransformUtils",
3939        ":XeGPUDialect",
3940        ":XeGPUPassIncGen",
3941        "//llvm:Support",
3942    ],
3943)
3944
3945td_library(
3946    name = "FuncTdFiles",
3947    srcs = [
3948        "include/mlir/Dialect/Func/IR/FuncOps.td",
3949    ],
3950    includes = ["include"],
3951    deps = [
3952        ":AttrTdFiles",
3953        ":CallInterfacesTdFiles",
3954        ":CastInterfacesTdFiles",
3955        ":ControlFlowInterfacesTdFiles",
3956        ":FunctionInterfacesTdFiles",
3957        ":InferTypeOpInterfaceTdFiles",
3958        ":OpBaseTdFiles",
3959        ":SideEffectInterfacesTdFiles",
3960        ":VectorInterfacesTdFiles",
3961    ],
3962)
3963
3964gentbl_cc_library(
3965    name = "FuncIncGen",
3966    tbl_outs = [
3967        (
3968            ["-gen-op-decls"],
3969            "include/mlir/Dialect/Func/IR/FuncOps.h.inc",
3970        ),
3971        (
3972            ["-gen-op-defs"],
3973            "include/mlir/Dialect/Func/IR/FuncOps.cpp.inc",
3974        ),
3975        (
3976            ["-gen-dialect-decls"],
3977            "include/mlir/Dialect/Func/IR/FuncOpsDialect.h.inc",
3978        ),
3979        (
3980            ["-gen-dialect-defs"],
3981            "include/mlir/Dialect/Func/IR/FuncOpsDialect.cpp.inc",
3982        ),
3983        (
3984            ["-gen-enum-decls"],
3985            "include/mlir/Dialect/Func/IR/FuncOpsEnums.h.inc",
3986        ),
3987        (
3988            ["-gen-enum-defs"],
3989            "include/mlir/Dialect/Func/IR/FuncOpsEnums.cpp.inc",
3990        ),
3991    ],
3992    tblgen = ":mlir-tblgen",
3993    td_file = "include/mlir/Dialect/Func/IR/FuncOps.td",
3994    deps = [":FuncTdFiles"],
3995)
3996
3997cc_library(
3998    name = "Dialect",
3999    srcs = glob([
4000        "lib/Dialect/*.cpp",
4001    ]),
4002    hdrs = glob(
4003        include = ["include/mlir/Dialect/*.h"],
4004        exclude = ["include/mlir/Dialect/CommonFolders.h"],
4005    ),
4006    includes = ["include"],
4007    deps = [
4008        ":IR",
4009        "//llvm:Support",
4010    ],
4011)
4012
4013td_library(
4014    name = "DialectUtilsTdFiles",
4015    srcs = [
4016        "include/mlir/Dialect/Utils/StructuredOpsUtils.td",
4017    ],
4018    includes = ["include"],
4019    deps = [":OpBaseTdFiles"],
4020)
4021
4022gentbl_cc_library(
4023    name = "DialectUtilsIncGen",
4024    tbl_outs = [
4025        (
4026            ["-gen-enum-decls"],
4027            "include/mlir/Dialect/Utils/DialectUtilsEnums.h.inc",
4028        ),
4029        (
4030            ["-gen-enum-defs"],
4031            "include/mlir/Dialect/Utils/DialectUtilsEnums.cpp.inc",
4032        ),
4033    ],
4034    tblgen = ":mlir-tblgen",
4035    td_file = "include/mlir/Dialect/Utils/StructuredOpsUtils.td",
4036    deps = [":DialectUtilsTdFiles"],
4037)
4038
4039cc_library(
4040    name = "DialectUtils",
4041    srcs = glob([
4042        "lib/Dialect/Utils/*.cpp",
4043    ]),
4044    hdrs = glob([
4045        "include/mlir/Dialect/Utils/*.h",
4046    ]),
4047    includes = ["include"],
4048    deps = [
4049        ":DialectUtilsIncGen",
4050        ":IR",
4051        ":Support",
4052        "//llvm:Support",
4053    ],
4054)
4055
4056cc_library(
4057    name = "AffineDialect",
4058    srcs = glob([
4059        "lib/Dialect/Affine/IR/*.cpp",
4060    ]),
4061    hdrs = glob([
4062        "include/mlir/Dialect/Affine/IR/*.h",
4063    ]),
4064    includes = ["include"],
4065    deps = [
4066        ":AffineMemoryOpInterfacesIncGen",
4067        ":AffineOpsIncGen",
4068        ":ArithDialect",
4069        ":ControlFlowInterfaces",
4070        ":DialectUtils",
4071        ":IR",
4072        ":InliningUtils",
4073        ":LoopLikeInterface",
4074        ":MemRefDialect",
4075        ":ShapedOpInterfaces",
4076        ":Support",
4077        ":UBDialect",
4078        ":ValueBoundsOpInterface",
4079        "//llvm:Support",
4080    ],
4081)
4082
4083cc_library(
4084    name = "EmitCDialect",
4085    srcs = glob([
4086        "lib/Dialect/EmitC/IR/*.cpp",
4087    ]),
4088    hdrs = glob([
4089        "include/mlir/Dialect/EmitC/IR/*.h",
4090    ]),
4091    includes = ["include"],
4092    deps = [
4093        ":BytecodeOpInterface",
4094        ":CastInterfaces",
4095        ":ControlFlowInterfaces",
4096        ":EmitCAttributesIncGen",
4097        ":EmitCOpsIncGen",
4098        ":FunctionInterfaces",
4099        ":IR",
4100        ":SideEffectInterfaces",
4101        "//llvm:Support",
4102    ],
4103)
4104
4105cc_library(
4106    name = "EmitCTransforms",
4107    srcs = glob([
4108        "lib/Dialect/EmitC/Transforms/*.cpp",
4109    ]),
4110    hdrs = glob([
4111        "include/mlir/Dialect/EmitC/Transforms/*.h",
4112    ]),
4113    includes = ["include"],
4114    deps = [
4115        ":EmitCDialect",
4116        ":EmitCPassIncGen",
4117        ":IR",
4118        ":Pass",
4119        ":TransformUtils",
4120        "//llvm:Support",
4121    ],
4122)
4123
4124cc_library(
4125    name = "AsyncDialect",
4126    srcs = glob([
4127        "lib/Dialect/Async/IR/*.cpp",
4128    ]),
4129    hdrs = glob([
4130        "include/mlir/Dialect/Async/IR/*.h",
4131    ]),
4132    includes = ["include"],
4133    deps = [
4134        ":AsyncOpsIncGen",
4135        ":BytecodeOpInterface",
4136        ":CallOpInterfaces",
4137        ":ControlFlowInterfaces",
4138        ":FunctionInterfaces",
4139        ":IR",
4140        ":InferTypeOpInterface",
4141        ":SideEffectInterfaces",
4142        "//llvm:Support",
4143    ],
4144)
4145
4146cc_library(
4147    name = "AsyncTransforms",
4148    srcs = glob([
4149        "lib/Dialect/Async/Transforms/*.cpp",
4150        "lib/Dialect/Async/Transforms/*.h",
4151    ]),
4152    hdrs = [
4153        "include/mlir/Dialect/Async/Passes.h",
4154        "include/mlir/Dialect/Async/Transforms.h",
4155    ],
4156    includes = ["include"],
4157    deps = [
4158        ":Analysis",
4159        ":ArithDialect",
4160        ":AsyncDialect",
4161        ":AsyncPassIncGen",
4162        ":ControlFlowDialect",
4163        ":FuncDialect",
4164        ":IR",
4165        ":Pass",
4166        ":SCFDialect",
4167        ":SCFToControlFlow",
4168        ":Support",
4169        ":TransformUtils",
4170        "//llvm:Support",
4171    ],
4172)
4173
4174cc_library(
4175    name = "AffineAnalysis",
4176    srcs = glob([
4177        "lib/Dialect/Affine/Analysis/*.cpp",
4178    ]),
4179    hdrs = glob(["include/mlir/Dialect/Affine/Analysis/*.h"]),
4180    includes = ["include"],
4181    deps = [
4182        ":AffineDialect",
4183        ":Analysis",
4184        ":ArithDialect",
4185        ":CallOpInterfaces",
4186        ":DialectUtils",
4187        ":IR",
4188        ":SideEffectInterfaces",
4189        ":Support",
4190        ":ViewLikeInterface",
4191        "//llvm:Support",
4192    ],
4193)
4194
4195cc_library(
4196    name = "AffineUtils",
4197    srcs = glob(
4198        [
4199            "lib/Dialect/Affine/Utils/*.cpp",
4200        ],
4201    ),
4202    hdrs = [
4203        "include/mlir/Dialect/Affine/LoopFusionUtils.h",
4204        "include/mlir/Dialect/Affine/LoopUtils.h",
4205        "include/mlir/Dialect/Affine/Utils.h",
4206        "include/mlir/Dialect/Affine/ViewLikeInterfaceUtils.h",
4207    ],
4208    includes = ["include"],
4209    deps = [
4210        ":AffineAnalysis",
4211        ":AffineDialect",
4212        ":Analysis",
4213        ":ArithUtils",
4214        ":DialectUtils",
4215        ":FuncDialect",
4216        ":IR",
4217        ":MemRefDialect",
4218        ":SCFDialect",
4219        ":Support",
4220        ":TransformUtils",
4221        ":ViewLikeInterface",
4222        "//llvm:Support",
4223    ],
4224)
4225
4226gentbl_cc_library(
4227    name = "AffinePassIncGen",
4228    tbl_outs = [
4229        (
4230            [
4231                "-gen-pass-decls",
4232                "-name=Affine",
4233            ],
4234            "include/mlir/Dialect/Affine/Passes.h.inc",
4235        ),
4236    ],
4237    tblgen = ":mlir-tblgen",
4238    td_file = "include/mlir/Dialect/Affine/Passes.td",
4239    deps = [":PassBaseTdFiles"],
4240)
4241
4242cc_library(
4243    name = "AffineTransforms",
4244    srcs = glob([
4245        "lib/Dialect/Affine/Transforms/*.cpp",
4246    ]),
4247    hdrs = [
4248        "include/mlir/Dialect/Affine/Passes.h",
4249        "include/mlir/Dialect/Affine/Transforms/Transforms.h",
4250    ],
4251    includes = ["include"],
4252    deps = [
4253        ":AffineAnalysis",
4254        ":AffineDialect",
4255        ":AffinePassIncGen",
4256        ":AffineUtils",
4257        ":Analysis",
4258        ":ArithDialect",
4259        ":ArithUtils",
4260        ":FuncDialect",
4261        ":IR",
4262        ":MemRefDialect",
4263        ":Pass",
4264        ":SCFDialect",
4265        ":SCFUtils",
4266        ":SideEffectInterfaces",
4267        ":Support",
4268        ":TensorDialect",
4269        ":TransformUtils",
4270        ":Transforms",
4271        ":ValueBoundsOpInterface",
4272        ":VectorDialect",
4273        ":VectorUtils",
4274        "//llvm:Support",
4275    ],
4276)
4277
4278gentbl_cc_library(
4279    name = "ConversionPassIncGen",
4280    tbl_outs = [
4281        (
4282            [
4283                "-gen-pass-decls",
4284                "-name=Conversion",
4285            ],
4286            "include/mlir/Conversion/Passes.h.inc",
4287        ),
4288        (
4289            [
4290                "-gen-pass-capi-header",
4291                "--prefix=Conversion",
4292            ],
4293            "include/mlir/Conversion/Passes.capi.h.inc",
4294        ),
4295        (
4296            [
4297                "-gen-pass-capi-impl",
4298                "--prefix=Conversion",
4299            ],
4300            "include/mlir/Conversion/Passes.capi.cpp.inc",
4301        ),
4302    ],
4303    tblgen = ":mlir-tblgen",
4304    td_file = "include/mlir/Conversion/Passes.td",
4305    deps = [":PassBaseTdFiles"],
4306)
4307
4308cc_library(
4309    name = "ConversionPasses",
4310    hdrs = ["include/mlir/Conversion/Passes.h"],
4311    includes = ["include"],
4312    deps = [
4313        ":AMDGPUToROCDL",
4314        ":AffineToStandard",
4315        ":ArithToAMDGPU",
4316        ":ArithToArmSME",
4317        ":ArithToEmitC",
4318        ":ArithToLLVM",
4319        ":ArithToSPIRV",
4320        ":ArmNeon2dToIntr",
4321        ":ArmSMEToLLVM",
4322        ":ArmSMEToSCF",
4323        ":AsyncToLLVM",
4324        ":BufferizationToMemRef",
4325        ":ComplexToLLVM",
4326        ":ComplexToLibm",
4327        ":ComplexToSPIRV",
4328        ":ComplexToStandard",
4329        ":ControlFlowToLLVM",
4330        ":ControlFlowToSCF",
4331        ":ControlFlowToSPIRV",
4332        ":ConversionPassIncGen",
4333        ":ConvertToLLVM",
4334        ":FuncToEmitC",
4335        ":FuncToLLVM",
4336        ":FuncToSPIRV",
4337        ":GPUToGPURuntimeTransforms",
4338        ":GPUToLLVMSPVTransforms",
4339        ":GPUToNVVMTransforms",
4340        ":GPUToROCDLTransforms",
4341        ":GPUToSPIRV",
4342        ":IndexToLLVM",
4343        ":IndexToSPIRV",
4344        ":LinalgToStandard",
4345        ":MathToEmitC",
4346        ":MathToFuncs",
4347        ":MathToLLVM",
4348        ":MathToLibm",
4349        ":MathToROCDL",
4350        ":MathToSPIRV",
4351        ":MemRefToEmitC",
4352        ":MemRefToLLVM",
4353        ":MemRefToSPIRV",
4354        ":MeshToMPIConversion",
4355        ":NVGPUToNVVM",
4356        ":NVVMToLLVM",
4357        ":OpenACCToSCF",
4358        ":OpenMPToLLVM",
4359        ":PDLToPDLInterp",
4360        ":ReconcileUnrealizedCasts",
4361        ":SCFToControlFlow",
4362        ":SCFToEmitC",
4363        ":SCFToGPU",
4364        ":SCFToOpenMP",
4365        ":SCFToSPIRV",
4366        ":SPIRVToLLVM",
4367        ":ShapeToStandard",
4368        ":TensorToLinalg",
4369        ":TensorToSPIRV",
4370        ":TosaToArith",
4371        ":TosaToLinalg",
4372        ":TosaToMLProgram",
4373        ":TosaToSCF",
4374        ":TosaToTensor",
4375        ":UBToLLVM",
4376        ":UBToSPIRV",
4377        ":VectorToArmSME",
4378        ":VectorToGPU",
4379        ":VectorToLLVM",
4380        ":VectorToSCF",
4381        ":VectorToSPIRV",
4382        ":VectorToXeGPU",
4383    ],
4384)
4385
4386cc_library(
4387    name = "AsyncToLLVM",
4388    srcs = glob([
4389        "lib/Conversion/AsyncToLLVM/*.cpp",
4390    ]),
4391    hdrs = glob(["include/mlir/Conversion/AsyncToLLVM/*.h"]),
4392    includes = ["include"],
4393    deps = [
4394        ":ArithDialect",
4395        ":AsyncDialect",
4396        ":ConversionPassIncGen",
4397        ":ConvertToLLVMInterface",
4398        ":FuncDialect",
4399        ":FuncToLLVM",
4400        ":FuncTransforms",
4401        ":IR",
4402        ":LLVMCommonConversion",
4403        ":LLVMDialect",
4404        ":Pass",
4405        ":TransformUtils",
4406        "//llvm:Support",
4407    ],
4408)
4409
4410cc_library(
4411    name = "AffineToStandard",
4412    srcs = glob([
4413        "lib/Conversion/AffineToStandard/*.cpp",
4414    ]),
4415    hdrs = glob(["include/mlir/Conversion/AffineToStandard/*.h"]),
4416    includes = ["include"],
4417    deps = [
4418        ":AffineDialect",
4419        ":AffineTransforms",
4420        ":AffineUtils",
4421        ":ConversionPassIncGen",
4422        ":IR",
4423        ":MemRefDialect",
4424        ":SCFDialect",
4425        ":Support",
4426        ":TransformUtils",
4427        ":Transforms",
4428        ":VectorDialect",
4429    ],
4430)
4431
4432cc_library(
4433    name = "SCFDialect",
4434    srcs = glob(
4435        [
4436            "lib/Dialect/SCF/IR/*.cpp",
4437        ],
4438    ),
4439    hdrs = glob(
4440        [
4441            "include/mlir/Dialect/SCF/IR/*.h",
4442        ],
4443    ),
4444    includes = ["include"],
4445    deps = [
4446        ":ArithDialect",
4447        ":ArithUtils",
4448        ":BufferizationInterfaces",
4449        ":ControlFlowDialect",
4450        ":ControlFlowInterfaces",
4451        ":DestinationStyleOpInterface",
4452        ":FunctionInterfaces",
4453        ":IR",
4454        ":InferTypeOpInterface",
4455        ":InliningUtils",
4456        ":LoopLikeInterface",
4457        ":MemRefDialect",
4458        ":ParallelCombiningOpInterface",
4459        ":SCFDeviceMappingInterfacesIncGen",
4460        ":SCFIncGen",
4461        ":SideEffectInterfaces",
4462        ":Support",
4463        ":TensorDialect",
4464        ":ValueBoundsOpInterface",
4465        ":ViewLikeInterface",
4466        "//llvm:Support",
4467    ],
4468)
4469
4470cc_library(
4471    name = "SCFUtils",
4472    srcs = glob(
4473        [
4474            "lib/Dialect/SCF/Utils/*.cpp",
4475        ],
4476    ),
4477    hdrs = glob(
4478        [
4479            "include/mlir/Dialect/SCF/Utils/*.h",
4480        ],
4481    ),
4482    includes = ["include"],
4483    deps = [
4484        ":AffineAnalysis",
4485        ":AffineDialect",
4486        ":Analysis",
4487        ":ArithDialect",
4488        ":ArithUtils",
4489        ":DialectUtils",
4490        ":FuncDialect",
4491        ":IR",
4492        ":SCFDialect",
4493        ":SideEffectInterfaces",
4494        ":Support",
4495        ":TransformUtils",
4496        "//llvm:Support",
4497    ],
4498)
4499
4500cc_library(
4501    name = "InferIntRangeCommon",
4502    srcs = [
4503        "lib/Interfaces/Utils/InferIntRangeCommon.cpp",
4504    ],
4505    hdrs = ["include/mlir/Interfaces/Utils/InferIntRangeCommon.h"],
4506    includes = ["include"],
4507    deps = [
4508        ":InferIntRangeInterface",
4509        "//llvm:Support",
4510    ],
4511)
4512
4513cc_library(
4514    name = "DataLayoutInterfaces",
4515    srcs = ["lib/Interfaces/DataLayoutInterfaces.cpp"],
4516    hdrs = ["include/mlir/Interfaces/DataLayoutInterfaces.h"],
4517    includes = ["include"],
4518    deps = [
4519        ":DataLayoutInterfacesIncGen",
4520        ":IR",
4521        "//llvm:Support",
4522    ],
4523)
4524
4525cc_library(
4526    name = "InliningUtils",
4527    srcs = ["lib/Transforms/Utils/InliningUtils.cpp"],
4528    hdrs = ["include/mlir/Transforms/InliningUtils.h"],
4529    includes = ["include"],
4530    deps = [
4531        ":CallOpInterfaces",
4532        ":IR",
4533        "//llvm:Support",
4534    ],
4535)
4536
4537cc_library(
4538    name = "LoopLikeInterface",
4539    srcs = ["lib/Interfaces/LoopLikeInterface.cpp"],
4540    hdrs = ["include/mlir/Interfaces/LoopLikeInterface.h"],
4541    includes = ["include"],
4542    deps = [
4543        ":FunctionInterfaces",
4544        ":IR",
4545        ":LoopLikeInterfaceIncGen",
4546        "//llvm:Support",
4547    ],
4548)
4549
4550cc_library(
4551    name = "MemorySlotInterfaces",
4552    srcs = ["lib/Interfaces/MemorySlotInterfaces.cpp"],
4553    hdrs = ["include/mlir/Interfaces/MemorySlotInterfaces.h"],
4554    includes = ["include"],
4555    deps = [
4556        ":IR",
4557        ":MemorySlotInterfacesIncGen",
4558    ],
4559)
4560
4561cc_library(
4562    name = "ShapedOpInterfaces",
4563    srcs = ["lib/Interfaces/ShapedOpInterfaces.cpp"],
4564    hdrs = ["include/mlir/Interfaces/ShapedOpInterfaces.h"],
4565    includes = ["include"],
4566    deps = [
4567        ":IR",
4568        ":ShapedOpInterfacesIncGen",
4569    ],
4570)
4571
4572cc_library(
4573    name = "ParallelCombiningOpInterface",
4574    srcs = ["lib/Interfaces/ParallelCombiningOpInterface.cpp"],
4575    hdrs = ["include/mlir/Interfaces/ParallelCombiningOpInterface.h"],
4576    includes = ["include"],
4577    deps = [
4578        ":IR",
4579        ":ParallelCombiningOpInterfaceIncGen",
4580    ],
4581)
4582
4583cc_library(
4584    name = "RuntimeVerifiableOpInterface",
4585    srcs = ["lib/Interfaces/RuntimeVerifiableOpInterface.cpp"],
4586    hdrs = ["include/mlir/Interfaces/RuntimeVerifiableOpInterface.h"],
4587    includes = ["include"],
4588    deps = [
4589        ":IR",
4590        ":RuntimeVerifiableOpInterfaceIncGen",
4591    ],
4592)
4593
4594cc_library(
4595    name = "VectorInterfaces",
4596    srcs = ["lib/Interfaces/VectorInterfaces.cpp"],
4597    hdrs = ["include/mlir/Interfaces/VectorInterfaces.h"],
4598    includes = ["include"],
4599    deps = [
4600        ":IR",
4601        ":VectorInterfacesIncGen",
4602    ],
4603)
4604
4605cc_library(
4606    name = "ViewLikeInterface",
4607    srcs = ["lib/Interfaces/ViewLikeInterface.cpp"],
4608    hdrs = ["include/mlir/Interfaces/ViewLikeInterface.h"],
4609    includes = ["include"],
4610    deps = [
4611        ":DialectUtils",
4612        ":IR",
4613        ":ViewLikeInterfaceIncGen",
4614    ],
4615)
4616
4617cc_library(
4618    name = "CopyOpInterface",
4619    srcs = ["lib/Interfaces/CopyOpInterface.cpp"],
4620    hdrs = ["include/mlir/Interfaces/CopyOpInterface.h"],
4621    includes = ["include"],
4622    deps = [
4623        ":CopyOpInterfaceIncGen",
4624        ":IR",
4625    ],
4626)
4627
4628td_library(
4629    name = "ShapeOpsTdFiles",
4630    srcs = [
4631        "include/mlir/Dialect/Shape/IR/ShapeBase.td",
4632        "include/mlir/Dialect/Shape/IR/ShapeOps.td",
4633    ],
4634    includes = ["include"],
4635    deps = [
4636        ":CallInterfacesTdFiles",
4637        ":CastInterfacesTdFiles",
4638        ":ControlFlowInterfacesTdFiles",
4639        ":FunctionInterfacesTdFiles",
4640        ":InferTypeOpInterfaceTdFiles",
4641        ":SideEffectInterfacesTdFiles",
4642    ],
4643)
4644
4645gentbl_cc_library(
4646    name = "ShapeOpsIncGen",
4647    tbl_outs = [
4648        (
4649            ["-gen-op-decls"],
4650            "include/mlir/Dialect/Shape/IR/ShapeOps.h.inc",
4651        ),
4652        (
4653            ["-gen-op-defs"],
4654            "include/mlir/Dialect/Shape/IR/ShapeOps.cpp.inc",
4655        ),
4656        (
4657            ["-gen-dialect-decls"],
4658            "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc",
4659        ),
4660        (
4661            ["-gen-dialect-defs"],
4662            "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc",
4663        ),
4664        (
4665            ["-gen-typedef-decls"],
4666            "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.h.inc",
4667        ),
4668        (
4669            ["-gen-typedef-defs"],
4670            "include/mlir/Dialect/Shape/IR/ShapeOpsTypes.cpp.inc",
4671        ),
4672    ],
4673    tblgen = ":mlir-tblgen",
4674    td_file = "include/mlir/Dialect/Shape/IR/ShapeOps.td",
4675    deps = [":ShapeOpsTdFiles"],
4676)
4677
4678gentbl_cc_library(
4679    name = "MLIRShapeCanonicalizationIncGen",
4680    strip_include_prefix = "include/mlir/Dialect/Shape/IR",
4681    tbl_outs = [
4682        (
4683            ["-gen-rewriters"],
4684            "include/mlir/Dialect/Shape/IR/ShapeCanonicalization.inc",
4685        ),
4686    ],
4687    tblgen = ":mlir-tblgen",
4688    td_file = "lib/Dialect/Shape/IR/ShapeCanonicalization.td",
4689    deps = [
4690        ":FuncTdFiles",
4691        ":ShapeOpsTdFiles",
4692        ":TensorOpsTdFiles",
4693    ],
4694)
4695
4696cc_library(
4697    name = "ShapeDialect",
4698    srcs = glob(["lib/Dialect/Shape/IR/*.cpp"]),
4699    hdrs = ["include/mlir/Dialect/Shape/IR/Shape.h"],
4700    includes = ["include"],
4701    deps = [
4702        ":ArithDialect",
4703        ":BufferizationInterfaces",
4704        ":BytecodeOpInterface",
4705        ":CallOpInterfaces",
4706        ":CastInterfaces",
4707        ":CommonFolders",
4708        ":ControlFlowInterfaces",
4709        ":Dialect",
4710        ":FunctionInterfaces",
4711        ":IR",
4712        ":InferTypeOpInterface",
4713        ":InliningUtils",
4714        ":MLIRShapeCanonicalizationIncGen",
4715        ":ShapeOpsIncGen",
4716        ":SideEffectInterfaces",
4717        ":TensorDialect",
4718        ":UBDialect",
4719        "//llvm:Support",
4720    ],
4721)
4722
4723gentbl_cc_library(
4724    name = "ShapeToStandardGen",
4725    strip_include_prefix = "lib/Conversion/ShapeToStandard",
4726    tbl_outs = [
4727        (
4728            ["-gen-rewriters"],
4729            "lib/Conversion/ShapeToStandard/ShapeToStandard.cpp.inc",
4730        ),
4731    ],
4732    tblgen = ":mlir-tblgen",
4733    td_file = "lib/Conversion/ShapeToStandard/ShapeToStandard.td",
4734    deps = [":ShapeOpsTdFiles"],
4735)
4736
4737cc_library(
4738    name = "ShapeToStandard",
4739    srcs = glob([
4740        "lib/Conversion/ShapeToStandard/*.cpp",
4741    ]),
4742    hdrs = ["include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h"],
4743    includes = ["include"],
4744    deps = [
4745        ":ArithDialect",
4746        ":ControlFlowDialect",
4747        ":ConversionPassIncGen",
4748        ":FuncDialect",
4749        ":IR",
4750        ":Pass",
4751        ":SCFDialect",
4752        ":ShapeDialect",
4753        ":ShapeToStandardGen",
4754        ":TensorDialect",
4755        ":TransformUtils",
4756        "//llvm:Support",
4757    ],
4758)
4759
4760gentbl_cc_library(
4761    name = "ShapeTransformsPassIncGen",
4762    tbl_outs = [(
4763        [
4764            "-gen-pass-decls",
4765            "-name=Shape",
4766        ],
4767        "include/mlir/Dialect/Shape/Transforms/Passes.h.inc",
4768    )],
4769    tblgen = ":mlir-tblgen",
4770    td_file = "include/mlir/Dialect/Shape/Transforms/Passes.td",
4771    deps = [":PassBaseTdFiles"],
4772)
4773
4774cc_library(
4775    name = "ShapeTransforms",
4776    srcs = glob([
4777        "lib/Dialect/Shape/Transforms/*.cpp",
4778    ]),
4779    hdrs = [
4780        "include/mlir/Dialect/Shape/Analysis/ShapeMappingAnalysis.h",
4781        "include/mlir/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.h",
4782        "include/mlir/Dialect/Shape/Transforms/Passes.h",
4783    ],
4784    includes = ["include"],
4785    deps = [
4786        ":ArithDialect",
4787        ":BufferizationDialect",
4788        ":BufferizationInterfaces",
4789        ":BufferizationTransforms",
4790        ":FuncDialect",
4791        ":IR",
4792        ":MemRefDialect",
4793        ":Pass",
4794        ":ShapeDialect",
4795        ":ShapeTransformsPassIncGen",
4796        ":TensorDialect",
4797        ":TransformUtils",
4798        "//llvm:Support",
4799    ],
4800)
4801
4802td_library(
4803    name = "ControlFlowOpsTdFiles",
4804    srcs = [
4805        "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td",
4806    ],
4807    includes = ["include"],
4808    deps = [
4809        ":AttrTdFiles",
4810        ":CallInterfacesTdFiles",
4811        ":CastInterfacesTdFiles",
4812        ":ControlFlowInterfacesTdFiles",
4813        ":InferTypeOpInterfaceTdFiles",
4814        ":OpBaseTdFiles",
4815        ":SideEffectInterfacesTdFiles",
4816    ],
4817)
4818
4819gentbl_cc_library(
4820    name = "ControlFlowOpsIncGen",
4821    tbl_outs = [
4822        (
4823            ["-gen-op-decls"],
4824            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.h.inc",
4825        ),
4826        (
4827            ["-gen-op-defs"],
4828            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.cpp.inc",
4829        ),
4830        (
4831            ["-gen-dialect-decls"],
4832            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.h.inc",
4833        ),
4834        (
4835            ["-gen-dialect-defs"],
4836            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsDialect.cpp.inc",
4837        ),
4838        (
4839            ["-gen-enum-decls"],
4840            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.h.inc",
4841        ),
4842        (
4843            ["-gen-enum-defs"],
4844            "include/mlir/Dialect/ControlFlow/IR/ControlFlowOpsEnums.cpp.inc",
4845        ),
4846    ],
4847    tblgen = ":mlir-tblgen",
4848    td_file = "include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td",
4849    deps = [
4850        ":AttrTdFiles",
4851        ":ControlFlowOpsTdFiles",
4852    ],
4853)
4854
4855cc_library(
4856    name = "ControlFlowDialect",
4857    srcs = glob(
4858        [
4859            "lib/Dialect/ControlFlow/IR/*.cpp",
4860        ],
4861    ),
4862    hdrs = glob([
4863        "include/mlir/Dialect/ControlFlow/IR/*.h",
4864    ]),
4865    includes = ["include"],
4866    deps = [
4867        ":ArithDialect",
4868        ":BufferizationInterfaces",
4869        ":BytecodeOpInterface",
4870        ":ControlFlowInterfaces",
4871        ":ControlFlowOpsIncGen",
4872        ":ConvertToLLVMInterface",
4873        ":IR",
4874        ":InliningUtils",
4875        ":SideEffectInterfaces",
4876        ":Support",
4877        "//llvm:Support",
4878    ],
4879)
4880
4881cc_library(
4882    name = "ControlFlowTransforms",
4883    srcs = glob([
4884        "lib/Dialect/ControlFlow/Transforms/*.cpp",
4885    ]),
4886    hdrs = glob([
4887        "include/mlir/Dialect/ControlFlow/Transforms/*.h",
4888    ]),
4889    includes = ["include"],
4890    deps = [
4891        ":BufferizationDialect",
4892        ":BufferizationInterfaces",
4893        ":BufferizationTransforms",
4894        ":ControlFlowDialect",
4895        ":IR",
4896        ":MemRefDialect",
4897    ],
4898)
4899
4900cc_library(
4901    name = "FuncDialect",
4902    srcs = glob(
4903        [
4904            "lib/Dialect/Func/IR/*.cpp",
4905        ],
4906    ),
4907    hdrs = glob([
4908        "include/mlir/Dialect/Func/IR/*.h",
4909    ]),
4910    includes = ["include"],
4911    deps = [
4912        ":BufferizationInterfaces",
4913        ":BytecodeOpInterface",
4914        ":CallOpInterfaces",
4915        ":ControlFlowInterfaces",
4916        ":ConvertToLLVMInterface",
4917        ":FuncIncGen",
4918        ":FunctionInterfaces",
4919        ":IR",
4920        ":InferTypeOpInterface",
4921        ":InliningUtils",
4922        ":SideEffectInterfaces",
4923        ":Support",
4924        "//llvm:Support",
4925    ],
4926)
4927
4928cc_library(
4929    name = "FuncExtensions",
4930    srcs = glob(["lib/Dialect/Func/Extensions/*.cpp"]),
4931    hdrs = glob(["include/mlir/Dialect/Func/Extensions/*.h"]),
4932    includes = ["include"],
4933    deps = [
4934        ":ControlFlowDialect",
4935        ":FuncDialect",
4936        ":IR",
4937        ":InliningUtils",
4938        ":MeshShardingInterface",
4939    ],
4940)
4941
4942td_library(
4943    name = "FuncTransformOpsTdFiles",
4944    srcs = [
4945        "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td",
4946    ],
4947    includes = ["include"],
4948    deps = [
4949        ":TransformDialectTdFiles",
4950    ],
4951)
4952
4953gentbl_cc_library(
4954    name = "FuncTransformOpsIncGen",
4955    strip_include_prefix = "include",
4956    tbl_outs = [
4957        (
4958            ["-gen-op-decls"],
4959            "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h.inc",
4960        ),
4961        (
4962            ["-gen-op-defs"],
4963            "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.cpp.inc",
4964        ),
4965    ],
4966    tblgen = ":mlir-tblgen",
4967    td_file = "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td",
4968    deps = [
4969        ":FuncTransformOpsTdFiles",
4970    ],
4971)
4972
4973cc_library(
4974    name = "FuncTransformOps",
4975    srcs = [
4976        "lib/Dialect/Func/TransformOps/FuncTransformOps.cpp",
4977    ],
4978    hdrs = [
4979        "include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h",
4980    ],
4981    includes = ["include"],
4982    deps = [
4983        ":BytecodeOpInterface",
4984        ":FuncDialect",
4985        ":FuncToLLVM",
4986        ":FuncTransformOpsIncGen",
4987        ":IR",
4988        ":LLVMCommonConversion",
4989        ":LLVMDialect",
4990        ":TransformDialect",
4991        ":TransformDialectInterfaces",
4992        ":TransformUtils",
4993    ],
4994)
4995
4996cc_library(
4997    name = "AllExtensions",
4998    hdrs = ["include/mlir/InitAllExtensions.h"],
4999    deps = [
5000        ":AMXTransforms",
5001        ":AffineTransformOps",
5002        ":ArithToLLVM",
5003        ":BufferizationTransformOps",
5004        ":BuiltinToLLVMIRTranslation",
5005        ":ComplexToLLVM",
5006        ":ControlFlowToLLVM",
5007        ":DLTITransformOps",
5008        ":FuncExtensions",
5009        ":FuncToLLVM",
5010        ":FuncTransformOps",
5011        ":GPUToGPURuntimeTransforms",
5012        ":GPUToLLVMIRTranslation",
5013        ":GPUToNVVMTransforms",
5014        ":GPUTransformOps",
5015        ":IndexToLLVM",
5016        ":LLVMToLLVMIRTranslation",
5017        ":LinalgTransformOps",
5018        ":MathToLLVM",
5019        ":MemRefToLLVM",
5020        ":MemRefTransformOps",
5021        ":MeshDialect",
5022        ":NVGPUTransformOps",
5023        ":NVVMTarget",
5024        ":NVVMToLLVM",
5025        ":OpenMPToLLVM",
5026        ":ROCDLTarget",
5027        ":ROCDLToLLVMIRTranslation",
5028        ":SCFTransformOps",
5029        ":SparseTensorTransformOps",
5030        ":TensorExtensions",
5031        ":TensorTransformOps",
5032        ":TransformDebugExtension",
5033        ":TransformIRDLExtension",
5034        ":TransformLoopExtension",
5035        ":TransformPDLExtension",
5036        ":UBToLLVM",
5037        ":VCIXToLLVMIRTranslation",
5038        ":VectorTransformOps",
5039    ],
5040)
5041
5042# TODO(zinenko): remove this after updating users.
5043
5044gentbl_cc_library(
5045    name = "FuncTransformsPassIncGen",
5046    tbl_outs = [(
5047        [
5048            "-gen-pass-decls",
5049            "-name=Func",
5050        ],
5051        "include/mlir/Dialect/Func/Transforms/Passes.h.inc",
5052    )],
5053    tblgen = ":mlir-tblgen",
5054    td_file = "include/mlir/Dialect/Func/Transforms/Passes.td",
5055    deps = [":PassBaseTdFiles"],
5056)
5057
5058cc_library(
5059    name = "FuncTransforms",
5060    srcs = glob([
5061        "lib/Dialect/Func/Transforms/*.cpp",
5062    ]),
5063    hdrs = glob(["include/mlir/Dialect/Func/Transforms/*.h"]),
5064    includes = ["include"],
5065    deps = [
5066        ":BufferizationDialect",
5067        ":BufferizationTransforms",
5068        ":FuncDialect",
5069        ":FuncTransformsPassIncGen",
5070        ":IR",
5071        ":MemRefDialect",
5072        ":Pass",
5073        ":Support",
5074        ":TransformUtils",
5075        "//llvm:Support",
5076    ],
5077)
5078
5079cc_library(
5080    name = "VectorDialect",
5081    srcs = glob(
5082        [
5083            "lib/Dialect/Vector/IR/*.cpp",
5084        ],
5085    ),
5086    hdrs = glob([
5087        "include/mlir/Dialect/Vector/IR/*.h",
5088    ]),
5089    includes = ["include"],
5090    deps = [
5091        ":AffineDialect",
5092        ":Analysis",
5093        ":ArithDialect",
5094        ":ArithUtils",
5095        ":BufferizationInterfaces",
5096        ":BytecodeOpInterface",
5097        ":ControlFlowInterfaces",
5098        ":DestinationStyleOpInterface",
5099        ":DialectUtils",
5100        ":IR",
5101        ":InferTypeOpInterface",
5102        ":InliningUtils",
5103        ":MaskableOpInterface",
5104        ":MaskingOpInterface",
5105        ":MemRefDialect",
5106        ":SideEffectInterfaces",
5107        ":SubsetOpInterface",
5108        ":Support",
5109        ":TensorDialect",
5110        ":UBDialect",
5111        ":ValueBoundsOpInterface",
5112        ":VectorAttributesIncGen",
5113        ":VectorDialectIncGen",
5114        ":VectorInterfaces",
5115        ":VectorOpsIncGen",
5116        ":ViewLikeInterface",
5117        "//llvm:Support",
5118    ],
5119)
5120
5121cc_library(
5122    name = "VectorTransformOps",
5123    srcs = [
5124        "lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp",
5125    ],
5126    hdrs = [
5127        "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h",
5128    ],
5129    includes = ["include"],
5130    deps = [
5131        ":IR",
5132        ":LLVMCommonConversion",
5133        ":LLVMDialect",
5134        ":TransformDialect",
5135        ":TransformDialectInterfaces",
5136        ":TransformUtils",
5137        ":VectorDialect",
5138        ":VectorToLLVM",
5139        ":VectorToSCF",
5140        ":VectorTransformOpsIncGen",
5141        ":VectorTransforms",
5142        ":X86VectorTransforms",
5143    ],
5144)
5145
5146td_library(
5147    name = "VectorTransformsTdFiles",
5148    srcs = ["include/mlir/Dialect/Vector/Transforms/VectorTransformsBase.td"],
5149    includes = ["include"],
5150    deps = [":OpBaseTdFiles"],
5151)
5152
5153gentbl_cc_library(
5154    name = "VectorEnumsIncGen",
5155    tbl_outs = [
5156        (
5157            ["-gen-enum-decls"],
5158            "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc",
5159        ),
5160        (
5161            ["-gen-enum-defs"],
5162            "include/mlir/Dialect/Vector/Transforms/VectorTransformsEnums.cpp.inc",
5163        ),
5164    ],
5165    tblgen = ":mlir-tblgen",
5166    td_file = "include/mlir/Dialect/Vector/Transforms/VectorTransformsBase.td",
5167    deps = [
5168        ":OpBaseTdFiles",
5169    ],
5170)
5171
5172gentbl_cc_library(
5173    name = "VectorPassIncGen",
5174    tbl_outs = [
5175        (
5176            [
5177                "-gen-pass-decls",
5178                "-name=Vector",
5179            ],
5180            "include/mlir/Dialect/Vector/Transforms/Passes.h.inc",
5181        ),
5182    ],
5183    tblgen = ":mlir-tblgen",
5184    td_file = "include/mlir/Dialect/Vector/Transforms/Passes.td",
5185    deps = [":PassBaseTdFiles"],
5186)
5187
5188cc_library(
5189    name = "VectorTransforms",
5190    srcs = glob(
5191        [
5192            "lib/Dialect/Vector/Transforms/*.cpp",
5193        ],
5194    ),
5195    hdrs = glob([
5196        "include/mlir/Dialect/Vector/Transforms/*.h",
5197    ]),
5198    includes = ["include"],
5199    deps = [
5200        ":AffineDialect",
5201        ":ArithDialect",
5202        ":ArithTransforms",
5203        ":ArithUtils",
5204        ":BufferizationDialect",
5205        ":BufferizationInterfaces",
5206        ":BufferizationTransforms",
5207        ":DialectUtils",
5208        ":FuncDialect",
5209        ":FunctionInterfaces",
5210        ":GPUDialect",
5211        ":GPUUtils",
5212        ":IR",
5213        ":LinalgDialect",
5214        ":MemRefDialect",
5215        ":MemRefUtils",
5216        ":Pass",
5217        ":SCFDialect",
5218        ":SideEffectInterfaces",
5219        ":SubsetOpInterface",
5220        ":Support",
5221        ":TensorDialect",
5222        ":TransformUtils",
5223        ":VectorDialect",
5224        ":VectorEnumsIncGen",
5225        ":VectorInterfaces",
5226        ":VectorPassIncGen",
5227        ":VectorUtils",
5228        "//llvm:Support",
5229    ],
5230)
5231
5232cc_library(
5233    name = "VectorUtils",
5234    srcs = glob(
5235        [
5236            "lib/Dialect/Vector/Utils/*.cpp",
5237        ],
5238    ),
5239    hdrs = glob([
5240        "include/mlir/Dialect/Vector/Utils/*.h",
5241    ]),
5242    includes = ["include"],
5243    deps = [
5244        ":AffineAnalysis",
5245        ":AffineDialect",
5246        ":ArithDialect",
5247        ":DialectUtils",
5248        ":FuncDialect",
5249        ":IR",
5250        ":MemRefDialect",
5251        ":Support",
5252        ":TensorDialect",
5253        ":VectorDialect",
5254        "//llvm:Support",
5255    ],
5256)
5257
5258cc_library(
5259    name = "Support",
5260    srcs = glob([
5261        "lib/Support/*.cpp",
5262    ]),
5263    hdrs = glob(["include/mlir/Support/*.h"]),
5264    includes = ["include"],
5265    deps = ["//llvm:Support"],
5266)
5267
5268cc_library(
5269    name = "Debug",
5270    srcs = glob([
5271        "lib/Debug/*.cpp",
5272        "lib/Debug/BreakpointManagers/*.cpp",
5273        "lib/Debug/Observers/*.cpp",
5274    ]),
5275    hdrs = glob([
5276        "include/mlir/Debug/*.h",
5277        "include/mlir/Debug/BreakpointManagers/*.h",
5278        "include/mlir/Debug/Observers/*.h",
5279    ]),
5280    includes = ["include"],
5281    deps = [
5282        ":CAPIIR",
5283        ":IR",
5284        ":Rewrite",
5285        ":Support",
5286        "//llvm:Support",
5287    ],
5288)
5289
5290cc_library(
5291    name = "MlirLspServerSupportLib",
5292    srcs = glob(
5293        [
5294            "lib/Tools/lsp-server-support/*.cpp",
5295        ],
5296    ),
5297    hdrs = glob(
5298        [
5299            "include/mlir/Tools/lsp-server-support/*.h",
5300        ],
5301    ),
5302    deps = [
5303        ":Support",
5304        "//llvm:Support",
5305    ],
5306)
5307
5308cc_library(
5309    name = "MlirLspServerLib",
5310    srcs = glob(
5311        [
5312            "lib/Tools/mlir-lsp-server/*.cpp",
5313            "lib/Tools/mlir-lsp-server/*.h",
5314        ],
5315    ),
5316    hdrs = glob(
5317        ["include/mlir/Tools/mlir-lsp-server/*.h"],
5318    ),
5319    includes = ["include"],
5320    deps = [
5321        ":AsmParser",
5322        ":BytecodeWriter",
5323        ":FunctionInterfaces",
5324        ":IR",
5325        ":MlirLspServerSupportLib",
5326        ":Parser",
5327        ":Support",
5328        "//llvm:Support",
5329    ],
5330)
5331
5332cc_library(
5333    name = "MlirPdllLspServerLib",
5334    srcs = glob(
5335        [
5336            "lib/Tools/mlir-pdll-lsp-server/*.cpp",
5337            "lib/Tools/mlir-pdll-lsp-server/*.h",
5338        ],
5339    ),
5340    hdrs = glob(
5341        ["include/mlir/Tools/mlir-pdll-lsp-server/*.h"],
5342    ),
5343    includes = ["include"],
5344    deps = [
5345        ":IR",
5346        ":MlirLspServerSupportLib",
5347        ":PDLLAST",
5348        ":PDLLCodeGen",
5349        ":PDLLODS",
5350        ":PDLLParser",
5351        ":Support",
5352        "//llvm:Support",
5353    ],
5354)
5355
5356cc_library(
5357    name = "TableGenLspServerLib",
5358    srcs = glob([
5359        "lib/Tools/tblgen-lsp-server/*.cpp",
5360        "lib/Tools/tblgen-lsp-server/*.h",
5361    ]),
5362    hdrs = glob(["include/mlir/Tools/tblgen-lsp-server/*.h"]),
5363    includes = ["include"],
5364    deps = [
5365        ":MlirLspServerSupportLib",
5366        ":Support",
5367        "//llvm:Support",
5368        "//llvm:TableGen",
5369    ],
5370)
5371
5372cc_binary(
5373    name = "tblgen-lsp-server",
5374    srcs = ["tools/tblgen-lsp-server/tblgen-lsp-server.cpp"],
5375    includes = ["include"],
5376    deps = [
5377        ":Support",
5378        ":TableGenLspServerLib",
5379    ],
5380)
5381
5382cc_library(
5383    name = "AsmParserTokenKinds",
5384    # strip_include_prefix does not apply to textual_hdrs.
5385    hdrs = ["lib/AsmParser/TokenKinds.def"],
5386    strip_include_prefix = "lib/AsmParser",
5387    textual_hdrs = ["lib/AsmParser/TokenKinds.def"],
5388)
5389
5390cc_library(
5391    name = "AsmParser",
5392    srcs = glob([
5393        "lib/AsmParser/*.cpp",
5394        "lib/AsmParser/*.h",
5395    ]),
5396    hdrs = glob([
5397        "include/mlir/AsmParser/*.h",
5398    ]),
5399    includes = ["include"],
5400    deps = [
5401        ":AsmParserTokenKinds",
5402        ":IR",
5403        ":Support",
5404        "//llvm:Support",
5405    ],
5406)
5407
5408cc_library(
5409    name = "BytecodeReader",
5410    srcs = glob([
5411        "lib/Bytecode/Reader/*.cpp",
5412    ]),
5413    hdrs = ["include/mlir/Bytecode/BytecodeReader.h"],
5414    includes = ["include"],
5415    deps = [
5416        ":AsmParser",
5417        ":BytecodeOpInterface",
5418        ":IR",
5419        ":Support",
5420        "//llvm:Support",
5421    ],
5422)
5423
5424cc_library(
5425    name = "BytecodeWriter",
5426    srcs = glob([
5427        "lib/Bytecode/Writer/*.cpp",
5428        "lib/Bytecode/Writer/*.h",
5429    ]),
5430    hdrs = ["include/mlir/Bytecode/BytecodeWriter.h"],
5431    includes = ["include"],
5432    deps = [
5433        ":BytecodeOpInterface",
5434        ":IR",
5435        ":Support",
5436        "//llvm:Support",
5437        "//llvm:config",
5438    ],
5439)
5440
5441cc_library(
5442    name = "Parser",
5443    srcs = glob([
5444        "lib/Parser/*.cpp",
5445    ]),
5446    hdrs = glob([
5447        "include/mlir/Parser/*.h",
5448    ]),
5449    includes = ["include"],
5450    deps = [
5451        ":AsmParser",
5452        ":BytecodeReader",
5453        ":IR",
5454        "//llvm:Support",
5455    ],
5456)
5457
5458gentbl_cc_library(
5459    name = "LLVMDialectInterfaceIncGen",
5460    tbl_outs = [
5461        (
5462            ["-gen-op-interface-decls"],
5463            "include/mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc",
5464        ),
5465        (
5466            ["-gen-op-interface-defs"],
5467            "include/mlir/Dialect/LLVMIR/LLVMInterfaces.cpp.inc",
5468        ),
5469        (
5470            ["-gen-attr-interface-decls"],
5471            "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.h.inc",
5472        ),
5473        (
5474            ["-gen-attr-interface-defs"],
5475            "include/mlir/Dialect/LLVMIR/LLVMAttrInterfaces.cpp.inc",
5476        ),
5477        (
5478            ["-gen-type-interface-decls"],
5479            "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc",
5480        ),
5481        (
5482            ["-gen-type-interface-defs"],
5483            "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc",
5484        ),
5485    ],
5486    tblgen = ":mlir-tblgen",
5487    td_file = "include/mlir/Dialect/LLVMIR/LLVMInterfaces.td",
5488    deps = [":LLVMOpsTdFiles"],
5489)
5490
5491cc_library(
5492    name = "LLVMDialect",
5493    srcs = glob(
5494        [
5495            "lib/Dialect/LLVMIR/IR/*.cpp",
5496            "lib/Dialect/LLVMIR/IR/*.h",
5497        ],
5498        exclude = [
5499            "lib/Dialect/LLVMIR/IR/*AMX*.cpp",
5500            "lib/Dialect/LLVMIR/IR/*AMX*.h",
5501            "lib/Dialect/LLVMIR/IR/*ArmSVE*.cpp",
5502            "lib/Dialect/LLVMIR/IR/*ArmSVE*.h",
5503            "lib/Dialect/LLVMIR/IR/NVVM*.cpp",
5504            "lib/Dialect/LLVMIR/IR/NVVM*.h",
5505            "lib/Dialect/LLVMIR/IR/ROCDL*.cpp",
5506            "lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp",
5507            "lib/Dialect/LLVMIR/IR/ROCDL*.h",
5508            "lib/Dialect/LLVMIR/IR/VCIX*.cpp",
5509            "lib/Dialect/LLVMIR/IR/VCIX*.h",
5510            "lib/Dialect/LLVMIR/IR/*X86Vector*.cpp",
5511            "lib/Dialect/LLVMIR/IR/*X86Vector*.h",
5512        ],
5513    ),
5514    hdrs = glob(
5515        ["include/mlir/Dialect/LLVMIR/*.h"],
5516        exclude = [
5517            "include/mlir/Dialect/LLVMIR/*AMX*.h",
5518            "include/mlir/Dialect/LLVMIR/*ArmSVE*.h",
5519            "include/mlir/Dialect/LLVMIR/NVVM*.h",
5520            "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h",
5521            "include/mlir/Dialect/LLVMIR/ROCDL*.h",
5522            "include/mlir/Dialect/LLVMIR/VCIX*.h",
5523            "include/mlir/Dialect/LLVMIR/*X86Vector*.h",
5524        ],
5525    ),
5526    includes = ["include"],
5527    deps = [
5528        ":BytecodeOpInterface",
5529        ":CallOpInterfaces",
5530        ":ControlFlowInterfaces",
5531        ":DataLayoutInterfaces",
5532        ":FunctionInterfaces",
5533        ":IR",
5534        ":InferTypeOpInterface",
5535        ":InliningUtils",
5536        ":LLVMDialectInterfaceIncGen",
5537        ":LLVMIntrinsicOpsIncGen",
5538        ":LLVMOpsIncGen",
5539        ":LLVMTypesIncGen",
5540        ":MemorySlotInterfaces",
5541        ":MemorySlotInterfacesIncGen",
5542        ":SideEffectInterfaces",
5543        ":Support",
5544        ":ViewLikeInterface",
5545        "//llvm:AsmParser",
5546        "//llvm:BinaryFormat",
5547        "//llvm:BitReader",
5548        "//llvm:BitWriter",
5549        "//llvm:Core",
5550        "//llvm:Support",
5551    ],
5552)
5553
5554gentbl_cc_library(
5555    name = "LLVMPassIncGen",
5556    tbl_outs = [
5557        (
5558            [
5559                "-gen-pass-decls",
5560                "-name=LLVM",
5561            ],
5562            "include/mlir/Dialect/LLVMIR/Transforms/Passes.h.inc",
5563        ),
5564    ],
5565    tblgen = ":mlir-tblgen",
5566    td_file = "include/mlir/Dialect/LLVMIR/Transforms/Passes.td",
5567    deps = [":PassBaseTdFiles"],
5568)
5569
5570cc_library(
5571    name = "LLVMIRTransforms",
5572    srcs = glob(
5573        [
5574            "lib/Dialect/LLVMIR/Transforms/*.cpp",
5575        ],
5576        exclude = [
5577            "lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp",
5578            "lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp",
5579            "lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp",
5580        ],
5581    ),
5582    hdrs = glob(
5583        [
5584            "include/mlir/Dialect/LLVMIR/Transforms/*.h",
5585        ],
5586        exclude = [
5587            "include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h",
5588            "include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h",
5589            "include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h",
5590        ],
5591    ),
5592    includes = ["include"],
5593    deps = [
5594        ":Analysis",
5595        ":DataLayoutInterfaces",
5596        ":FuncDialect",
5597        ":IR",
5598        ":InliningUtils",
5599        ":LLVMDialect",
5600        ":LLVMIRTransformsLegalizeForExport",
5601        ":LLVMPassIncGen",
5602        ":NVVMDialect",
5603        ":Pass",
5604        ":TransformUtils",
5605        ":ViewLikeInterface",
5606        "//llvm:BinaryFormat",
5607        "//llvm:Support",
5608    ],
5609)
5610
5611cc_library(
5612    name = "LLVMIRTransformsLegalizeForExport",
5613    srcs = ["lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp"],
5614    hdrs = ["include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h"],
5615    includes = ["include"],
5616    deps = [
5617        ":IR",
5618        ":LLVMDialect",
5619        ":LLVMIRTransformsDIExpressionLegalization",
5620        ":LLVMPassIncGen",
5621        ":Pass",
5622    ],
5623)
5624
5625cc_library(
5626    name = "LLVMIRTransformsDIExpressionLegalization",
5627    srcs = ["lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp"],
5628    hdrs = ["include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h"],
5629    includes = ["include"],
5630    deps = [
5631        ":LLVMIRTransformsDIExpressionRewriter",
5632        "//llvm:BinaryFormat",
5633    ],
5634)
5635
5636cc_library(
5637    name = "LLVMIRTransformsDIExpressionRewriter",
5638    srcs = ["lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp"],
5639    hdrs = ["include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h"],
5640    includes = ["include"],
5641    deps = [
5642        ":LLVMDialect",
5643        ":TransformUtils",
5644        "//llvm:Support",
5645    ],
5646)
5647
5648td_library(
5649    name = "GPUOpsTdFiles",
5650    srcs = [
5651        "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.td",
5652        "include/mlir/Dialect/GPU/IR/CompilationAttrs.td",
5653        "include/mlir/Dialect/GPU/IR/GPUBase.td",
5654        "include/mlir/Dialect/GPU/IR/GPUDeviceMappingAttr.td",
5655        "include/mlir/Dialect/GPU/IR/GPUOps.td",
5656        "include/mlir/Dialect/GPU/IR/ParallelLoopMapperAttr.td",
5657    ],
5658    includes = ["include"],
5659    deps = [
5660        ":DLTIDialectTdFiles",
5661        ":DataLayoutInterfacesTdFiles",
5662        ":FunctionInterfacesTdFiles",
5663        ":InferIntRangeInterfaceTdFiles",
5664        ":LLVMOpsTdFiles",
5665        ":OpBaseTdFiles",
5666        ":SCFTdFiles",
5667        ":SideEffectInterfacesTdFiles",
5668    ],
5669)
5670
5671gentbl_cc_library(
5672    name = "GPUDeviceMapperEnumsGen",
5673    tbl_outs = [
5674        (
5675            ["-gen-enum-decls"],
5676            "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.h.inc",
5677        ),
5678        (
5679            ["-gen-enum-defs"],
5680            "include/mlir/Dialect/GPU/TransformOps/GPUDeviceMapperEnums.cpp.inc",
5681        ),
5682    ],
5683    tblgen = ":mlir-tblgen",
5684    td_file = "include/mlir/Dialect/GPU/IR/GPUDeviceMappingAttr.td",
5685    deps = [
5686        ":GPUOpsTdFiles",
5687        ":OpBaseTdFiles",
5688    ],
5689)
5690
5691gentbl_cc_library(
5692    name = "GPUCompilationAttrInterfacesIncGen",
5693    tbl_outs = [
5694        (
5695            ["-gen-attr-interface-decls"],
5696            "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.h.inc",
5697        ),
5698        (
5699            ["-gen-attr-interface-defs"],
5700            "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.cpp.inc",
5701        ),
5702    ],
5703    tblgen = ":mlir-tblgen",
5704    td_file = "include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.td",
5705    deps = [
5706        ":AttrTdFiles",
5707        ":OpBaseTdFiles",
5708    ],
5709)
5710
5711gentbl_cc_library(
5712    name = "GPUBaseIncGen",
5713    tbl_outs = [
5714        (
5715            ["-gen-op-interface-decls"],
5716            "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.h.inc",
5717        ),
5718        (
5719            ["-gen-op-interface-defs"],
5720            "include/mlir/Dialect/GPU/IR/GPUOpInterfaces.cpp.inc",
5721        ),
5722    ],
5723    tblgen = ":mlir-tblgen",
5724    td_file = "include/mlir/Dialect/GPU/IR/GPUBase.td",
5725    deps = [":OpBaseTdFiles"],
5726)
5727
5728gentbl_cc_library(
5729    name = "GPUOpsIncGen",
5730    tbl_outs = [
5731        (
5732            [
5733                "-gen-dialect-decls",
5734                "-dialect=gpu",
5735            ],
5736            "include/mlir/Dialect/GPU/IR/GPUOpsDialect.h.inc",
5737        ),
5738        (
5739            [
5740                "-gen-dialect-defs",
5741                "-dialect=gpu",
5742            ],
5743            "include/mlir/Dialect/GPU/IR/GPUOpsDialect.cpp.inc",
5744        ),
5745        (
5746            ["-gen-op-decls"],
5747            "include/mlir/Dialect/GPU/IR/GPUOps.h.inc",
5748        ),
5749        (
5750            ["-gen-op-defs"],
5751            "include/mlir/Dialect/GPU/IR/GPUOps.cpp.inc",
5752        ),
5753        (
5754            ["-gen-enum-decls"],
5755            "include/mlir/Dialect/GPU/IR/GPUOpsEnums.h.inc",
5756        ),
5757        (
5758            ["-gen-enum-defs"],
5759            "include/mlir/Dialect/GPU/IR/GPUOpsEnums.cpp.inc",
5760        ),
5761        (
5762            ["-gen-attrdef-decls"],
5763            "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.h.inc",
5764        ),
5765        (
5766            ["-gen-attrdef-defs"],
5767            "include/mlir/Dialect/GPU/IR/GPUOpsAttributes.cpp.inc",
5768        ),
5769    ],
5770    tblgen = ":mlir-tblgen",
5771    td_file = "include/mlir/Dialect/GPU/IR/GPUOps.td",
5772    deps = [
5773        ":DLTIDialectTdFiles",
5774        ":GPUOpsTdFiles",
5775    ],
5776)
5777
5778cc_library(
5779    name = "GPUDialect",
5780    srcs = glob(
5781        [
5782            "lib/Dialect/GPU/IR/*.cpp",
5783        ],
5784    ),
5785    hdrs = glob(["include/mlir/Dialect/GPU/IR/*.h"]),
5786    includes = ["include"],
5787    deps = [
5788        ":ArithDialect",
5789        ":BufferizationInterfaces",
5790        ":BytecodeOpInterface",
5791        ":ControlFlowInterfaces",
5792        ":DLTIDialect",
5793        ":FunctionInterfaces",
5794        ":GPUBaseIncGen",
5795        ":GPUCompilationAttrInterfacesIncGen",
5796        ":GPUOpsIncGen",
5797        ":IR",
5798        ":InferIntRangeInterface",
5799        ":InferTypeOpInterface",
5800        ":InliningUtils",
5801        ":MemRefDialect",
5802        ":SCFDialect",
5803        ":SideEffectInterfaces",
5804        ":Support",
5805        ":ValueBoundsOpInterface",
5806        "//llvm:Core",
5807        "//llvm:Support",
5808    ],
5809)
5810
5811gentbl_cc_library(
5812    name = "GPUPassIncGen",
5813    tbl_outs = [
5814        (
5815            [
5816                "-gen-pass-decls",
5817                "-name=GPU",
5818            ],
5819            "include/mlir/Dialect/GPU/Transforms/Passes.h.inc",
5820        ),
5821        (
5822            [
5823                "-gen-pass-capi-header",
5824                "--prefix=GPU",
5825            ],
5826            "include/mlir/Dialect/GPU/Transforms/Passes.capi.h.inc",
5827        ),
5828        (
5829            [
5830                "-gen-pass-capi-impl",
5831                "--prefix=GPU",
5832            ],
5833            "include/mlir/Dialect/GPU/Transforms/Passes.capi.cpp.inc",
5834        ),
5835    ],
5836    tblgen = ":mlir-tblgen",
5837    td_file = "include/mlir/Dialect/GPU/Transforms/Passes.td",
5838    deps = [":PassBaseTdFiles"],
5839)
5840
5841cc_library(
5842    name = "GPUPipelines",
5843    srcs = ["lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp"],
5844    hdrs = ["include/mlir/Dialect/GPU/Pipelines/Passes.h"],
5845    includes = ["include"],
5846    deps = [
5847        ":AffineToStandard",
5848        ":ArithToLLVM",
5849        ":FuncDialect",
5850        ":FuncToLLVM",
5851        ":GPUDialect",
5852        ":GPUToGPURuntimeTransforms",
5853        ":GPUToNVVMTransforms",
5854        ":GPUTransforms",
5855        ":IndexToLLVM",
5856        ":LLVMDialect",
5857        ":LinalgTransforms",
5858        ":MathToLLVM",
5859        ":MemRefToLLVM",
5860        ":MemRefTransforms",
5861        ":NVGPUToNVVM",
5862        ":NVVMToLLVM",
5863        ":Pass",
5864        ":ReconcileUnrealizedCasts",
5865        ":SCFToControlFlow",
5866        ":Transforms",
5867        ":VectorToLLVM",
5868        ":VectorToSCF",
5869    ],
5870)
5871
5872cc_library(
5873    name = "GPUTransforms",
5874    srcs = glob(
5875        [
5876            "lib/Dialect/GPU/Transforms/*.cpp",
5877        ],
5878    ),
5879    hdrs = glob(["include/mlir/Dialect/GPU/Transforms/*.h"]),
5880    includes = ["include"],
5881    deps = [
5882        ":AffineDialect",
5883        ":AffineUtils",
5884        ":ArithDialect",
5885        ":AsmParser",
5886        ":AsyncDialect",
5887        ":BufferizationDialect",
5888        ":BufferizationInterfaces",
5889        ":ControlFlowDialect",
5890        ":DLTIDialect",
5891        ":DialectUtils",
5892        ":ExecutionEngineUtils",
5893        ":FuncDialect",
5894        ":GPUDialect",
5895        ":GPUPassIncGen",
5896        ":GPUToLLVMIRTranslation",
5897        ":GPUUtils",
5898        ":IR",
5899        ":IndexDialect",
5900        ":LLVMDialect",
5901        ":LLVMToLLVMIRTranslation",
5902        ":MemRefDialect",
5903        ":NVVMDialect",
5904        ":NVVMTarget",
5905        ":Pass",
5906        ":ROCDLDialect",
5907        ":ROCDLTarget",
5908        ":ROCDLToLLVMIRTranslation",
5909        ":SCFDialect",
5910        ":SPIRVDialect",
5911        ":SPIRVTarget",
5912        ":SideEffectInterfaces",
5913        ":Support",
5914        ":ToLLVMIRTranslation",
5915        ":TransformUtils",
5916        ":Transforms",
5917        ":VCIXToLLVMIRTranslation",
5918        ":VectorDialect",
5919        ":config",
5920        "//llvm:Core",
5921        "//llvm:MC",
5922        "//llvm:Support",
5923        "//llvm:Target",
5924    ] + if_cuda_available([
5925        ":NVVMToLLVMIRTranslation",
5926        "//llvm:NVPTXCodeGen",
5927    ]),
5928)
5929
5930cc_library(
5931    name = "GPUUtils",
5932    srcs = glob(
5933        [
5934            "lib/Dialect/GPU/Utils/*.cpp",
5935        ],
5936    ),
5937    hdrs = glob(["include/mlir/Dialect/GPU/Utils/*.h"]),
5938    includes = ["include"],
5939    deps = [
5940        ":AffineDialect",
5941        ":ArithDialect",
5942        ":GPUDialect",
5943        ":IR",
5944        ":Support",
5945        ":VectorDialect",
5946        "//llvm:Support",
5947    ],
5948)
5949
5950td_library(
5951    name = "GPUTransformOpsTdFiles",
5952    srcs = [
5953        "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td",
5954    ],
5955    includes = ["include"],
5956    deps = [
5957        ":TransformDialectTdFiles",
5958    ],
5959)
5960
5961gentbl_cc_library(
5962    name = "GPUTransformOpsIncGen",
5963    tbl_outs = [
5964        (
5965            ["-gen-op-decls"],
5966            "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h.inc",
5967        ),
5968        (
5969            ["-gen-op-defs"],
5970            "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.cpp.inc",
5971        ),
5972    ],
5973    tblgen = ":mlir-tblgen",
5974    td_file = "include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td",
5975    deps = [
5976        ":GPUTransformOpsTdFiles",
5977    ],
5978)
5979
5980cc_library(
5981    name = "GPUTransformOps",
5982    srcs = glob([
5983        "lib/Dialect/GPU/TransformOps/*.cpp",
5984    ]),
5985    hdrs = glob([
5986        "include/mlir/Dialect/GPU/TransformOps/*.h",
5987    ]),
5988    includes = ["include"],
5989    deps = [
5990        ":AffineDialect",
5991        ":ArithDialect",
5992        ":DialectUtils",
5993        ":FuncDialect",
5994        ":GPUDialect",
5995        ":GPUToGPURuntimeTransforms",
5996        ":GPUToNVVMTransforms",
5997        ":GPUTransformOpsIncGen",
5998        ":GPUTransforms",
5999        ":IR",
6000        ":LLVMCommonConversion",
6001        ":MemRefDialect",
6002        ":NVVMDialect",
6003        ":SCFDialect",
6004        ":Support",
6005        ":TransformDialect",
6006        ":TransformDialectInterfaces",
6007        ":TransformUtils",
6008        ":VectorDialect",
6009        ":VectorTransforms",
6010        "//llvm:Support",
6011    ],
6012)
6013
6014td_library(
6015    name = "LLVMOpsTdFiles",
6016    srcs = [
6017        "include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td",
6018        "include/mlir/Dialect/LLVMIR/LLVMDialect.td",
6019        "include/mlir/Dialect/LLVMIR/LLVMEnums.td",
6020        "include/mlir/Dialect/LLVMIR/LLVMInterfaces.td",
6021        "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td",
6022        "include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
6023        "include/mlir/Dialect/LLVMIR/LLVMOps.td",
6024        "include/mlir/Dialect/LLVMIR/LLVMTypes.td",
6025    ],
6026    includes = ["include"],
6027    deps = [
6028        ":CallInterfacesTdFiles",
6029        ":ControlFlowInterfacesTdFiles",
6030        ":DataLayoutInterfacesTdFiles",
6031        ":FunctionInterfacesTdFiles",
6032        ":InferTypeOpInterfaceTdFiles",
6033        ":MemorySlotInterfacesTdFiles",
6034        ":OpBaseTdFiles",
6035        ":SideEffectInterfacesTdFiles",
6036        ":ViewLikeInterfaceTdFiles",
6037    ],
6038)
6039
6040cc_library(
6041    name = "GPUCommonTransforms",
6042    hdrs = [
6043        "lib/Conversion/GPUCommon/GPUOpsLowering.h",
6044        "lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h",
6045        "lib/Conversion/GPUCommon/OpToFuncCallLowering.h",
6046    ],
6047    deps = [
6048        ":ArithDialect",
6049        ":GPUDialect",
6050        ":IR",
6051        ":LLVMCommonConversion",
6052        ":LLVMDialect",
6053    ],
6054)
6055
6056gentbl_cc_library(
6057    name = "GPUToNVVMGen",
6058    strip_include_prefix = "lib/Conversion/GPUToNVVM",
6059    tbl_outs = [
6060        (
6061            ["-gen-rewriters"],
6062            "lib/Conversion/GPUToNVVM/GPUToNVVM.cpp.inc",
6063        ),
6064    ],
6065    tblgen = ":mlir-tblgen",
6066    td_file = "lib/Conversion/GPUToNVVM/GPUToNVVM.td",
6067    deps = [
6068        ":GPUOpsTdFiles",
6069        ":NVVMOpsTdFiles",
6070    ],
6071)
6072
6073cc_library(
6074    name = "GPUToLLVMSPVTransforms",
6075    srcs = glob([
6076        "lib/Conversion/GPUToLLVMSPV/*.cpp",
6077    ]),
6078    hdrs = glob([
6079        "include/mlir/Conversion/GPUToLLVMSPV/*.h",
6080    ]),
6081    includes = ["include"],
6082    deps = [
6083        ":ConversionPassIncGen",
6084        ":GPUDialect",
6085        ":GPUToGPURuntimeTransforms",
6086        ":IR",
6087        ":LLVMCommonConversion",
6088        ":LLVMDialect",
6089        ":Pass",
6090        ":SPIRVCommonAttrToLLVMConversion",
6091        ":SPIRVDialect",
6092        ":Support",
6093        ":TransformUtils",
6094        "//llvm:Support",
6095    ],
6096)
6097
6098cc_library(
6099    name = "GPUToNVVMTransforms",
6100    srcs = glob([
6101        "lib/Conversion/GPUToNVVM/*.cpp",
6102    ]),
6103    hdrs = glob([
6104        "include/mlir/Conversion/GPUToNVVM/*.h",
6105    ]),
6106    includes = ["include"],
6107    deps = [
6108        ":ArithToLLVM",
6109        ":ControlFlowDialect",
6110        ":ControlFlowToLLVM",
6111        ":ConversionPassIncGen",
6112        ":ConvertToLLVMInterface",
6113        ":FuncDialect",
6114        ":FuncToLLVM",
6115        ":GPUCommonTransforms",
6116        ":GPUDialect",
6117        ":GPUToGPURuntimeTransforms",
6118        ":GPUToNVVMGen",
6119        ":GPUTransforms",
6120        ":IR",
6121        ":LLVMCommonConversion",
6122        ":LLVMDialect",
6123        ":MathDialect",
6124        ":MemRefDialect",
6125        ":MemRefToLLVM",
6126        ":NVGPUDialect",
6127        ":NVVMDialect",
6128        ":TransformUtils",
6129        ":VectorToLLVM",
6130    ],
6131)
6132
6133cc_library(
6134    name = "AMDGPUToROCDL",
6135    srcs = glob([
6136        "lib/Conversion/AMDGPUToROCDL/*.cpp",
6137    ]) + ["include/mlir/Conversion/GPUToROCDL/Runtimes.h"],
6138    hdrs = glob([
6139        "include/mlir/Conversion/AMDGPUToROCDL/*.h",
6140    ]),
6141    includes = ["include"],
6142    deps = [
6143        ":AMDGPUDialect",
6144        ":AMDGPUUtils",
6145        ":ConversionPassIncGen",
6146        ":IR",
6147        ":LLVMCommonConversion",
6148        ":LLVMDialect",
6149        ":Pass",
6150        ":ROCDLDialect",
6151        "//llvm:Support",
6152    ],
6153)
6154
6155cc_library(
6156    name = "NVGPUToNVVM",
6157    srcs = glob([
6158        "lib/Conversion/NVGPUToNVVM/*.cpp",
6159    ]),
6160    hdrs = glob([
6161        "include/mlir/Conversion/NVGPUToNVVM/*.h",
6162    ]),
6163    includes = ["include"],
6164    deps = [
6165        ":ArithDialect",
6166        ":ConversionPassIncGen",
6167        ":GPUDialect",
6168        ":GPUToGPURuntimeTransforms",
6169        ":IR",
6170        ":LLVMCommonConversion",
6171        ":LLVMDialect",
6172        ":MemRefDialect",
6173        ":NVGPUDialect",
6174        ":NVVMDialect",
6175        ":Pass",
6176        ":SCFTransforms",
6177        "//llvm:Support",
6178    ],
6179)
6180
6181cc_library(
6182    name = "VectorToSPIRV",
6183    srcs = glob([
6184        "lib/Conversion/VectorToSPIRV/*.cpp",
6185    ]),
6186    hdrs = glob([
6187        "include/mlir/Conversion/VectorToSPIRV/*.h",
6188    ]),
6189    includes = ["include"],
6190    deps = [
6191        ":ArithDialect",
6192        ":ConversionPassIncGen",
6193        ":DialectUtils",
6194        ":IR",
6195        ":Pass",
6196        ":SPIRVConversion",
6197        ":SPIRVDialect",
6198        ":Support",
6199        ":TransformUtils",
6200        ":UBDialect",
6201        ":VectorDialect",
6202        "//llvm:Support",
6203    ],
6204)
6205
6206gentbl_cc_library(
6207    name = "GPUToROCDLTGen",
6208    strip_include_prefix = "lib/Conversion/GPUToROCDL",
6209    tbl_outs = [
6210        (
6211            ["-gen-rewriters"],
6212            "lib/Conversion/GPUToROCDL/GPUToROCDL.cpp.inc",
6213        ),
6214    ],
6215    tblgen = ":mlir-tblgen",
6216    td_file = "lib/Conversion/GPUToROCDL/GPUToROCDL.td",
6217    deps = [
6218        ":GPUOpsTdFiles",
6219        ":ROCDLOpsTdFiles",
6220    ],
6221)
6222
6223cc_library(
6224    name = "GPUToROCDLTransforms",
6225    srcs = [
6226        "include/mlir/Conversion/GPUToROCDL/Runtimes.h",
6227        "lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp",
6228    ],
6229    hdrs = ["include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h"],
6230    includes = ["include"],
6231    deps = [
6232        ":AMDGPUToROCDL",
6233        ":ArithToLLVM",
6234        ":ArithTransforms",
6235        ":ControlFlowDialect",
6236        ":ControlFlowToLLVM",
6237        ":ConversionPassIncGen",
6238        ":FuncDialect",
6239        ":FuncToLLVM",
6240        ":GPUCommonTransforms",
6241        ":GPUDialect",
6242        ":GPUToGPURuntimeTransforms",
6243        ":GPUToROCDLTGen",
6244        ":GPUTransforms",
6245        ":IR",
6246        ":LLVMCommonConversion",
6247        ":LLVMDialect",
6248        ":MathDialect",
6249        ":MathToLLVM",
6250        ":MathToROCDL",
6251        ":MemRefDialect",
6252        ":MemRefToLLVM",
6253        ":Pass",
6254        ":ROCDLDialect",
6255        ":TransformUtils",
6256        ":Transforms",
6257        ":VectorDialect",
6258        ":VectorToLLVM",
6259        "//llvm:Support",
6260    ],
6261)
6262
6263cc_library(
6264    name = "GPUToGPURuntimeTransforms",
6265    srcs = [
6266        "lib/Conversion/GPUCommon/AttrToSPIRVConverter.cpp",
6267        "lib/Conversion/GPUCommon/GPUOpsLowering.cpp",
6268        "lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp",
6269    ],
6270    hdrs = [
6271        "include/mlir/Conversion/GPUCommon/AttrToSPIRVConverter.h",
6272        "include/mlir/Conversion/GPUCommon/GPUCommonPass.h",
6273        "include/mlir/Conversion/GPUCommon/GPUToLLVM.h",
6274        "lib/Conversion/GPUCommon/GPUOpsLowering.h",
6275    ],
6276    includes = ["include"],
6277    deps = [
6278        ":ArithToLLVM",
6279        ":AsyncDialect",
6280        ":AsyncToLLVM",
6281        ":ControlFlowToLLVM",
6282        ":ConversionPassIncGen",
6283        ":ConvertToLLVM",
6284        ":ConvertToLLVMInterface",
6285        ":FuncToLLVM",
6286        ":GPUCommonTransforms",
6287        ":GPUDialect",
6288        ":GPUTransforms",
6289        ":GPUUtils",
6290        ":IR",
6291        ":LLVMCommonConversion",
6292        ":LLVMDialect",
6293        ":MemRefDialect",
6294        ":MemRefToLLVM",
6295        ":SPIRVDialect",
6296        ":Support",
6297        ":TransformUtils",
6298        ":VectorToLLVM",
6299        ":VectorTransforms",
6300        "//llvm:Support",
6301    ],
6302)
6303
6304cc_library(
6305    name = "GPUToSPIRV",
6306    srcs = glob([
6307        "lib/Conversion/GPUToSPIRV/*.cpp",
6308    ]),
6309    hdrs = glob([
6310        "include/mlir/Conversion/GPUToSPIRV/*.h",
6311    ]),
6312    includes = [
6313        "include",
6314        "lib/Conversions/GPUToSPIRV",
6315    ],
6316    deps = [
6317        ":ArithToSPIRV",
6318        ":ConversionPassIncGen",
6319        ":FuncDialect",
6320        ":FuncToSPIRV",
6321        ":GPUDialect",
6322        ":IR",
6323        ":MemRefToSPIRV",
6324        ":SCFToSPIRV",
6325        ":SPIRVConversion",
6326        ":SPIRVDialect",
6327        ":Support",
6328        ":TransformUtils",
6329        ":VectorToSPIRV",
6330        "//llvm:Support",
6331    ],
6332)
6333
6334cc_library(
6335    name = "PDLToPDLInterp",
6336    srcs = glob([
6337        "lib/Conversion/PDLToPDLInterp/*.cpp",
6338        "lib/Conversion/PDLToPDLInterp/*.h",
6339    ]),
6340    hdrs = [
6341        "include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h",
6342        "lib/Conversion/PDLToPDLInterp/RootOrdering.h",
6343    ],
6344    includes = ["include"],
6345    deps = [
6346        ":ConversionPassIncGen",
6347        ":IR",
6348        ":InferTypeOpInterface",
6349        ":PDLDialect",
6350        ":PDLInterpDialect",
6351        ":Pass",
6352        ":Support",
6353        "//llvm:Support",
6354    ],
6355)
6356
6357cc_library(
6358    name = "SPIRVToLLVM",
6359    srcs = glob([
6360        "lib/Conversion/SPIRVToLLVM/*.cpp",
6361    ]),
6362    hdrs = glob([
6363        "include/mlir/Conversion/SPIRVToLLVM/*.h",
6364    ]),
6365    includes = ["include"],
6366    deps = [
6367        ":ArithToLLVM",
6368        ":ConversionPassIncGen",
6369        ":FuncDialect",
6370        ":FuncToLLVM",
6371        ":GPUDialect",
6372        ":IR",
6373        ":LLVMCommonConversion",
6374        ":LLVMDialect",
6375        ":MemRefToLLVM",
6376        ":Pass",
6377        ":SPIRVCommonAttrToLLVMConversion",
6378        ":SPIRVDialect",
6379        ":SPIRVUtils",
6380        ":Support",
6381        ":TransformUtils",
6382        "//llvm:Support",
6383    ],
6384)
6385
6386gentbl_cc_library(
6387    name = "LLVMOpsIncGen",
6388    tbl_outs = [
6389        (
6390            ["-gen-op-decls"],
6391            "include/mlir/Dialect/LLVMIR/LLVMOps.h.inc",
6392        ),
6393        (
6394            ["-gen-op-defs"],
6395            "include/mlir/Dialect/LLVMIR/LLVMOps.cpp.inc",
6396        ),
6397        (
6398            ["-gen-dialect-decls"],
6399            "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.inc",
6400        ),
6401        (
6402            ["-gen-dialect-defs"],
6403            "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc",
6404        ),
6405        (
6406            ["-gen-enum-decls"],
6407            "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc",
6408        ),
6409        (
6410            ["-gen-enum-defs"],
6411            "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.cpp.inc",
6412        ),
6413        (
6414            [
6415                "--gen-attrdef-decls",
6416                "-attrdefs-dialect=llvm",
6417            ],
6418            "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.h.inc",
6419        ),
6420        (
6421            [
6422                "--gen-attrdef-defs",
6423                "-attrdefs-dialect=llvm",
6424            ],
6425            "include/mlir/Dialect/LLVMIR/LLVMOpsAttrDefs.cpp.inc",
6426        ),
6427    ],
6428    tblgen = ":mlir-tblgen",
6429    td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
6430    deps = [":LLVMOpsTdFiles"],
6431)
6432
6433gentbl_cc_library(
6434    name = "LLVMTypesIncGen",
6435    tbl_outs = [
6436        (
6437            [
6438                "-gen-typedef-decls",
6439                "-typedefs-dialect=llvm",
6440            ],
6441            "include/mlir/Dialect/LLVMIR/LLVMTypes.h.inc",
6442        ),
6443        (
6444            [
6445                "-gen-typedef-defs",
6446                "-typedefs-dialect=llvm",
6447            ],
6448            "include/mlir/Dialect/LLVMIR/LLVMTypes.cpp.inc",
6449        ),
6450    ],
6451    tblgen = ":mlir-tblgen",
6452    td_file = "include/mlir/Dialect/LLVMIR/LLVMTypes.td",
6453    deps = [":LLVMOpsTdFiles"],
6454)
6455
6456gentbl_cc_library(
6457    name = "LLVMIntrinsicOpsIncGen",
6458    tbl_outs = [
6459        (
6460            ["-gen-op-decls"],
6461            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.h.inc",
6462        ),
6463        (
6464            ["-gen-op-defs"],
6465            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.cpp.inc",
6466        ),
6467    ],
6468    tblgen = ":mlir-tblgen",
6469    td_file = "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td",
6470    deps = [":LLVMOpsTdFiles"],
6471)
6472
6473gentbl_cc_library(
6474    name = "LLVMConversionIncGen",
6475    tbl_outs = [
6476        (
6477            ["-gen-llvmir-conversions"],
6478            "include/mlir/Dialect/LLVMIR/LLVMConversions.inc",
6479        ),
6480        (
6481            ["-gen-enum-to-llvmir-conversions"],
6482            "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc",
6483        ),
6484        (
6485            ["-gen-enum-from-llvmir-conversions"],
6486            "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsFromLLVM.inc",
6487        ),
6488        (
6489            ["-gen-op-from-llvmir-conversions"],
6490            "include/mlir/Dialect/LLVMIR/LLVMOpFromLLVMIRConversions.inc",
6491        ),
6492    ],
6493    tblgen = ":mlir-tblgen",
6494    td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td",
6495    deps = [":LLVMOpsTdFiles"],
6496)
6497
6498gentbl_cc_library(
6499    name = "LLVMIntrinsicConversionIncGen",
6500    tbl_outs = [
6501        (
6502            ["-gen-llvmir-conversions"],
6503            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicConversions.inc",
6504        ),
6505        (
6506            ["-gen-intr-from-llvmir-conversions"],
6507            "include/mlir/Dialect/LLVMIR/LLVMIntrinsicFromLLVMIRConversions.inc",
6508        ),
6509        (
6510            ["-gen-convertible-llvmir-intrinsics"],
6511            "include/mlir/Dialect/LLVMIR/LLVMConvertibleLLVMIRIntrinsics.inc",
6512        ),
6513    ],
6514    tblgen = ":mlir-tblgen",
6515    td_file = "include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td",
6516    deps = [":LLVMOpsTdFiles"],
6517)
6518
6519cc_library(
6520    name = "NVVMDialect",
6521    srcs = [
6522        "lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp",
6523        "lib/Dialect/LLVMIR/IR/NVVMDialect.cpp",
6524    ],
6525    hdrs = [
6526        "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h",
6527        "include/mlir/Dialect/LLVMIR/NVVMDialect.h",
6528    ],
6529    includes = ["include"],
6530    deps = [
6531        ":BasicPtxBuilderIntGen",
6532        ":BytecodeOpInterface",
6533        ":ConvertToLLVMInterface",
6534        ":DialectUtils",
6535        ":GPUDialect",
6536        ":IR",
6537        ":LLVMDialect",
6538        ":NVVMOpsIncGen",
6539        ":SideEffectInterfaces",
6540        ":Support",
6541        ":ToLLVMIRTranslation",
6542        "//llvm:AsmParser",
6543        "//llvm:Core",
6544        "//llvm:Support",
6545    ],
6546)
6547
6548cc_library(
6549    name = "TargetLLVM",
6550    srcs = ["lib/Target/LLVM/ModuleToObject.cpp"],
6551    hdrs = glob(["include/mlir/Target/LLVM/*.h"]),
6552    includes = ["include"],
6553    deps = [
6554        ":ExecutionEngineUtils",
6555        ":IR",
6556        ":LLVMToLLVMIRTranslation",
6557        ":ToLLVMIRTranslation",
6558        "//llvm:BitWriter",
6559        "//llvm:Core",
6560        "//llvm:IPO",
6561        "//llvm:IRReader",
6562        "//llvm:Linker",
6563        "//llvm:MC",
6564        "//llvm:Passes",
6565        "//llvm:Support",
6566        "//llvm:Target",
6567        "//llvm:TargetParser",
6568    ],
6569)
6570
6571cc_library(
6572    name = "NVVMTarget",
6573    srcs = ["lib/Target/LLVM/NVVM/Target.cpp"],
6574    hdrs = glob(["include/mlir/Target/LLVM/NVVM/*.h"]),
6575    includes = ["include"],
6576    deps = [
6577        ":GPUDialect",
6578        ":GPUToLLVMIRTranslation",
6579        ":IR",
6580        ":LLVMToLLVMIRTranslation",
6581        ":NVVMDialect",
6582        ":NVVMToLLVMIRTranslation",
6583        ":TargetLLVM",
6584        ":ToLLVMIRTranslation",
6585        "//llvm:NVPTXCodeGen",
6586        "//llvm:Support",
6587        "//llvm:config",
6588    ],
6589)
6590
6591td_library(
6592    name = "BasicPtxBuilderIntTdFiles",
6593    srcs = [
6594        "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.td",
6595    ],
6596    includes = ["include"],
6597    deps = [
6598        ":GPUOpsTdFiles",
6599        ":LLVMOpsTdFiles",
6600        ":OpBaseTdFiles",
6601    ],
6602)
6603
6604td_library(
6605    name = "NVVMOpsTdFiles",
6606    srcs = ["include/mlir/Dialect/LLVMIR/NVVMOps.td"],
6607    includes = ["include"],
6608    deps = [
6609        ":BasicPtxBuilderIntTdFiles",
6610        ":GPUOpsTdFiles",
6611        ":LLVMOpsTdFiles",
6612        ":OpBaseTdFiles",
6613        ":SideEffectInterfacesTdFiles",
6614    ],
6615)
6616
6617gentbl_cc_library(
6618    name = "BasicPtxBuilderIntGen",
6619    tbl_outs = [
6620        (
6621            [
6622                "-gen-op-interface-decls",
6623            ],
6624            "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.h.inc",
6625        ),
6626        (
6627            [
6628                "-gen-op-interface-defs",
6629            ],
6630            "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.cpp.inc",
6631        ),
6632    ],
6633    tblgen = ":mlir-tblgen",
6634    td_file = "include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.td",
6635    deps = [
6636        ":BasicPtxBuilderIntTdFiles",
6637        ":GPUOpsTdFiles",
6638        ":LLVMOpsTdFiles",
6639    ],
6640)
6641
6642gentbl_cc_library(
6643    name = "NVVMOpsIncGen",
6644    tbl_outs = [
6645        (
6646            ["-gen-op-decls"],
6647            "include/mlir/Dialect/LLVMIR/NVVMOps.h.inc",
6648        ),
6649        (
6650            ["-gen-op-defs"],
6651            "include/mlir/Dialect/LLVMIR/NVVMOps.cpp.inc",
6652        ),
6653        (
6654            [
6655                "-gen-dialect-decls",
6656                "-dialect=nvvm",
6657            ],
6658            "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.inc",
6659        ),
6660        (
6661            [
6662                "-gen-dialect-defs",
6663                "-dialect=nvvm",
6664            ],
6665            "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc",
6666        ),
6667        (
6668            ["-gen-enum-decls"],
6669            "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.h.inc",
6670        ),
6671        (
6672            ["-gen-enum-defs"],
6673            "include/mlir/Dialect/LLVMIR/NVVMOpsEnums.cpp.inc",
6674        ),
6675        (
6676            [
6677                "-gen-attrdef-decls",
6678                "-attrdefs-dialect=nvvm",
6679            ],
6680            "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.h.inc",
6681        ),
6682        (
6683            [
6684                "-gen-attrdef-defs",
6685                "-attrdefs-dialect=nvvm",
6686            ],
6687            "include/mlir/Dialect/LLVMIR/NVVMOpsAttributes.cpp.inc",
6688        ),
6689    ],
6690    tblgen = ":mlir-tblgen",
6691    td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
6692    deps = [":NVVMOpsTdFiles"],
6693)
6694
6695gentbl_cc_library(
6696    name = "NVVMConversionIncGen",
6697    tbl_outs = [
6698        (
6699            ["-gen-llvmir-conversions"],
6700            "include/mlir/Dialect/LLVMIR/NVVMConversions.inc",
6701        ),
6702    ],
6703    tblgen = ":mlir-tblgen",
6704    td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
6705    deps = [":NVVMOpsTdFiles"],
6706)
6707
6708gentbl_cc_library(
6709    name = "NVVMFromLLVMIRConversionsIncGen",
6710    tbl_outs = [
6711        (
6712            ["-gen-intr-from-llvmir-conversions"],
6713            "include/mlir/Dialect/LLVMIR/NVVMFromLLVMIRConversions.inc",
6714        ),
6715    ],
6716    tblgen = ":mlir-tblgen",
6717    td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
6718    deps = [":NVVMOpsTdFiles"],
6719)
6720
6721gentbl_cc_library(
6722    name = "NVVMConvertibleLLVMIRIntrinsicsIncGen",
6723    tbl_outs = [
6724        (
6725            ["-gen-convertible-llvmir-intrinsics"],
6726            "include/mlir/Dialect/LLVMIR/NVVMConvertibleLLVMIRIntrinsics.inc",
6727        ),
6728    ],
6729    tblgen = ":mlir-tblgen",
6730    td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
6731    deps = [":NVVMOpsTdFiles"],
6732)
6733
6734cc_library(
6735    name = "NVVMToLLVM",
6736    srcs = ["lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp"],
6737    hdrs = glob(["include/mlir/Conversion/NVVMToLLVM/*.h"]),
6738    includes = ["include"],
6739    deps = [
6740        ":ConversionPassIncGen",
6741        ":ConvertToLLVMInterface",
6742        ":FuncDialect",
6743        ":IR",
6744        ":LLVMCommonConversion",
6745        ":LLVMDialect",
6746        ":NVVMDialect",
6747        ":Pass",
6748        ":Support",
6749        "//llvm:Support",
6750    ],
6751)
6752
6753cc_library(
6754    name = "ROCDLDialect",
6755    srcs = ["lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp"],
6756    hdrs = ["include/mlir/Dialect/LLVMIR/ROCDLDialect.h"],
6757    includes = ["include"],
6758    deps = [
6759        ":BytecodeOpInterface",
6760        ":GPUDialect",
6761        ":IR",
6762        ":LLVMDialect",
6763        ":ROCDLOpsIncGen",
6764        ":SideEffectInterfaces",
6765        "//llvm:AsmParser",
6766        "//llvm:Core",
6767        "//llvm:Support",
6768    ],
6769)
6770
6771cc_library(
6772    name = "ROCDLTarget",
6773    srcs = [
6774        "lib/Target/LLVM/ROCDL/Target.cpp",
6775        "lib/Target/LLVM/ROCDL/Utils.cpp",
6776    ],
6777    hdrs = glob(["include/mlir/Target/LLVM/ROCDL/*.h"]),
6778    includes = ["include"],
6779    deps = [
6780        ":GPUDialect",
6781        ":GPUToLLVMIRTranslation",
6782        ":IR",
6783        ":LLVMToLLVMIRTranslation",
6784        ":ROCDLDialect",
6785        ":ROCDLToLLVMIRTranslation",
6786        ":Support",
6787        ":TargetLLVM",
6788        ":ToLLVMIRTranslation",
6789        "//llvm:Core",
6790        "//llvm:FrontendOffloading",
6791        "//llvm:MC",
6792        "//llvm:MCParser",
6793        "//llvm:Support",
6794        "//llvm:TargetParser",
6795    ],
6796)
6797
6798td_library(
6799    name = "ROCDLOpsTdFiles",
6800    srcs = ["include/mlir/Dialect/LLVMIR/ROCDLOps.td"],
6801    includes = ["include"],
6802    deps = [
6803        ":GPUOpsTdFiles",
6804        ":LLVMOpsTdFiles",
6805        ":OpBaseTdFiles",
6806        ":SideEffectInterfacesTdFiles",
6807    ],
6808)
6809
6810gentbl_cc_library(
6811    name = "ROCDLOpsIncGen",
6812    tbl_outs = [
6813        (
6814            ["-gen-op-decls"],
6815            "include/mlir/Dialect/LLVMIR/ROCDLOps.h.inc",
6816        ),
6817        (
6818            ["-gen-op-defs"],
6819            "include/mlir/Dialect/LLVMIR/ROCDLOps.cpp.inc",
6820        ),
6821        (
6822            [
6823                "-gen-dialect-decls",
6824                "-dialect=rocdl",
6825            ],
6826            "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc",
6827        ),
6828        (
6829            [
6830                "-gen-dialect-defs",
6831                "-dialect=rocdl",
6832            ],
6833            "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc",
6834        ),
6835        (
6836            [
6837                "-gen-attrdef-decls",
6838                "-attrdefs-dialect=rocdl",
6839            ],
6840            "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.h.inc",
6841        ),
6842        (
6843            [
6844                "-gen-attrdef-defs",
6845                "-attrdefs-dialect=rocdl",
6846            ],
6847            "include/mlir/Dialect/LLVMIR/ROCDLOpsAttributes.cpp.inc",
6848        ),
6849    ],
6850    tblgen = ":mlir-tblgen",
6851    td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
6852    deps = [":ROCDLOpsTdFiles"],
6853)
6854
6855gentbl_cc_library(
6856    name = "ROCDLConversionIncGen",
6857    tbl_outs = [
6858        (
6859            ["-gen-llvmir-conversions"],
6860            "include/mlir/Dialect/LLVMIR/ROCDLConversions.inc",
6861        ),
6862    ],
6863    tblgen = ":mlir-tblgen",
6864    td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
6865    deps = [":ROCDLOpsTdFiles"],
6866)
6867
6868cc_library(
6869    name = "PDLDialect",
6870    srcs = glob([
6871        "lib/Dialect/PDL/IR/*.cpp",
6872    ]),
6873    hdrs = glob([
6874        "include/mlir/Dialect/PDL/IR/*.h",
6875    ]),
6876    includes = ["include"],
6877    deps = [
6878        ":BytecodeOpInterface",
6879        ":IR",
6880        ":InferTypeOpInterface",
6881        ":PDLOpsIncGen",
6882        ":PDLTypesIncGen",
6883        ":SideEffectInterfaces",
6884        "//llvm:Support",
6885    ],
6886)
6887
6888td_library(
6889    name = "PDLDialectTdFiles",
6890    srcs = [
6891        "include/mlir/Dialect/PDL/IR/PDLDialect.td",
6892        "include/mlir/Dialect/PDL/IR/PDLOps.td",
6893        "include/mlir/Dialect/PDL/IR/PDLTypes.td",
6894    ],
6895    deps = [
6896        ":OpBaseTdFiles",
6897        ":SideEffectInterfacesTdFiles",
6898    ],
6899)
6900
6901gentbl_cc_library(
6902    name = "PDLOpsIncGen",
6903    tbl_outs = [
6904        (
6905            ["-gen-op-decls"],
6906            "include/mlir/Dialect/PDL/IR/PDLOps.h.inc",
6907        ),
6908        (
6909            ["-gen-op-defs"],
6910            "include/mlir/Dialect/PDL/IR/PDLOps.cpp.inc",
6911        ),
6912        (
6913            ["-gen-dialect-decls"],
6914            "include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc",
6915        ),
6916        (
6917            ["-gen-dialect-defs"],
6918            "include/mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc",
6919        ),
6920    ],
6921    tblgen = ":mlir-tblgen",
6922    td_file = "include/mlir/Dialect/PDL/IR/PDLOps.td",
6923    deps = [":PDLDialectTdFiles"],
6924)
6925
6926gentbl_cc_library(
6927    name = "PDLTypesIncGen",
6928    tbl_outs = [
6929        (
6930            ["-gen-typedef-decls"],
6931            "include/mlir/Dialect/PDL/IR/PDLOpsTypes.h.inc",
6932        ),
6933        (
6934            ["-gen-typedef-defs"],
6935            "include/mlir/Dialect/PDL/IR/PDLOpsTypes.cpp.inc",
6936        ),
6937    ],
6938    tblgen = ":mlir-tblgen",
6939    td_file = "include/mlir/Dialect/PDL/IR/PDLTypes.td",
6940    deps = [":PDLDialectTdFiles"],
6941)
6942
6943cc_library(
6944    name = "PDLInterpDialect",
6945    srcs = glob([
6946        "lib/Dialect/PDLInterp/IR/*.cpp",
6947    ]),
6948    hdrs = glob([
6949        "include/mlir/Dialect/PDLInterp/IR/*.h",
6950    ]),
6951    includes = ["include"],
6952    deps = [
6953        ":BytecodeOpInterface",
6954        ":FunctionInterfaces",
6955        ":IR",
6956        ":InferTypeOpInterface",
6957        ":PDLDialect",
6958        ":PDLInterpOpsIncGen",
6959        ":SideEffectInterfaces",
6960    ],
6961)
6962
6963td_library(
6964    name = "PDLInterpOpsTdFiles",
6965    srcs = ["include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td"],
6966    includes = ["include"],
6967    deps = [
6968        ":FunctionInterfacesTdFiles",
6969        ":OpBaseTdFiles",
6970        ":PDLDialectTdFiles",
6971        ":SideEffectInterfacesTdFiles",
6972    ],
6973)
6974
6975gentbl_cc_library(
6976    name = "PDLInterpOpsIncGen",
6977    tbl_outs = [
6978        (
6979            ["-gen-op-decls"],
6980            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.h.inc",
6981        ),
6982        (
6983            ["-gen-op-defs"],
6984            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.cpp.inc",
6985        ),
6986        (
6987            [
6988                "-gen-dialect-decls",
6989                "-dialect=pdl_interp",
6990            ],
6991            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc",
6992        ),
6993        (
6994            [
6995                "-gen-dialect-defs",
6996                "-dialect=pdl_interp",
6997            ],
6998            "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc",
6999        ),
7000    ],
7001    tblgen = ":mlir-tblgen",
7002    td_file = "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
7003    deps = [":PDLInterpOpsTdFiles"],
7004)
7005
7006cc_library(
7007    name = "PolynomialDialect",
7008    srcs = glob([
7009        "lib/Dialect/Polynomial/IR/*.cpp",
7010    ]),
7011    hdrs = glob([
7012        "include/mlir/Dialect/Polynomial/IR/*.h",
7013    ]),
7014    includes = ["include"],
7015    deps = [
7016        ":ArithDialect",
7017        ":IR",
7018        ":InferTypeOpInterface",
7019        ":PolynomialAttributesIncGen",
7020        ":PolynomialCanonicalizationIncGen",
7021        ":PolynomialIncGen",
7022        ":Support",
7023        "//llvm:Support",
7024    ],
7025)
7026
7027td_library(
7028    name = "PolynomialTdFiles",
7029    srcs = glob(["include/mlir/Dialect/Polynomial/IR/*.td"]),
7030    includes = ["include"],
7031    deps = [
7032        ":BuiltinDialectTdFiles",
7033        ":InferTypeOpInterfaceTdFiles",
7034        ":OpBaseTdFiles",
7035        ":SideEffectInterfacesTdFiles",
7036    ],
7037)
7038
7039gentbl_cc_library(
7040    name = "PolynomialIncGen",
7041    tbl_outs = [
7042        (
7043            ["-gen-op-decls"],
7044            "include/mlir/Dialect/Polynomial/IR/Polynomial.h.inc",
7045        ),
7046        (
7047            ["-gen-op-defs"],
7048            "include/mlir/Dialect/Polynomial/IR/Polynomial.cpp.inc",
7049        ),
7050        (
7051            [
7052                "-gen-dialect-decls",
7053                "-dialect=polynomial",
7054            ],
7055            "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h.inc",
7056        ),
7057        (
7058            [
7059                "-gen-dialect-defs",
7060                "-dialect=polynomial",
7061            ],
7062            "include/mlir/Dialect/Polynomial/IR/PolynomialDialect.cpp.inc",
7063        ),
7064        (
7065            [
7066                "--gen-typedef-decls",
7067                "-typedefs-dialect=polynomial",
7068            ],
7069            "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h.inc",
7070        ),
7071        (
7072            [
7073                "--gen-typedef-defs",
7074                "-typedefs-dialect=polynomial",
7075            ],
7076            "include/mlir/Dialect/Polynomial/IR/PolynomialTypes.cpp.inc",
7077        ),
7078        (
7079            ["-gen-op-doc"],
7080            "g3doc/Dialects/Polynomial/Polynomial.md",
7081        ),
7082    ],
7083    tblgen = ":mlir-tblgen",
7084    td_file = "include/mlir/Dialect/Polynomial/IR/Polynomial.td",
7085    deps = [":PolynomialTdFiles"],
7086)
7087
7088gentbl_cc_library(
7089    name = "PolynomialAttributesIncGen",
7090    tbl_outs = [
7091        (
7092            [
7093                "-gen-attrdef-decls",
7094                "-attrdefs-dialect=polynomial",
7095            ],
7096            "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h.inc",
7097        ),
7098        (
7099            [
7100                "-gen-attrdef-defs",
7101                "-attrdefs-dialect=polynomial",
7102            ],
7103            "include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.cpp.inc",
7104        ),
7105    ],
7106    tblgen = ":mlir-tblgen",
7107    td_file = "include/mlir/Dialect/Polynomial/IR/Polynomial.td",
7108    deps = [":PolynomialTdFiles"],
7109)
7110
7111gentbl_cc_library(
7112    name = "PolynomialCanonicalizationIncGen",
7113    strip_include_prefix = "include/mlir/Dialect/Polynomial/IR",
7114    tbl_outs = [
7115        (
7116            ["-gen-rewriters"],
7117            "include/mlir/Dialect/Polynomial/IR/PolynomialCanonicalization.inc",
7118        ),
7119    ],
7120    tblgen = ":mlir-tblgen",
7121    td_file = "lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td",
7122    deps = [
7123        ":ArithOpsTdFiles",
7124        ":PolynomialTdFiles",
7125    ],
7126)
7127
7128td_library(
7129    name = "PtrTdFiles",
7130    srcs = [
7131        "include/mlir/Dialect/Ptr/IR/PtrAttrDefs.td",
7132        "include/mlir/Dialect/Ptr/IR/PtrDialect.td",
7133        "include/mlir/Dialect/Ptr/IR/PtrOps.td",
7134    ],
7135    includes = ["include"],
7136    deps = [
7137        ":AttrTdFiles",
7138        ":BuiltinDialectTdFiles",
7139        ":DataLayoutInterfacesTdFiles",
7140        ":OpBaseTdFiles",
7141    ],
7142)
7143
7144gentbl_cc_library(
7145    name = "PtrDialectIncGen",
7146    tbl_outs = [
7147        (
7148            ["-gen-dialect-decls"],
7149            "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.h.inc",
7150        ),
7151        (
7152            ["-gen-dialect-defs"],
7153            "include/mlir/Dialect/Ptr/IR/PtrOpsDialect.cpp.inc",
7154        ),
7155        (
7156            ["-gen-typedef-decls"],
7157            "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.h.inc",
7158        ),
7159        (
7160            ["-gen-typedef-defs"],
7161            "include/mlir/Dialect/Ptr/IR/PtrOpsTypes.cpp.inc",
7162        ),
7163    ],
7164    tblgen = ":mlir-tblgen",
7165    td_file = "include/mlir/Dialect/Ptr/IR/PtrDialect.td",
7166    deps = [
7167        ":PtrTdFiles",
7168    ],
7169)
7170
7171gentbl_cc_library(
7172    name = "PtrOpsIncGen",
7173    tbl_outs = [
7174        (
7175            ["-gen-op-decls"],
7176            "include/mlir/Dialect/Ptr/IR/PtrOps.h.inc",
7177        ),
7178        (
7179            ["-gen-op-defs"],
7180            "include/mlir/Dialect/Ptr/IR/PtrOps.cpp.inc",
7181        ),
7182    ],
7183    tblgen = ":mlir-tblgen",
7184    td_file = "include/mlir/Dialect/Ptr/IR/PtrOps.td",
7185    deps = [
7186        ":PtrTdFiles",
7187    ],
7188)
7189
7190gentbl_cc_library(
7191    name = "PtrAttrsIncGen",
7192    tbl_outs = [
7193        (
7194            ["-gen-attrdef-decls"],
7195            "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.h.inc",
7196        ),
7197        (
7198            ["-gen-attrdef-defs"],
7199            "include/mlir/Dialect/Ptr/IR/PtrOpsAttrs.cpp.inc",
7200        ),
7201    ],
7202    tblgen = ":mlir-tblgen",
7203    td_file = "include/mlir/Dialect/Ptr/IR/PtrAttrDefs.td",
7204    deps = [
7205        ":PtrTdFiles",
7206    ],
7207)
7208
7209cc_library(
7210    name = "PtrDialect",
7211    srcs = glob(
7212        [
7213            "lib/Dialect/Ptr/IR/*.cpp",
7214        ],
7215    ),
7216    hdrs = glob([
7217        "include/mlir/Dialect/Ptr/IR/*.h",
7218    ]),
7219    includes = ["include"],
7220    deps = [
7221        ":BytecodeOpInterface",
7222        ":DataLayoutInterfaces",
7223        ":IR",
7224        ":InliningUtils",
7225        ":PtrAttrsIncGen",
7226        ":PtrDialectIncGen",
7227        ":PtrOpsIncGen",
7228        "//llvm:Support",
7229    ],
7230)
7231
7232td_library(
7233    name = "SPIRVOpsTdFiles",
7234    srcs = glob(["include/mlir/Dialect/SPIRV/IR/*.td"]),
7235    includes = ["include"],
7236    deps = [
7237        ":BuiltinDialectTdFiles",
7238        ":CallInterfacesTdFiles",
7239        ":ControlFlowInterfacesTdFiles",
7240        ":FunctionInterfacesTdFiles",
7241        ":InferTypeOpInterfaceTdFiles",
7242        ":OpBaseTdFiles",
7243        ":SideEffectInterfacesTdFiles",
7244    ],
7245)
7246
7247gentbl_cc_library(
7248    name = "SPIRVOpsIncGen",
7249    tbl_outs = [
7250        (
7251            ["-gen-op-decls"],
7252            "include/mlir/Dialect/SPIRV/IR/SPIRVOps.h.inc",
7253        ),
7254        (
7255            ["-gen-op-defs"],
7256            "include/mlir/Dialect/SPIRV/IR/SPIRVOps.cpp.inc",
7257        ),
7258        (
7259            ["-gen-dialect-decls"],
7260            "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.h.inc",
7261        ),
7262        (
7263            ["-gen-dialect-defs"],
7264            "include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc",
7265        ),
7266        (
7267            ["-gen-op-doc"],
7268            "g3doc/Dialects/SPIRV/SPIRVOps.md",
7269        ),
7270        (
7271            ["-gen-enum-decls"],
7272            "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.h.inc",
7273        ),
7274        (
7275            ["-gen-enum-defs"],
7276            "include/mlir/Dialect/SPIRV/IR/SPIRVEnums.cpp.inc",
7277        ),
7278        (
7279            ["-gen-spirv-enum-avail-decls"],
7280            "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.h.inc",
7281        ),
7282        (
7283            ["-gen-spirv-enum-avail-defs"],
7284            "include/mlir/Dialect/SPIRV/IR/SPIRVEnumAvailability.cpp.inc",
7285        ),
7286        (
7287            ["-gen-spirv-capability-implication"],
7288            "include/mlir/Dialect/SPIRV/IR/SPIRVCapabilityImplication.inc",
7289        ),
7290    ],
7291    tblgen = ":mlir-tblgen",
7292    td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
7293    deps = [":SPIRVOpsTdFiles"],
7294)
7295
7296gentbl_cc_library(
7297    name = "SPIRVAttributesIncGen",
7298    tbl_outs = [
7299        (
7300            ["-gen-attrdef-decls"],
7301            "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h.inc",
7302        ),
7303        (
7304            ["-gen-attrdef-defs"],
7305            "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.cpp.inc",
7306        ),
7307    ],
7308    tblgen = ":mlir-tblgen",
7309    td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td",
7310    deps = [":SPIRVOpsTdFiles"],
7311)
7312
7313gentbl_cc_library(
7314    name = "SPIRVCanonicalizationIncGen",
7315    strip_include_prefix = "lib/Dialect/SPIRV/IR",
7316    tbl_outs = [
7317        (
7318            ["-gen-rewriters"],
7319            "lib/Dialect/SPIRV/IR/SPIRVCanonicalization.inc",
7320        ),
7321    ],
7322    tblgen = ":mlir-tblgen",
7323    td_file = "lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td",
7324    deps = [":SPIRVOpsTdFiles"],
7325)
7326
7327gentbl_cc_library(
7328    name = "SPIRVAvailabilityIncGen",
7329    tbl_outs = [
7330        (
7331            ["-gen-avail-interface-decls"],
7332            "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.h.inc",
7333        ),
7334        (
7335            ["-gen-avail-interface-defs"],
7336            "include/mlir/Dialect/SPIRV/IR/SPIRVAvailability.cpp.inc",
7337        ),
7338        (
7339            ["-gen-spirv-avail-impls"],
7340            "include/mlir/Dialect/SPIRV/IR/SPIRVOpAvailabilityImpl.inc",
7341        ),
7342    ],
7343    tblgen = ":mlir-tblgen",
7344    td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
7345    deps = [":SPIRVOpsTdFiles"],
7346)
7347
7348gentbl_cc_library(
7349    name = "SPIRVAttrUtilsGen",
7350    tbl_outs = [
7351        (
7352            ["-gen-spirv-attr-utils"],
7353            "include/mlir/Dialect/SPIRV/IR/SPIRVAttrUtils.inc",
7354        ),
7355    ],
7356    tblgen = ":mlir-tblgen",
7357    td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVBase.td",
7358    deps = [":SPIRVOpsTdFiles"],
7359)
7360
7361gentbl_cc_library(
7362    name = "SPIRVSerializationGen",
7363    tbl_outs = [
7364        (
7365            ["-gen-spirv-serialization"],
7366            "include/mlir/Dialect/SPIRV/IR/SPIRVSerialization.inc",
7367        ),
7368    ],
7369    tblgen = ":mlir-tblgen",
7370    td_file = "include/mlir/Dialect/SPIRV/IR/SPIRVOps.td",
7371    deps = [":SPIRVOpsTdFiles"],
7372)
7373
7374cc_library(
7375    name = "SPIRVDialect",
7376    srcs = glob([
7377        "lib/Dialect/SPIRV/IR/*.cpp",
7378        "lib/Dialect/SPIRV/IR/*.h",
7379    ]),
7380    hdrs = glob([
7381        "include/mlir/Dialect/SPIRV/IR/*.h",
7382    ]),
7383    includes = ["include"],
7384    deps = [
7385        ":BytecodeOpInterface",
7386        ":CallOpInterfaces",
7387        ":CommonFolders",
7388        ":ControlFlowInterfaces",
7389        ":FunctionInterfaces",
7390        ":GPUDialect",
7391        ":IR",
7392        ":InferTypeOpInterface",
7393        ":InliningUtils",
7394        ":Parser",
7395        ":SPIRVAttrUtilsGen",
7396        ":SPIRVAttributesIncGen",
7397        ":SPIRVAvailabilityIncGen",
7398        ":SPIRVCanonicalizationIncGen",
7399        ":SPIRVOpsIncGen",
7400        ":SideEffectInterfaces",
7401        ":Support",
7402        ":UBDialect",
7403        "//llvm:Support",
7404    ],
7405)
7406
7407cc_library(
7408    name = "SPIRVTarget",
7409    srcs = ["lib/Target/SPIRV/Target.cpp"],
7410    hdrs = ["include/mlir/Target/SPIRV/Target.h"],
7411    includes = ["include"],
7412    deps = [
7413        ":GPUDialect",
7414        ":SPIRVDialect",
7415        ":SPIRVSerialization",
7416    ],
7417)
7418
7419gentbl_cc_library(
7420    name = "SPIRVPassIncGen",
7421    tbl_outs = [
7422        (
7423            [
7424                "-gen-pass-decls",
7425                "-name=SPIRV",
7426            ],
7427            "include/mlir/Dialect/SPIRV/Transforms/Passes.h.inc",
7428        ),
7429    ],
7430    tblgen = ":mlir-tblgen",
7431    td_file = "include/mlir/Dialect/SPIRV/Transforms/Passes.td",
7432    deps = [":PassBaseTdFiles"],
7433)
7434
7435cc_library(
7436    name = "SPIRVUtils",
7437    srcs = glob([
7438        "lib/Dialect/SPIRV/Utils/*.cpp",
7439    ]),
7440    hdrs = glob([
7441        "include/mlir/Dialect/SPIRV/Utils/*.h",
7442    ]),
7443    includes = ["include"],
7444    deps = [":SPIRVDialect"],
7445)
7446
7447cc_library(
7448    name = "SPIRVConversion",
7449    srcs = ["lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp"],
7450    hdrs = ["include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"],
7451    includes = ["include"],
7452    deps = [
7453        ":ArithDialect",
7454        ":DialectUtils",
7455        ":FuncDialect",
7456        ":IR",
7457        ":Pass",
7458        ":SPIRVDialect",
7459        ":Support",
7460        ":TransformUtils",
7461        ":VectorDialect",
7462        ":VectorTransforms",
7463        "//llvm:Support",
7464    ],
7465)
7466
7467cc_library(
7468    name = "SPIRVTransforms",
7469    srcs = glob(
7470        [
7471            "lib/Dialect/SPIRV/Transforms/*.cpp",
7472        ],
7473        exclude = ["lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp"],
7474    ),
7475    hdrs = glob(
7476        ["include/mlir/Dialect/SPIRV/Transforms/*.h"],
7477        exclude = ["include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h"],
7478    ),
7479    includes = ["include"],
7480    deps = [
7481        ":FuncDialect",
7482        ":IR",
7483        ":Pass",
7484        ":SPIRVConversion",
7485        ":SPIRVDialect",
7486        ":SPIRVPassIncGen",
7487        ":SPIRVUtils",
7488        ":Support",
7489        ":TransformUtils",
7490        "//llvm:Support",
7491    ],
7492)
7493
7494cc_library(
7495    name = "SPIRVCommonConversion",
7496    hdrs = ["lib/Conversion/SPIRVCommon/Pattern.h"],
7497    includes = ["include"],
7498    deps = [
7499        ":IR",
7500        ":SPIRVDialect",
7501        ":TransformUtils",
7502        "//llvm:Support",
7503    ],
7504)
7505
7506cc_library(
7507    name = "SPIRVCommonAttrToLLVMConversion",
7508    srcs = ["lib/Conversion/SPIRVCommon/AttrToLLVMConverter.cpp"],
7509    hdrs = ["include/mlir/Conversion/SPIRVCommon/AttrToLLVMConverter.h"],
7510    includes = ["include"],
7511    deps = [
7512        ":SPIRVDialect",
7513    ],
7514)
7515
7516cc_library(
7517    name = "MathToSPIRV",
7518    srcs = glob([
7519        "lib/Conversion/MathToSPIRV/*.cpp",
7520    ]),
7521    hdrs = glob([
7522        "include/mlir/Conversion/MathToSPIRV/*.h",
7523    ]),
7524    includes = [
7525        "include",
7526        "lib/Conversion/MathToSPIRV",
7527    ],
7528    deps = [
7529        ":ConversionPassIncGen",
7530        ":IR",
7531        ":MathDialect",
7532        ":Pass",
7533        ":SPIRVCommonConversion",
7534        ":SPIRVConversion",
7535        ":SPIRVDialect",
7536        ":TransformUtils",
7537        "//llvm:Support",
7538    ],
7539)
7540
7541cc_library(
7542    name = "MathToROCDL",
7543    srcs = glob([
7544        "lib/Conversion/MathToROCDL/*.cpp",
7545    ]),
7546    hdrs = glob([
7547        "include/mlir/Conversion/MathToROCDL/*.h",
7548    ]),
7549    includes = ["include"],
7550    deps = [
7551        ":ConversionPassIncGen",
7552        ":DialectUtils",
7553        ":FuncDialect",
7554        ":GPUCommonTransforms",
7555        ":GPUToGPURuntimeTransforms",
7556        ":IR",
7557        ":LLVMCommonConversion",
7558        ":LLVMDialect",
7559        ":MathDialect",
7560        ":Pass",
7561        ":ROCDLDialect",
7562        ":TransformUtils",
7563        ":VectorDialect",
7564    ],
7565)
7566
7567cc_library(
7568    name = "FuncToEmitC",
7569    srcs = glob([
7570        "lib/Conversion/FuncToEmitC/*.cpp",
7571    ]),
7572    hdrs = glob([
7573        "include/mlir/Conversion/FuncToEmitC/*.h",
7574    ]),
7575    includes = [
7576        "include",
7577        "lib/Conversion/FuncToEmitC",
7578    ],
7579    deps = [
7580        ":ConversionPassIncGen",
7581        ":EmitCDialect",
7582        ":FuncDialect",
7583        ":Pass",
7584        ":TransformUtils",
7585    ],
7586)
7587
7588cc_library(
7589    name = "FuncToSPIRV",
7590    srcs = glob([
7591        "lib/Conversion/FuncToSPIRV/*.cpp",
7592    ]),
7593    hdrs = glob([
7594        "include/mlir/Conversion/FuncToSPIRV/*.h",
7595    ]),
7596    includes = [
7597        "include",
7598        "lib/Conversion/FuncToSPIRV",
7599    ],
7600    deps = [
7601        ":ConversionPassIncGen",
7602        ":FuncDialect",
7603        ":IR",
7604        ":Pass",
7605        ":SPIRVCommonConversion",
7606        ":SPIRVConversion",
7607        ":SPIRVDialect",
7608        ":SPIRVUtils",
7609        ":Support",
7610        ":TransformUtils",
7611        "//llvm:Support",
7612    ],
7613)
7614
7615cc_library(
7616    name = "TensorToLinalg",
7617    srcs = glob([
7618        "lib/Conversion/TensorToLinalg/*.cpp",
7619    ]),
7620    hdrs = glob([
7621        "include/mlir/Conversion/TensorToLinalg/*.h",
7622    ]),
7623    includes = [
7624        "include",
7625        "lib/Conversion/TensorToLinalg",
7626    ],
7627    deps = [
7628        ":ArithDialect",
7629        ":ConversionPassIncGen",
7630        ":IR",
7631        ":LinalgDialect",
7632        ":LinalgTransforms",
7633        ":Pass",
7634        ":Support",
7635        ":TensorDialect",
7636        ":TransformUtils",
7637        "//llvm:Support",
7638    ],
7639)
7640
7641cc_library(
7642    name = "TensorToSPIRV",
7643    srcs = glob([
7644        "lib/Conversion/TensorToSPIRV/*.cpp",
7645    ]),
7646    hdrs = glob([
7647        "include/mlir/Conversion/TensorToSPIRV/*.h",
7648    ]),
7649    includes = [
7650        "include",
7651        "lib/Conversion/TensorToSPIRV",
7652    ],
7653    deps = [
7654        ":ArithToSPIRV",
7655        ":ConversionPassIncGen",
7656        ":FuncToSPIRV",
7657        ":IR",
7658        ":Pass",
7659        ":SPIRVCommonConversion",
7660        ":SPIRVConversion",
7661        ":SPIRVDialect",
7662        ":SPIRVUtils",
7663        ":Support",
7664        ":TensorDialect",
7665        ":TransformUtils",
7666        "//llvm:Support",
7667    ],
7668)
7669
7670cc_library(
7671    name = "SPIRVBinaryUtils",
7672    srcs = ["lib/Target/SPIRV/SPIRVBinaryUtils.cpp"],
7673    hdrs = ["include/mlir/Target/SPIRV/SPIRVBinaryUtils.h"],
7674    includes = ["include"],
7675    deps = [
7676        ":SPIRVDialect",
7677        ":Support",
7678        "//llvm:config",
7679    ],
7680)
7681
7682cc_library(
7683    name = "SPIRVSerialization",
7684    srcs = [
7685        "lib/Target/SPIRV/Serialization/Serialization.cpp",
7686        "lib/Target/SPIRV/Serialization/SerializeOps.cpp",
7687        "lib/Target/SPIRV/Serialization/Serializer.cpp",
7688        "lib/Target/SPIRV/Serialization/Serializer.h",
7689    ],
7690    hdrs = ["include/mlir/Target/SPIRV/Serialization.h"],
7691    includes = ["include"],
7692    deps = [
7693        ":IR",
7694        ":SPIRVBinaryUtils",
7695        ":SPIRVDialect",
7696        ":SPIRVSerializationGen",
7697        ":Support",
7698        "//llvm:Support",
7699    ],
7700)
7701
7702cc_library(
7703    name = "SPIRVDeserialization",
7704    srcs = glob([
7705        "lib/Target/SPIRV/Deserialization/*.cpp",
7706        "lib/Target/SPIRV/Deserialization/*.h",
7707    ]),
7708    hdrs = ["include/mlir/Target/SPIRV/Deserialization.h"],
7709    includes = ["include"],
7710    deps = [
7711        ":IR",
7712        ":SPIRVBinaryUtils",
7713        ":SPIRVDialect",
7714        ":SPIRVSerializationGen",
7715        ":Support",
7716        "//llvm:Support",
7717    ],
7718)
7719
7720cc_library(
7721    name = "SPIRVModuleCombiner",
7722    srcs = glob(
7723        ["lib/Dialect/SPIRV/Linking/ModuleCombiner/*.cpp"],
7724    ),
7725    hdrs = ["include/mlir/Dialect/SPIRV/Linking/ModuleCombiner.h"],
7726    includes = ["include"],
7727    deps = [
7728        ":IR",
7729        ":SPIRVDialect",
7730        ":Support",
7731        "//llvm:Support",
7732    ],
7733)
7734
7735cc_library(
7736    name = "SPIRVTranslateRegistration",
7737    srcs = ["lib/Target/SPIRV/TranslateRegistration.cpp"],
7738    includes = ["include"],
7739    deps = [
7740        ":IR",
7741        ":Parser",
7742        ":SPIRVDeserialization",
7743        ":SPIRVDialect",
7744        ":SPIRVSerialization",
7745        ":Support",
7746        ":TranslateLib",
7747        "//llvm:Support",
7748    ],
7749)
7750
7751td_library(
7752    name = "TensorOpsTdFiles",
7753    srcs = [
7754        "include/mlir/Dialect/Tensor/IR/TensorBase.td",
7755        "include/mlir/Dialect/Tensor/IR/TensorOps.td",
7756    ],
7757    includes = ["include"],
7758    deps = [
7759        ":CastInterfacesTdFiles",
7760        ":ControlFlowInterfacesTdFiles",
7761        ":DestinationStyleOpInterfaceTdFiles",
7762        ":InferTypeOpInterfaceTdFiles",
7763        ":OpBaseTdFiles",
7764        ":ParallelCombiningOpInterfaceTdFiles",
7765        ":ShapedOpInterfacesTdFiles",
7766        ":SideEffectInterfacesTdFiles",
7767        ":TilingInterfaceTdFiles",
7768        ":ViewLikeInterfaceTdFiles",
7769    ],
7770)
7771
7772gentbl_cc_library(
7773    name = "TensorOpsIncGen",
7774    tbl_outs = [
7775        (
7776            [
7777                "-gen-dialect-decls",
7778                "-dialect=tensor",
7779            ],
7780            "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.h.inc",
7781        ),
7782        (
7783            [
7784                "-gen-dialect-defs",
7785                "-dialect=tensor",
7786            ],
7787            "include/mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc",
7788        ),
7789        (
7790            ["-gen-op-decls"],
7791            "include/mlir/Dialect/Tensor/IR/TensorOps.h.inc",
7792        ),
7793        (
7794            ["-gen-op-defs"],
7795            "include/mlir/Dialect/Tensor/IR/TensorOps.cpp.inc",
7796        ),
7797    ],
7798    tblgen = ":mlir-tblgen",
7799    td_file = "include/mlir/Dialect/Tensor/IR/TensorOps.td",
7800    deps = [":TensorOpsTdFiles"],
7801)
7802
7803cc_library(
7804    name = "TensorDialect",
7805    srcs = [
7806        "lib/Dialect/Tensor/IR/TensorDialect.cpp",
7807        "lib/Dialect/Tensor/IR/TensorOps.cpp",
7808        "lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp",
7809    ],
7810    hdrs = [
7811        "include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h",
7812        "include/mlir/Dialect/Tensor/IR/Tensor.h",
7813        "include/mlir/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.h",
7814    ],
7815    includes = ["include"],
7816    deps = [
7817        ":AffineDialect",
7818        ":ArithDialect",
7819        ":ArithUtils",
7820        ":BufferizationInterfaces",
7821        ":BytecodeOpInterface",
7822        ":CastInterfaces",
7823        ":ComplexDialect",
7824        ":ControlFlowInterfaces",
7825        ":DestinationStyleOpInterface",
7826        ":DialectUtils",
7827        ":IR",
7828        ":InferTypeOpInterface",
7829        ":InliningUtils",
7830        ":LoopLikeInterface",
7831        ":ParallelCombiningOpInterface",
7832        ":ShapedOpInterfaces",
7833        ":SideEffectInterfaces",
7834        ":SubsetOpInterface",
7835        ":Support",
7836        ":TensorOpsIncGen",
7837        ":TilingInterface",
7838        ":TransformDialectInterfaces",
7839        ":ValueBoundsOpInterface",
7840        ":ViewLikeInterface",
7841        "//llvm:Support",
7842    ],
7843)
7844
7845cc_library(
7846    name = "TensorInferTypeOpInterfaceImpl",
7847    srcs = ["lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp"],
7848    hdrs = ["include/mlir/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.h"],
7849    includes = ["include"],
7850    deps = [
7851        ":AffineDialect",
7852        ":ArithUtils",
7853        ":DialectUtils",
7854        ":IR",
7855        ":InferTypeOpInterface",
7856        ":TensorDialect",
7857    ],
7858)
7859
7860cc_library(
7861    name = "TensorTilingInterfaceImpl",
7862    srcs = ["lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp"],
7863    hdrs = ["include/mlir/Dialect/Tensor/IR/TensorTilingInterfaceImpl.h"],
7864    includes = ["include"],
7865    deps = [
7866        ":AffineDialect",
7867        ":AffineUtils",
7868        ":ArithUtils",
7869        ":DialectUtils",
7870        ":IR",
7871        ":InferTypeOpInterface",
7872        ":LinalgDialect",
7873        ":LinalgUtils",
7874        ":SCFDialect",
7875        ":TensorDialect",
7876        ":TensorUtils",
7877        ":TilingInterface",
7878        ":ValueBoundsOpInterface",
7879    ],
7880)
7881
7882cc_library(
7883    name = "TensorExtensions",
7884    srcs = glob(["lib/Dialect/Tensor/Extensions/*.cpp"]),
7885    hdrs = glob(["include/mlir/Dialect/Tensor/Extensions/*.h"]),
7886    includes = ["include"],
7887    deps = [
7888        ":DialectUtils",
7889        ":IR",
7890        ":MeshDialect",
7891        ":MeshShardingInterface",
7892        ":MeshShardingInterfaceIncGen",
7893        ":Support",
7894        ":TensorDialect",
7895        "//llvm:Support",
7896    ],
7897)
7898
7899cc_library(
7900    name = "TensorUtils",
7901    srcs = ["lib/Dialect/Tensor/Utils/Utils.cpp"],
7902    hdrs = ["include/mlir/Dialect/Tensor/Utils/Utils.h"],
7903    includes = ["include"],
7904    deps = [
7905        ":AffineDialect",
7906        ":ArithDialect",
7907        ":ArithUtils",
7908        ":DialectUtils",
7909        ":TensorDialect",
7910        ":ValueBoundsOpInterface",
7911        ":VectorDialect",
7912    ],
7913)
7914
7915gentbl_cc_library(
7916    name = "TensorPassIncGen",
7917    tbl_outs = [
7918        (
7919            [
7920                "-gen-pass-decls",
7921                "-name=Tensor",
7922            ],
7923            "include/mlir/Dialect/Tensor/Transforms/Passes.h.inc",
7924        ),
7925    ],
7926    tblgen = ":mlir-tblgen",
7927    td_file = "include/mlir/Dialect/Tensor/Transforms/Passes.td",
7928    deps = [":PassBaseTdFiles"],
7929)
7930
7931cc_library(
7932    name = "TensorTransforms",
7933    srcs = glob(
7934        [
7935            "lib/Dialect/Tensor/Transforms/*.cpp",
7936        ],
7937    ),
7938    hdrs = glob(["include/mlir/Dialect/Tensor/Transforms/*.h"]),
7939    includes = ["include"],
7940    deps = [
7941        ":AffineDialect",
7942        ":AffineTransforms",
7943        ":AffineUtils",
7944        ":ArithDialect",
7945        ":ArithUtils",
7946        ":BufferizationDialect",
7947        ":BufferizationInterfaces",
7948        ":BufferizationTransforms",
7949        ":DialectUtils",
7950        ":FuncDialect",
7951        ":IR",
7952        ":LinalgDialect",
7953        ":MemRefDialect",
7954        ":Pass",
7955        ":SCFDialect",
7956        ":SubsetOpInterface",
7957        ":TensorDialect",
7958        ":TensorPassIncGen",
7959        ":TensorUtils",
7960        ":TilingInterface",
7961        ":TransformUtils",
7962        ":ValueBoundsOpInterface",
7963        ":VectorDialect",
7964        ":VectorUtils",
7965        ":ViewLikeInterface",
7966        "//llvm:Support",
7967    ],
7968)
7969
7970td_library(
7971    name = "TensorTransformOpsTdFiles",
7972    srcs = [
7973        "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td",
7974    ],
7975    includes = ["include"],
7976    deps = [
7977        ":TransformDialectTdFiles",
7978    ],
7979)
7980
7981gentbl_cc_library(
7982    name = "TensorTransformOpsIncGen",
7983    tbl_outs = [
7984        (
7985            ["-gen-op-decls"],
7986            "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.h.inc",
7987        ),
7988        (
7989            ["-gen-op-defs"],
7990            "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.cpp.inc",
7991        ),
7992    ],
7993    tblgen = ":mlir-tblgen",
7994    td_file = "include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td",
7995    deps = [
7996        ":TensorTransformOpsTdFiles",
7997    ],
7998)
7999
8000cc_library(
8001    name = "TensorTransformOps",
8002    srcs = glob(["lib/Dialect/Tensor/TransformOps/*.cpp"]),
8003    hdrs = glob(["include/mlir/Dialect/Tensor/TransformOps/*.h"]),
8004    includes = ["include"],
8005    deps = [
8006        ":AffineDialect",
8007        ":IR",
8008        ":SCFDialect",
8009        ":TensorDialect",
8010        ":TensorTransformOpsIncGen",
8011        ":TensorTransforms",
8012        ":TensorUtils",
8013        ":TransformDialect",
8014        ":TransformDialectInterfaces",
8015        ":TransformUtils",
8016    ],
8017)
8018
8019cc_library(
8020    name = "Rewrite",
8021    srcs = glob([
8022        "lib/Rewrite/*.cpp",
8023        "lib/Rewrite/*.h",
8024    ]),
8025    hdrs = glob(["include/mlir/Rewrite/*.h"]),
8026    includes = ["include"],
8027    deps = [
8028        ":Analysis",
8029        ":IR",
8030        ":PDLDialect",
8031        ":PDLInterpDialect",
8032        ":PDLToPDLInterp",
8033        ":Pass",
8034        ":SideEffectInterfaces",
8035        "//llvm:Support",
8036    ],
8037)
8038
8039cc_library(
8040    name = "TransformUtils",
8041    srcs = glob(
8042        include = ["lib/Transforms/Utils/*.cpp"],
8043        exclude = ["lib/Transforms/Utils/InliningUtils.cpp"],
8044    ) + [
8045    ],
8046    hdrs = [
8047        "include/mlir/Transforms/CFGToSCF.h",
8048        "include/mlir/Transforms/CommutativityUtils.h",
8049        "include/mlir/Transforms/ControlFlowSinkUtils.h",
8050        "include/mlir/Transforms/DialectConversion.h",
8051        "include/mlir/Transforms/FoldUtils.h",
8052        "include/mlir/Transforms/GreedyPatternRewriteDriver.h",
8053        "include/mlir/Transforms/Inliner.h",
8054        "include/mlir/Transforms/LoopInvariantCodeMotionUtils.h",
8055        "include/mlir/Transforms/OneToNTypeConversion.h",
8056        "include/mlir/Transforms/RegionUtils.h",
8057        "include/mlir/Transforms/WalkPatternRewriteDriver.h",
8058    ],
8059    includes = ["include"],
8060    deps = [
8061        ":Analysis",
8062        ":CallOpInterfaces",
8063        ":ControlFlowInterfaces",
8064        ":FunctionInterfaces",
8065        ":IR",
8066        ":InliningUtils",
8067        ":LoopLikeInterface",
8068        ":Pass",
8069        ":Rewrite",
8070        ":SideEffectInterfaces",
8071        ":SubsetOpInterface",
8072        ":Support",
8073        ":config",
8074        "//llvm:Support",
8075    ],
8076)
8077
8078gentbl_cc_library(
8079    name = "DerivedAttributeOpInterfaceIncGen",
8080    tbl_outs = [
8081        (
8082            ["-gen-op-interface-decls"],
8083            "include/mlir/Interfaces/DerivedAttributeOpInterface.h.inc",
8084        ),
8085        (
8086            ["-gen-op-interface-defs"],
8087            "include/mlir/Interfaces/DerivedAttributeOpInterface.cpp.inc",
8088        ),
8089    ],
8090    tblgen = ":mlir-tblgen",
8091    td_file = "include/mlir/Interfaces/DerivedAttributeOpInterface.td",
8092    deps = [":DerivedAttributeOpInterfaceTdFiles"],
8093)
8094
8095cc_library(
8096    name = "DerivedAttributeOpInterface",
8097    srcs = ["lib/Interfaces/DerivedAttributeOpInterface.cpp"],
8098    hdrs = ["include/mlir/Interfaces/DerivedAttributeOpInterface.h"],
8099    includes = ["include"],
8100    deps = [
8101        ":DerivedAttributeOpInterfaceIncGen",
8102        ":IR",
8103    ],
8104)
8105
8106gentbl_cc_library(
8107    name = "DestinationStyleOpInterfaceIncGen",
8108    tbl_outs = [
8109        (
8110            ["-gen-op-interface-decls"],
8111            "include/mlir/Interfaces/DestinationStyleOpInterface.h.inc",
8112        ),
8113        (
8114            ["-gen-op-interface-defs"],
8115            "include/mlir/Interfaces/DestinationStyleOpInterface.cpp.inc",
8116        ),
8117    ],
8118    tblgen = ":mlir-tblgen",
8119    td_file = "include/mlir/Interfaces/DestinationStyleOpInterface.td",
8120    deps = [":DestinationStyleOpInterfaceTdFiles"],
8121)
8122
8123cc_library(
8124    name = "DestinationStyleOpInterface",
8125    srcs = ["lib/Interfaces/DestinationStyleOpInterface.cpp"],
8126    hdrs = ["include/mlir/Interfaces/DestinationStyleOpInterface.h"],
8127    includes = ["include"],
8128    deps = [
8129        ":DestinationStyleOpInterfaceIncGen",
8130        ":IR",
8131        "//llvm:Support",
8132    ],
8133)
8134
8135gentbl_cc_library(
8136    name = "InferIntRangeInterfaceIncGen",
8137    tbl_outs = [
8138        (
8139            ["-gen-op-interface-decls"],
8140            "include/mlir/Interfaces/InferIntRangeInterface.h.inc",
8141        ),
8142        (
8143            ["-gen-op-interface-defs"],
8144            "include/mlir/Interfaces/InferIntRangeInterface.cpp.inc",
8145        ),
8146    ],
8147    tblgen = ":mlir-tblgen",
8148    td_file = "include/mlir/Interfaces/InferIntRangeInterface.td",
8149    deps = [":InferIntRangeInterfaceTdFiles"],
8150)
8151
8152cc_library(
8153    name = "InferIntRangeInterface",
8154    srcs = ["lib/Interfaces/InferIntRangeInterface.cpp"],
8155    hdrs = ["include/mlir/Interfaces/InferIntRangeInterface.h"],
8156    includes = ["include"],
8157    deps = [
8158        ":IR",
8159        ":InferIntRangeInterfaceIncGen",
8160    ],
8161)
8162
8163td_library(
8164    name = "DataLayoutInterfacesTdFiles",
8165    srcs = ["include/mlir/Interfaces/DataLayoutInterfaces.td"],
8166    includes = ["include"],
8167)
8168
8169gentbl_cc_library(
8170    name = "DataLayoutInterfacesIncGen",
8171    tbl_outs = [
8172        (
8173            ["-gen-attr-interface-decls"],
8174            "include/mlir/Interfaces/DataLayoutAttrInterface.h.inc",
8175        ),
8176        (
8177            ["-gen-attr-interface-defs"],
8178            "include/mlir/Interfaces/DataLayoutAttrInterface.cpp.inc",
8179        ),
8180        (
8181            ["-gen-op-interface-decls"],
8182            "include/mlir/Interfaces/DataLayoutOpInterface.h.inc",
8183        ),
8184        (
8185            ["-gen-op-interface-defs"],
8186            "include/mlir/Interfaces/DataLayoutOpInterface.cpp.inc",
8187        ),
8188        (
8189            ["-gen-type-interface-decls"],
8190            "include/mlir/Interfaces/DataLayoutTypeInterface.h.inc",
8191        ),
8192        (
8193            ["-gen-type-interface-defs"],
8194            "include/mlir/Interfaces/DataLayoutTypeInterface.cpp.inc",
8195        ),
8196    ],
8197    tblgen = ":mlir-tblgen",
8198    td_file = "include/mlir/Interfaces/DataLayoutInterfaces.td",
8199    deps = [":OpBaseTdFiles"],
8200)
8201
8202gentbl_cc_library(
8203    name = "LoopLikeInterfaceIncGen",
8204    tbl_outs = [
8205        (
8206            ["-gen-op-interface-decls"],
8207            "include/mlir/Interfaces/LoopLikeInterface.h.inc",
8208        ),
8209        (
8210            ["-gen-op-interface-defs"],
8211            "include/mlir/Interfaces/LoopLikeInterface.cpp.inc",
8212        ),
8213    ],
8214    tblgen = ":mlir-tblgen",
8215    td_file = "include/mlir/Interfaces/LoopLikeInterface.td",
8216    deps = [":LoopLikeInterfaceTdFiles"],
8217)
8218
8219gentbl_cc_library(
8220    name = "MemorySlotInterfacesIncGen",
8221    tbl_outs = [
8222        (
8223            ["-gen-op-interface-decls"],
8224            "include/mlir/Interfaces/MemorySlotOpInterfaces.h.inc",
8225        ),
8226        (
8227            ["-gen-op-interface-defs"],
8228            "include/mlir/Interfaces/MemorySlotOpInterfaces.cpp.inc",
8229        ),
8230        (
8231            ["-gen-type-interface-decls"],
8232            "include/mlir/Interfaces/MemorySlotTypeInterfaces.h.inc",
8233        ),
8234        (
8235            ["-gen-type-interface-defs"],
8236            "include/mlir/Interfaces/MemorySlotTypeInterfaces.cpp.inc",
8237        ),
8238    ],
8239    tblgen = ":mlir-tblgen",
8240    td_file = "include/mlir/Interfaces/MemorySlotInterfaces.td",
8241    deps = [":MemorySlotInterfacesTdFiles"],
8242)
8243
8244gentbl_cc_library(
8245    name = "ShapedOpInterfacesIncGen",
8246    tbl_outs = [
8247        (
8248            ["-gen-op-interface-decls"],
8249            "include/mlir/Interfaces/ShapedOpInterfaces.h.inc",
8250        ),
8251        (
8252            ["-gen-op-interface-defs"],
8253            "include/mlir/Interfaces/ShapedOpInterfaces.cpp.inc",
8254        ),
8255    ],
8256    tblgen = ":mlir-tblgen",
8257    td_file = "include/mlir/Interfaces/ShapedOpInterfaces.td",
8258    deps = [":ShapedOpInterfacesTdFiles"],
8259)
8260
8261gentbl_cc_library(
8262    name = "ParallelCombiningOpInterfaceIncGen",
8263    tbl_outs = [
8264        (
8265            ["-gen-op-interface-decls"],
8266            "include/mlir/Interfaces/ParallelCombiningOpInterface.h.inc",
8267        ),
8268        (
8269            ["-gen-op-interface-defs"],
8270            "include/mlir/Interfaces/ParallelCombiningOpInterface.cpp.inc",
8271        ),
8272    ],
8273    tblgen = ":mlir-tblgen",
8274    td_file = "include/mlir/Interfaces/ParallelCombiningOpInterface.td",
8275    deps = [":ParallelCombiningOpInterfaceTdFiles"],
8276)
8277
8278gentbl_cc_library(
8279    name = "RuntimeVerifiableOpInterfaceIncGen",
8280    tbl_outs = [
8281        (
8282            ["-gen-op-interface-decls"],
8283            "include/mlir/Interfaces/RuntimeVerifiableOpInterface.h.inc",
8284        ),
8285        (
8286            ["-gen-op-interface-defs"],
8287            "include/mlir/Interfaces/RuntimeVerifiableOpInterface.cpp.inc",
8288        ),
8289    ],
8290    tblgen = ":mlir-tblgen",
8291    td_file = "include/mlir/Interfaces/RuntimeVerifiableOpInterface.td",
8292    deps = [":RuntimeVerifiableOpInterfaceTdFiles"],
8293)
8294
8295gentbl_cc_library(
8296    name = "VectorInterfacesIncGen",
8297    tbl_outs = [
8298        (
8299            ["-gen-op-interface-decls"],
8300            "include/mlir/Interfaces/VectorInterfaces.h.inc",
8301        ),
8302        (
8303            ["-gen-op-interface-defs"],
8304            "include/mlir/Interfaces/VectorInterfaces.cpp.inc",
8305        ),
8306    ],
8307    tblgen = ":mlir-tblgen",
8308    td_file = "include/mlir/Interfaces/VectorInterfaces.td",
8309    deps = [":VectorInterfacesTdFiles"],
8310)
8311
8312gentbl_cc_library(
8313    name = "ViewLikeInterfaceIncGen",
8314    tbl_outs = [
8315        (
8316            ["-gen-op-interface-decls"],
8317            "include/mlir/Interfaces/ViewLikeInterface.h.inc",
8318        ),
8319        (
8320            ["-gen-op-interface-defs"],
8321            "include/mlir/Interfaces/ViewLikeInterface.cpp.inc",
8322        ),
8323    ],
8324    tblgen = ":mlir-tblgen",
8325    td_file = "include/mlir/Interfaces/ViewLikeInterface.td",
8326    deps = [":ViewLikeInterfaceTdFiles"],
8327)
8328
8329gentbl_cc_library(
8330    name = "CopyOpInterfaceIncGen",
8331    tbl_outs = [
8332        (
8333            ["-gen-op-interface-decls"],
8334            "include/mlir/Interfaces/CopyOpInterface.h.inc",
8335        ),
8336        (
8337            ["-gen-op-interface-defs"],
8338            "include/mlir/Interfaces/CopyOpInterface.cpp.inc",
8339        ),
8340    ],
8341    tblgen = ":mlir-tblgen",
8342    td_file = "include/mlir/Interfaces/CopyOpInterface.td",
8343    deps = [":CopyOpInterfaceTdFiles"],
8344)
8345
8346gentbl_cc_library(
8347    name = "TransformsPassIncGen",
8348    tbl_outs = [
8349        (
8350            [
8351                "-gen-pass-decls",
8352                "-name=Transforms",
8353            ],
8354            "include/mlir/Transforms/Passes.h.inc",
8355        ),
8356        (
8357            [
8358                "-gen-pass-capi-header",
8359                "--prefix=Transforms",
8360            ],
8361            "include/mlir/Transforms/Transforms.capi.h.inc",
8362        ),
8363        (
8364            [
8365                "-gen-pass-capi-impl",
8366                "--prefix=Transforms",
8367            ],
8368            "include/mlir/Transforms/Transforms.capi.cpp.inc",
8369        ),
8370    ],
8371    tblgen = ":mlir-tblgen",
8372    td_file = "include/mlir/Transforms/Passes.td",
8373    deps = [
8374        ":PassBaseTdFiles",
8375        ":RewritePassBaseTdFiles",
8376    ],
8377)
8378
8379cc_library(
8380    name = "Transforms",
8381    srcs = glob([
8382        "lib/Transforms/*.cpp",
8383    ]),
8384    hdrs = [
8385        "include/mlir/Transforms/CSE.h",
8386        "include/mlir/Transforms/EndomorphismSimplification.h",
8387        "include/mlir/Transforms/HomomorphismSimplification.h",
8388        "include/mlir/Transforms/LocationSnapshot.h",
8389        "include/mlir/Transforms/Mem2Reg.h",
8390        "include/mlir/Transforms/Passes.h",
8391        "include/mlir/Transforms/SROA.h",
8392        "include/mlir/Transforms/ViewOpGraph.h",
8393    ],
8394    includes = ["include"],
8395    deps = [
8396        ":Analysis",
8397        ":CallOpInterfaces",
8398        ":ControlFlowInterfaces",
8399        ":FunctionInterfaces",
8400        ":IR",
8401        ":LoopLikeInterface",
8402        ":MemorySlotInterfaces",
8403        ":Pass",
8404        ":RuntimeVerifiableOpInterface",
8405        ":SideEffectInterfaces",
8406        ":Support",
8407        ":TransformUtils",
8408        ":TransformsPassIncGen",
8409        ":UBDialect",
8410        "//llvm:Support",
8411    ],
8412)
8413
8414cc_library(
8415    name = "CommonFolders",
8416    srcs = [
8417    ],
8418    hdrs = ["include/mlir/Dialect/CommonFolders.h"],
8419    includes = ["include"],
8420    deps = [
8421        ":IR",
8422        "//llvm:Support",
8423    ],
8424)
8425
8426cc_library(
8427    name = "SCFToGPU",
8428    srcs = glob(["lib/Conversion/SCFToGPU/*.cpp"]),
8429    hdrs = glob(["include/mlir/Conversion/SCFToGPU/*.h"]),
8430    includes = ["include"],
8431    deps = [
8432        ":AffineDialect",
8433        ":AffineToStandard",
8434        ":ArithDialect",
8435        ":ComplexDialect",
8436        ":ConversionPassIncGen",
8437        ":FunctionInterfaces",
8438        ":GPUDialect",
8439        ":GPUTransforms",
8440        ":IR",
8441        ":MemRefDialect",
8442        ":Pass",
8443        ":SCFDialect",
8444        ":SideEffectInterfaces",
8445        ":Support",
8446        ":TransformUtils",
8447        ":Transforms",
8448        "//llvm:Support",
8449    ],
8450)
8451
8452cc_library(
8453    name = "SCFToEmitC",
8454    srcs = glob(["lib/Conversion/SCFToEmitC/*.cpp"]),
8455    hdrs = glob(["include/mlir/Conversion/SCFToEmitC/*.h"]),
8456    includes = ["include"],
8457    deps = [
8458        ":ArithDialect",
8459        ":ConversionPassIncGen",
8460        ":EmitCDialect",
8461        ":EmitCTransforms",
8462        ":IR",
8463        ":SCFDialect",
8464        ":TransformUtils",
8465        ":Transforms",
8466    ],
8467)
8468
8469cc_library(
8470    name = "SCFToSPIRV",
8471    srcs = glob([
8472        "lib/Conversion/SCFToSPIRV/*.cpp",
8473    ]),
8474    hdrs = glob([
8475        "include/mlir/Conversion/SCFToSPIRV/*.h",
8476    ]),
8477    includes = ["include"],
8478    deps = [
8479        ":ArithToSPIRV",
8480        ":ConversionPassIncGen",
8481        ":FuncToSPIRV",
8482        ":IR",
8483        ":IndexToSPIRV",
8484        ":MemRefToSPIRV",
8485        ":Pass",
8486        ":SCFDialect",
8487        ":SPIRVConversion",
8488        ":SPIRVDialect",
8489        ":TransformUtils",
8490        "//llvm:Support",
8491    ],
8492)
8493
8494cc_library(
8495    name = "SCFToOpenMP",
8496    srcs = [
8497        "lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp",
8498    ],
8499    hdrs = ["include/mlir/Conversion/SCFToOpenMP/SCFToOpenMP.h"],
8500    includes = ["include"],
8501    deps = [
8502        ":AffineAnalysis",
8503        ":Analysis",
8504        ":ArithDialect",
8505        ":ConversionPassIncGen",
8506        ":IR",
8507        ":LLVMDialect",
8508        ":MemRefDialect",
8509        ":OpenMPDialect",
8510        ":Pass",
8511        ":SCFDialect",
8512        ":TransformUtils",
8513    ],
8514)
8515
8516cc_library(
8517    name = "SCFToControlFlow",
8518    srcs = [
8519        "lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp",
8520    ],
8521    hdrs = ["include/mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"],
8522    includes = ["include"],
8523    deps = [
8524        ":ArithDialect",
8525        ":ControlFlowDialect",
8526        ":ConversionPassIncGen",
8527        ":IR",
8528        ":LLVMDialect",
8529        ":SCFDialect",
8530        ":SCFTransforms",
8531        ":TransformUtils",
8532        ":Transforms",
8533    ],
8534)
8535
8536cc_library(
8537    name = "LLVMCommonConversion",
8538    srcs = glob([
8539        "lib/Conversion/LLVMCommon/*.cpp",
8540    ]) + ["lib/Conversion/LLVMCommon/MemRefDescriptor.h"],
8541    hdrs = glob(["include/mlir/Conversion/LLVMCommon/*.h"]),
8542    includes = ["include"],
8543    deps = [
8544        ":DataLayoutInterfaces",
8545        ":IR",
8546        ":LLVMDialect",
8547        ":Support",
8548        ":TransformUtils",
8549        ":Transforms",
8550        "//llvm:Core",
8551        "//llvm:Support",
8552    ],
8553)
8554
8555cc_library(
8556    name = "ReconcileUnrealizedCasts",
8557    srcs = glob(["lib/Conversion/ReconcileUnrealizedCasts/*.cpp"]),
8558    hdrs = glob(["include/mlir/Conversion/ReconcileUnrealizedCasts/*.h"]),
8559    includes = ["include"],
8560    deps = [
8561        ":ConversionPassIncGen",
8562        ":IR",
8563        ":Pass",
8564        ":TransformUtils",
8565    ],
8566)
8567
8568gentbl_cc_library(
8569    name = "ToLLVMInterfaceIncGen",
8570    tbl_outs = [
8571        (
8572            ["--gen-attr-interface-decls"],
8573            "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.h.inc",
8574        ),
8575        (
8576            ["--gen-attr-interface-defs"],
8577            "include/mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.cpp.inc",
8578        ),
8579        (
8580            ["--gen-op-interface-decls"],
8581            "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.h.inc",
8582        ),
8583        (
8584            ["--gen-op-interface-defs"],
8585            "include/mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.cpp.inc",
8586        ),
8587    ],
8588    tblgen = ":mlir-tblgen",
8589    td_file = "include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.td",
8590    deps = [":UBDialectTdFiles"],
8591)
8592
8593cc_library(
8594    name = "ConvertToLLVMInterface",
8595    srcs = ["lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp"],
8596    hdrs = ["include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h"],
8597    includes = ["include"],
8598    deps = [
8599        ":IR",
8600        ":Support",
8601        ":ToLLVMInterfaceIncGen",
8602        "//llvm:Support",
8603    ],
8604)
8605
8606cc_library(
8607    name = "ConvertToLLVM",
8608    srcs = ["lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp"],
8609    hdrs = ["include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h"],
8610    includes = ["include"],
8611    deps = [
8612        ":Analysis",
8613        ":ConversionPassIncGen",
8614        ":ConvertToLLVMInterface",
8615        ":IR",
8616        ":LLVMCommonConversion",
8617        ":LLVMDialect",
8618        ":Pass",
8619        ":Rewrite",
8620        ":TransformUtils",
8621    ],
8622)
8623
8624cc_library(
8625    name = "FuncToLLVM",
8626    srcs = [
8627        "lib/Conversion/FuncToLLVM/FuncToLLVM.cpp",
8628    ],
8629    hdrs = [
8630        "include/mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h",
8631        "include/mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h",
8632    ],
8633    includes = ["include"],
8634    deps = [
8635        ":Analysis",
8636        ":ArithToLLVM",
8637        ":ControlFlowToLLVM",
8638        ":ConversionPassIncGen",
8639        ":ConvertToLLVMInterface",
8640        ":DataLayoutInterfaces",
8641        ":DialectUtils",
8642        ":FuncDialect",
8643        ":FuncTransforms",
8644        ":FunctionInterfaces",
8645        ":IR",
8646        ":LLVMCommonConversion",
8647        ":LLVMDialect",
8648        ":MathDialect",
8649        ":MemRefDialect",
8650        ":Parser",
8651        ":Pass",
8652        ":Support",
8653        ":TransformUtils",
8654        ":Transforms",
8655        "//llvm:Core",
8656        "//llvm:Support",
8657    ],
8658)
8659
8660cc_library(
8661    name = "VectorToXeGPU",
8662    srcs = ["lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp"],
8663    hdrs = ["include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h"],
8664    includes = ["include"],
8665    deps = [
8666        ":ArithDialect",
8667        ":ConversionPassIncGen",
8668        ":IR",
8669        ":MemRefDialect",
8670        ":Pass",
8671        ":TransformUtils",
8672        ":Transforms",
8673        ":VectorDialect",
8674        ":XeGPUDialect",
8675        "//llvm:Support",
8676    ],
8677)
8678
8679cc_library(
8680    name = "ControlFlowToSCF",
8681    srcs = [
8682        "lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp",
8683    ],
8684    hdrs = [
8685        "include/mlir/Conversion/ControlFlowToSCF/ControlFlowToSCF.h",
8686    ],
8687    includes = ["include"],
8688    deps = [
8689        ":ArithDialect",
8690        ":ControlFlowDialect",
8691        ":ConversionPassIncGen",
8692        ":FuncDialect",
8693        ":LLVMDialect",
8694        ":Pass",
8695        ":SCFDialect",
8696        ":TransformUtils",
8697        ":UBDialect",
8698    ],
8699)
8700
8701cc_library(
8702    name = "ControlFlowToLLVM",
8703    srcs = [
8704        "lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp",
8705    ],
8706    hdrs = [
8707        "include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h",
8708    ],
8709    includes = ["include"],
8710    deps = [
8711        ":ControlFlowDialect",
8712        ":ConversionPassIncGen",
8713        ":ConvertToLLVMInterface",
8714        ":IR",
8715        ":LLVMCommonConversion",
8716        ":LLVMDialect",
8717        ":Pass",
8718        ":TransformUtils",
8719        "//llvm:Support",
8720    ],
8721)
8722
8723cc_library(
8724    name = "ControlFlowToSPIRV",
8725    srcs = glob(["lib/Conversion/ControlFlowToSPIRV/*.cpp"]),
8726    hdrs = glob(["include/mlir/Conversion/ControlFlowToSPIRV/*.h"]),
8727    includes = ["include"],
8728    deps = [
8729        ":ControlFlowDialect",
8730        ":ConversionPassIncGen",
8731        ":IR",
8732        ":Pass",
8733        ":SPIRVCommonConversion",
8734        ":SPIRVConversion",
8735        ":SPIRVDialect",
8736        ":SPIRVUtils",
8737        ":Support",
8738        ":TransformUtils",
8739        "//llvm:Support",
8740    ],
8741)
8742
8743cc_library(
8744    name = "MemRefToEmitC",
8745    srcs = glob([
8746        "lib/Conversion/MemRefToEmitC/*.cpp",
8747    ]),
8748    hdrs = glob([
8749        "include/mlir/Conversion/MemRefToEmitC/*.h",
8750    ]),
8751    includes = [
8752        "include",
8753        "lib/Conversion/MemRefToEmitC",
8754    ],
8755    deps = [
8756        ":ConversionPassIncGen",
8757        ":EmitCDialect",
8758        ":IR",
8759        ":MemRefDialect",
8760        ":Pass",
8761        ":TransformUtils",
8762    ],
8763)
8764
8765cc_library(
8766    name = "MemRefToLLVM",
8767    srcs = glob(["lib/Conversion/MemRefToLLVM/*.cpp"]),
8768    hdrs = glob(["include/mlir/Conversion/MemRefToLLVM/*.h"]),
8769    includes = ["include"],
8770    deps = [
8771        ":Analysis",
8772        ":ArithDialect",
8773        ":ConversionPassIncGen",
8774        ":ConvertToLLVMInterface",
8775        ":FuncDialect",
8776        ":IR",
8777        ":LLVMCommonConversion",
8778        ":LLVMDialect",
8779        ":MemRefDialect",
8780        ":MemRefUtils",
8781        ":Pass",
8782        ":Support",
8783        "//llvm:Support",
8784    ],
8785)
8786
8787cc_library(
8788    name = "MemRefToSPIRV",
8789    srcs = glob([
8790        "lib/Conversion/MemRefToSPIRV/*.cpp",
8791    ]),
8792    hdrs = glob([
8793        "include/mlir/Conversion/MemRefToSPIRV/*.h",
8794    ]),
8795    includes = [
8796        "include",
8797        "lib/Conversion/MemRefToSPIRV",
8798    ],
8799    deps = [
8800        ":ArithDialect",
8801        ":ConversionPassIncGen",
8802        ":FunctionInterfaces",
8803        ":IR",
8804        ":MemRefDialect",
8805        ":Pass",
8806        ":SPIRVConversion",
8807        ":SPIRVDialect",
8808        ":Support",
8809        ":TransformUtils",
8810        "//llvm:Support",
8811    ],
8812)
8813
8814cc_library(
8815    name = "ArithAttrToLLVMConversion",
8816    srcs = glob(["lib/Conversion/ArithCommon/*.cpp"]),
8817    hdrs = glob(["include/mlir/Conversion/ArithCommon/*.h"]),
8818    includes = ["include"],
8819    deps = [
8820        ":ArithDialect",
8821        ":LLVMDialect",
8822    ],
8823)
8824
8825cc_library(
8826    name = "ArithToAMDGPU",
8827    srcs = glob(["lib/Conversion/ArithToAMDGPU/*.cpp"]),
8828    hdrs = glob(["include/mlir/Conversion/ArithToAMDGPU/*.h"]),
8829    includes = ["include"],
8830    deps = [
8831        ":AMDGPUDialect",
8832        ":AMDGPUUtils",
8833        ":ArithDialect",
8834        ":ArithUtils",
8835        ":ConversionPassIncGen",
8836        ":IR",
8837        ":LLVMDialect",
8838        ":Pass",
8839        ":ROCDLDialect",
8840        ":Support",
8841        ":TransformUtils",
8842        ":VectorDialect",
8843    ],
8844)
8845
8846cc_library(
8847    name = "ArithToArmSME",
8848    srcs = glob([
8849        "lib/Conversion/ArithToArmSME/*.cpp",
8850    ]),
8851    hdrs = glob([
8852        "include/mlir/Conversion/ArithToArmSME/*.h",
8853    ]),
8854    includes = ["include"],
8855    deps = [
8856        ":ArithDialect",
8857        ":ArmSMEDialect",
8858        ":ConversionPassIncGen",
8859        ":Pass",
8860        ":TransformUtils",
8861    ],
8862)
8863
8864cc_library(
8865    name = "ArithToEmitC",
8866    srcs = glob([
8867        "lib/Conversion/ArithToEmitC/*.cpp",
8868    ]),
8869    hdrs = glob([
8870        "include/mlir/Conversion/ArithToEmitC/*.h",
8871    ]),
8872    includes = [
8873        "include",
8874        "lib/Conversion/ArithToEmitC",
8875    ],
8876    deps = [
8877        ":ArithDialect",
8878        ":ConversionPassIncGen",
8879        ":EmitCDialect",
8880        ":EmitCTransforms",
8881        ":IR",
8882        ":Pass",
8883        ":Support",
8884        ":TransformUtils",
8885    ],
8886)
8887
8888cc_library(
8889    name = "ArithToLLVM",
8890    srcs = glob(["lib/Conversion/ArithToLLVM/*.cpp"]),
8891    hdrs = glob(["include/mlir/Conversion/ArithToLLVM/*.h"]),
8892    includes = ["include"],
8893    deps = [
8894        ":ArithAttrToLLVMConversion",
8895        ":ArithDialect",
8896        ":ArithTransforms",
8897        ":ConversionPassIncGen",
8898        ":ConvertToLLVMInterface",
8899        ":IR",
8900        ":LLVMCommonConversion",
8901        ":LLVMDialect",
8902        ":Pass",
8903    ],
8904)
8905
8906cc_library(
8907    name = "ArithToSPIRV",
8908    srcs = glob(["lib/Conversion/ArithToSPIRV/*.cpp"]),
8909    hdrs = glob(["include/mlir/Conversion/ArithToSPIRV/*.h"]),
8910    includes = ["include"],
8911    deps = [
8912        ":ArithDialect",
8913        ":ConversionPassIncGen",
8914        ":IR",
8915        ":Pass",
8916        ":SPIRVCommonConversion",
8917        ":SPIRVConversion",
8918        ":SPIRVDialect",
8919        "//llvm:Support",
8920    ],
8921)
8922
8923cc_library(
8924    name = "MathToLLVM",
8925    srcs = glob(["lib/Conversion/MathToLLVM/*.cpp"]),
8926    hdrs = glob(["include/mlir/Conversion/MathToLLVM/*.h"]),
8927    includes = ["include"],
8928    deps = [
8929        ":ArithAttrToLLVMConversion",
8930        ":ConversionPassIncGen",
8931        ":ConvertToLLVMInterface",
8932        ":IR",
8933        ":LLVMCommonConversion",
8934        ":LLVMDialect",
8935        ":MathDialect",
8936        ":Pass",
8937    ],
8938)
8939
8940cc_library(
8941    name = "MathToEmitC",
8942    srcs = glob([
8943        "lib/Conversion/MathToEmitC/*.cpp",
8944    ]),
8945    hdrs = glob([
8946        "include/mlir/Conversion/MathToEmitC/*.h",
8947    ]),
8948    includes = [
8949        "include",
8950        "lib/Conversion/MathToEmitC",
8951    ],
8952    deps = [
8953        ":ConversionPassIncGen",
8954        ":EmitCDialect",
8955        ":MathDialect",
8956        ":Pass",
8957        ":TransformUtils",
8958    ],
8959)
8960
8961cc_library(
8962    name = "MathToFuncs",
8963    srcs = glob(["lib/Conversion/MathToFuncs/*.cpp"]),
8964    hdrs = glob(["include/mlir/Conversion/MathToFuncs/*.h"]),
8965    includes = ["include"],
8966    deps = [
8967        ":ArithDialect",
8968        ":ControlFlowDialect",
8969        ":ConversionPassIncGen",
8970        ":DialectUtils",
8971        ":FuncDialect",
8972        ":IR",
8973        ":LLVMDialect",
8974        ":MathDialect",
8975        ":Pass",
8976        ":SCFDialect",
8977        ":TransformUtils",
8978        ":VectorDialect",
8979        ":VectorUtils",
8980        "//llvm:Support",
8981    ],
8982)
8983
8984gentbl_cc_library(
8985    name = "BytecodeOpInterfaceIncGen",
8986    tbl_outs = [
8987        (
8988            ["-gen-op-interface-decls"],
8989            "include/mlir/Bytecode/BytecodeOpInterface.h.inc",
8990        ),
8991        (
8992            ["-gen-op-interface-defs"],
8993            "include/mlir/Bytecode/BytecodeOpInterface.cpp.inc",
8994        ),
8995    ],
8996    tblgen = ":mlir-tblgen",
8997    td_file = "include/mlir/Bytecode/BytecodeOpInterface.td",
8998    deps = [":BytecodeOpInterfaceTdFiles"],
8999)
9000
9001cc_library(
9002    name = "BytecodeOpInterface",
9003    srcs = ["lib/Bytecode/BytecodeOpInterface.cpp"],
9004    hdrs = [
9005        "include/mlir/Bytecode/BytecodeImplementation.h",
9006        "include/mlir/Bytecode/BytecodeOpInterface.h",
9007        "include/mlir/Bytecode/Encoding.h",
9008    ],
9009    includes = ["include"],
9010    deps = [
9011        ":BytecodeOpInterfaceIncGen",
9012        ":IR",
9013        ":Support",
9014        "//llvm:Support",
9015    ],
9016)
9017
9018gentbl_cc_library(
9019    name = "CallOpInterfacesIncGen",
9020    tbl_outs = [
9021        (
9022            ["-gen-op-interface-decls"],
9023            "include/mlir/Interfaces/CallInterfaces.h.inc",
9024        ),
9025        (
9026            ["-gen-op-interface-defs"],
9027            "include/mlir/Interfaces/CallInterfaces.cpp.inc",
9028        ),
9029    ],
9030    tblgen = ":mlir-tblgen",
9031    td_file = "include/mlir/Interfaces/CallInterfaces.td",
9032    deps = [":CallInterfacesTdFiles"],
9033)
9034
9035cc_library(
9036    name = "CallOpInterfaces",
9037    srcs = ["lib/Interfaces/CallInterfaces.cpp"],
9038    hdrs = ["include/mlir/Interfaces/CallInterfaces.h"],
9039    includes = ["include"],
9040    deps = [
9041        ":CallOpInterfacesIncGen",
9042        ":IR",
9043        "//llvm:Support",
9044    ],
9045)
9046
9047gentbl_cc_library(
9048    name = "CastInterfacesIncGen",
9049    tbl_outs = [
9050        (
9051            ["-gen-op-interface-decls"],
9052            "include/mlir/Interfaces/CastInterfaces.h.inc",
9053        ),
9054        (
9055            ["-gen-op-interface-defs"],
9056            "include/mlir/Interfaces/CastInterfaces.cpp.inc",
9057        ),
9058    ],
9059    tblgen = ":mlir-tblgen",
9060    td_file = "include/mlir/Interfaces/CastInterfaces.td",
9061    deps = [":CastInterfacesTdFiles"],
9062)
9063
9064cc_library(
9065    name = "CastInterfaces",
9066    srcs = ["lib/Interfaces/CastInterfaces.cpp"],
9067    hdrs = ["include/mlir/Interfaces/CastInterfaces.h"],
9068    includes = ["include"],
9069    deps = [
9070        ":CastInterfacesIncGen",
9071        ":IR",
9072    ],
9073)
9074
9075gentbl_cc_library(
9076    name = "ControlFlowInterfacesIncGen",
9077    tbl_outs = [
9078        (
9079            ["-gen-op-interface-decls"],
9080            "include/mlir/Interfaces/ControlFlowInterfaces.h.inc",
9081        ),
9082        (
9083            ["-gen-op-interface-defs"],
9084            "include/mlir/Interfaces/ControlFlowInterfaces.cpp.inc",
9085        ),
9086    ],
9087    tblgen = ":mlir-tblgen",
9088    td_file = "include/mlir/Interfaces/ControlFlowInterfaces.td",
9089    deps = [":ControlFlowInterfacesTdFiles"],
9090)
9091
9092cc_library(
9093    name = "ControlFlowInterfaces",
9094    srcs = ["lib/Interfaces/ControlFlowInterfaces.cpp"],
9095    hdrs = ["include/mlir/Interfaces/ControlFlowInterfaces.h"],
9096    includes = ["include"],
9097    deps = [
9098        ":ControlFlowInterfacesIncGen",
9099        ":IR",
9100        "//llvm:Support",
9101    ],
9102)
9103
9104gentbl_cc_library(
9105    name = "InferTypeOpInterfaceIncGen",
9106    tbl_outs = [
9107        (
9108            ["-gen-op-interface-decls"],
9109            "include/mlir/Interfaces/InferTypeOpInterface.h.inc",
9110        ),
9111        (
9112            ["-gen-op-interface-defs"],
9113            "include/mlir/Interfaces/InferTypeOpInterface.cpp.inc",
9114        ),
9115    ],
9116    tblgen = ":mlir-tblgen",
9117    td_file = "include/mlir/Interfaces/InferTypeOpInterface.td",
9118    deps = [":InferTypeOpInterfaceTdFiles"],
9119)
9120
9121cc_library(
9122    name = "InferTypeOpInterface",
9123    srcs = ["lib/Interfaces/InferTypeOpInterface.cpp"],
9124    hdrs = ["include/mlir/Interfaces/InferTypeOpInterface.h"],
9125    includes = ["include"],
9126    deps = [
9127        ":IR",
9128        ":InferTypeOpInterfaceIncGen",
9129        ":Support",
9130        "//llvm:Support",
9131    ],
9132)
9133
9134gentbl_cc_library(
9135    name = "SideEffectInterfacesIncGen",
9136    tbl_outs = [
9137        (
9138            ["-gen-op-interface-decls"],
9139            "include/mlir/Interfaces/SideEffectInterfaces.h.inc",
9140        ),
9141        (
9142            ["-gen-op-interface-defs"],
9143            "include/mlir/Interfaces/SideEffectInterfaces.cpp.inc",
9144        ),
9145    ],
9146    tblgen = ":mlir-tblgen",
9147    td_file = "include/mlir/Interfaces/SideEffectInterfaces.td",
9148    deps = [":SideEffectInterfacesTdFiles"],
9149)
9150
9151cc_library(
9152    name = "SideEffectInterfaces",
9153    srcs = ["lib/Interfaces/SideEffectInterfaces.cpp"],
9154    hdrs = ["include/mlir/Interfaces/SideEffectInterfaces.h"],
9155    includes = ["include"],
9156    deps = [
9157        ":IR",
9158        ":SideEffectInterfacesIncGen",
9159        "//llvm:Support",
9160    ],
9161)
9162
9163gentbl_cc_library(
9164    name = "TilingInterfaceIncGen",
9165    tbl_outs = [
9166        (
9167            ["-gen-op-interface-decls"],
9168            "include/mlir/Interfaces/TilingInterface.h.inc",
9169        ),
9170        (
9171            ["-gen-op-interface-defs"],
9172            "include/mlir/Interfaces/TilingInterface.cpp.inc",
9173        ),
9174    ],
9175    tblgen = ":mlir-tblgen",
9176    td_file = "include/mlir/Interfaces/TilingInterface.td",
9177    deps = [":TilingInterfaceTdFiles"],
9178)
9179
9180cc_library(
9181    name = "Analysis",
9182    srcs = glob(
9183        [
9184            "lib/Analysis/*.cpp",
9185            "lib/Analysis/*/*.cpp",
9186        ],
9187    ),
9188    hdrs = glob(
9189        [
9190            "include/mlir/Analysis/*.h",
9191            "include/mlir/Analysis/*/*.h",
9192        ],
9193    ),
9194    copts = [
9195        "$(STACK_FRAME_UNLIMITED)",
9196    ],
9197    includes = ["include"],
9198    deps = [
9199        ":ArithDialect",
9200        ":CallOpInterfaces",
9201        ":ControlFlowInterfaces",
9202        ":DataLayoutInterfaces",
9203        ":FunctionInterfaces",
9204        ":IR",
9205        ":InferIntRangeInterface",
9206        ":LoopLikeInterface",
9207        ":Pass",
9208        ":SideEffectInterfaces",
9209        ":Support",
9210        ":ViewLikeInterface",
9211        "//llvm:Support",
9212        "//llvm:config",
9213    ],
9214)
9215
9216cc_library(
9217    name = "ParseUtilities",
9218    hdrs = ["include/mlir/Tools/ParseUtilities.h"],
9219    includes = ["include"],
9220    deps = [
9221        ":IR",
9222        ":Parser",
9223    ],
9224)
9225
9226cc_library(
9227    name = "TranslateLib",
9228    srcs = glob([
9229        "lib/Tools/mlir-translate/*.cpp",
9230    ]),
9231    hdrs = glob(["include/mlir/Tools/mlir-translate/*.h"]),
9232    includes = ["include"],
9233    deps = [
9234        ":IR",
9235        ":ParseUtilities",
9236        ":Parser",
9237        ":Support",
9238        "//llvm:Support",
9239    ],
9240)
9241
9242cc_library(
9243    name = "ToLLVMIRTranslation",
9244    srcs = [
9245        "lib/Target/LLVMIR/AttrKindDetail.h",
9246        "lib/Target/LLVMIR/DebugTranslation.cpp",
9247        "lib/Target/LLVMIR/DebugTranslation.h",
9248        "lib/Target/LLVMIR/LoopAnnotationTranslation.cpp",
9249        "lib/Target/LLVMIR/LoopAnnotationTranslation.h",
9250        "lib/Target/LLVMIR/ModuleTranslation.cpp",
9251        "lib/Target/LLVMIR/TypeToLLVM.cpp",
9252    ],
9253    hdrs = [
9254        "include/mlir/Target/LLVMIR/Export.h",
9255        "include/mlir/Target/LLVMIR/LLVMTranslationInterface.h",
9256        "include/mlir/Target/LLVMIR/ModuleTranslation.h",
9257        "include/mlir/Target/LLVMIR/TypeToLLVM.h",
9258    ],
9259    includes = ["include"],
9260    deps = [
9261        ":Analysis",
9262        ":DLTIDialect",
9263        ":IR",
9264        ":LLVMConversionIncGen",
9265        ":LLVMDialect",
9266        ":LLVMIRTransformsDIExpressionLegalization",
9267        ":LLVMIRTransformsLegalizeForExport",
9268        ":LLVMIntrinsicConversionIncGen",
9269        ":OpenMPDialect",
9270        ":Support",
9271        ":TransformUtils",
9272        "//llvm:Core",
9273        "//llvm:FrontendOpenMP",
9274        "//llvm:Support",
9275        "//llvm:TransformUtils",
9276    ],
9277)
9278
9279cc_library(
9280    name = "AMXToLLVMIRTranslation",
9281    srcs = glob(["lib/Target/LLVMIR/Dialect/AMX/*.cpp"]),
9282    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/AMX/*.h"]),
9283    includes = ["include"],
9284    deps = [
9285        ":AMXConversionIncGen",
9286        ":AMXDialect",
9287        ":IR",
9288        ":ToLLVMIRTranslation",
9289        "//llvm:Core",
9290        "//llvm:Support",
9291    ],
9292)
9293
9294cc_library(
9295    name = "X86VectorToLLVMIRTranslation",
9296    srcs = glob(["lib/Target/LLVMIR/Dialect/X86Vector/*.cpp"]),
9297    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/X86Vector/*.h"]),
9298    includes = ["include"],
9299    deps = [
9300        ":IR",
9301        ":ToLLVMIRTranslation",
9302        ":X86VectorConversionIncGen",
9303        ":X86VectorDialect",
9304        "//llvm:Core",
9305        "//llvm:Support",
9306    ],
9307)
9308
9309cc_library(
9310    name = "ArmNeonToLLVMIRTranslation",
9311    srcs = glob(["lib/Target/LLVMIR/Dialect/ArmNeon/*.cpp"]),
9312    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ArmNeon/*.h"]),
9313    includes = ["include"],
9314    deps = [
9315        ":ArmNeonConversionIncGen",
9316        ":ArmNeonDialect",
9317        ":ArmNeonIncGen",
9318        ":IR",
9319        ":ToLLVMIRTranslation",
9320        "//llvm:Core",
9321        "//llvm:Support",
9322    ],
9323)
9324
9325cc_library(
9326    name = "ArmSMEToLLVMIRTranslation",
9327    srcs = glob(["lib/Target/LLVMIR/Dialect/ArmSME/*.cpp"]),
9328    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ArmSME/*.h"]),
9329    includes = ["include"],
9330    deps = [
9331        ":ArmSMEConversionIncGen",
9332        ":ArmSMEDialect",
9333        ":ArmSMEIntrinsicOpsIncGen",
9334        ":IR",
9335        ":ToLLVMIRTranslation",
9336        "//llvm:Core",
9337        "//llvm:Support",
9338    ],
9339)
9340
9341cc_library(
9342    name = "ArmSVEToLLVMIRTranslation",
9343    srcs = glob(["lib/Target/LLVMIR/Dialect/ArmSVE/*.cpp"]),
9344    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ArmSVE/*.h"]),
9345    includes = ["include"],
9346    deps = [
9347        ":ArmSVEConversionIncGen",
9348        ":ArmSVEDialect",
9349        ":IR",
9350        ":ToLLVMIRTranslation",
9351        "//llvm:Core",
9352        "//llvm:Support",
9353    ],
9354)
9355
9356cc_library(
9357    name = "NVVMToLLVMIRTranslation",
9358    srcs = ["lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp"],
9359    hdrs = ["include/mlir/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.h"],
9360    includes = ["include"],
9361    deps = [
9362        ":DialectUtils",
9363        ":IR",
9364        ":NVVMConversionIncGen",
9365        ":NVVMDialect",
9366        ":Support",
9367        ":ToLLVMIRTranslation",
9368        "//llvm:Core",
9369        "//llvm:Support",
9370    ],
9371)
9372
9373cc_library(
9374    name = "ROCDLToLLVMIRTranslation",
9375    srcs = glob(["lib/Target/LLVMIR/Dialect/ROCDL/*.cpp"]),
9376    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/ROCDL/*.h"]),
9377    includes = ["include"],
9378    deps = [
9379        ":IR",
9380        ":ROCDLConversionIncGen",
9381        ":ROCDLDialect",
9382        ":ToLLVMIRTranslation",
9383        "//llvm:Core",
9384        "//llvm:Support",
9385    ],
9386)
9387
9388cc_library(
9389    name = "SPIRVToLLVMIRTranslation",
9390    srcs = glob(["lib/Target/LLVMIR/Dialect/SPIRV/*.cpp"]),
9391    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/SPIRV/*.h"]),
9392    includes = ["include"],
9393    deps = [
9394        ":IR",
9395        ":SPIRVDialect",
9396        ":ToLLVMIRTranslation",
9397    ],
9398)
9399
9400cc_library(
9401    name = "GPUToLLVMIRTranslation",
9402    srcs = [
9403        "lib/Target/LLVMIR/Dialect/GPU/GPUToLLVMIRTranslation.cpp",
9404        "lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp",
9405    ],
9406    hdrs = ["include/mlir/Target/LLVMIR/Dialect/GPU/GPUToLLVMIRTranslation.h"],
9407    includes = ["include"],
9408    deps = [
9409        ":GPUDialect",
9410        ":IR",
9411        ":ToLLVMIRTranslation",
9412        "//llvm:Core",
9413        "//llvm:Support",
9414    ],
9415)
9416
9417cc_library(
9418    name = "BuiltinToLLVMIRTranslation",
9419    srcs = ["lib/Target/LLVMIR/Dialect/Builtin/BuiltinToLLVMIRTranslation.cpp"],
9420    hdrs = ["include/mlir/Target/LLVMIR/Dialect/Builtin/BuiltinToLLVMIRTranslation.h"],
9421    includes = ["include"],
9422    deps = [
9423        ":IR",
9424        ":ToLLVMIRTranslation",
9425    ],
9426)
9427
9428cc_library(
9429    name = "LLVMToLLVMIRTranslation",
9430    srcs = ["lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp"],
9431    hdrs = ["include/mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"],
9432    includes = ["include"],
9433    deps = [
9434        ":IR",
9435        ":LLVMConversionIncGen",
9436        ":LLVMDialect",
9437        ":LLVMIntrinsicConversionIncGen",
9438        ":Support",
9439        ":ToLLVMIRTranslation",
9440        "//llvm:Core",
9441        "//llvm:Support",
9442    ],
9443)
9444
9445cc_library(
9446    name = "OpenMPCommon",
9447    srcs = ["lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp"],
9448    hdrs = ["include/mlir/Target/LLVMIR/Dialect/OpenMPCommon.h"],
9449    includes = ["include"],
9450    deps = [
9451        ":IR",
9452        ":Support",
9453        "//llvm:Core",
9454        "//llvm:FrontendOpenMP",
9455    ],
9456)
9457
9458cc_library(
9459    name = "LLVMIRToLLVMTranslation",
9460    srcs = ["lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp"],
9461    hdrs = ["include/mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.h"],
9462    includes = ["include"],
9463    deps = [
9464        ":FromLLVMIRTranslation",
9465        ":LLVMConversionIncGen",
9466        ":LLVMDialect",
9467        ":LLVMIntrinsicConversionIncGen",
9468        ":Support",
9469        "//llvm:Core",
9470        "//llvm:Support",
9471    ],
9472)
9473
9474cc_library(
9475    name = "LLVMIRToNVVMTranslation",
9476    srcs = ["lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp"],
9477    hdrs = ["include/mlir/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.h"],
9478    includes = ["include"],
9479    deps = [
9480        ":FromLLVMIRTranslation",
9481        ":IR",
9482        ":NVVMConvertibleLLVMIRIntrinsicsIncGen",
9483        ":NVVMDialect",
9484        ":NVVMFromLLVMIRConversionsIncGen",
9485        ":Support",
9486        "//llvm:Core",
9487        "//llvm:Support",
9488    ],
9489)
9490
9491cc_library(
9492    name = "OpenACCToLLVMIRTranslation",
9493    srcs = glob(["lib/Target/LLVMIR/Dialect/OpenACC/*.cpp"]),
9494    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/OpenACC/*.h"]),
9495    includes = ["include"],
9496    deps = [
9497        ":Analysis",
9498        ":IR",
9499        ":LLVMDialect",
9500        ":OpenACCDialect",
9501        ":OpenMPCommon",
9502        ":Support",
9503        ":ToLLVMIRTranslation",
9504        ":TransformUtils",
9505        "//llvm:Core",
9506        "//llvm:FrontendOpenMP",
9507        "//llvm:Support",
9508    ],
9509)
9510
9511cc_library(
9512    name = "OpenMPToLLVMIRTranslation",
9513    srcs = glob(["lib/Target/LLVMIR/Dialect/OpenMP/*.cpp"]),
9514    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/OpenMP/*.h"]),
9515    includes = ["include"],
9516    deps = [
9517        ":Analysis",
9518        ":IR",
9519        ":LLVMDialect",
9520        ":OpenMPCommon",
9521        ":OpenMPDialect",
9522        ":Support",
9523        ":ToLLVMIRTranslation",
9524        ":TransformUtils",
9525        ":Transforms",
9526        "//llvm:Core",
9527        "//llvm:FrontendOpenMP",
9528        "//llvm:Support",
9529        "//llvm:TargetParser",
9530        "//llvm:TransformUtils",
9531    ],
9532)
9533
9534cc_library(
9535    name = "AllToLLVMIRTranslations",
9536    hdrs = ["include/mlir/Target/LLVMIR/Dialect/All.h"],
9537    includes = ["include"],
9538    deps = [
9539        ":AMXToLLVMIRTranslation",
9540        ":ArmNeonToLLVMIRTranslation",
9541        ":ArmSMEToLLVMIRTranslation",
9542        ":ArmSVEToLLVMIRTranslation",
9543        ":BuiltinToLLVMIRTranslation",
9544        ":GPUToLLVMIRTranslation",
9545        ":LLVMIRToLLVMTranslation",
9546        ":LLVMIRToNVVMTranslation",
9547        ":LLVMToLLVMIRTranslation",
9548        ":NVVMTarget",
9549        ":NVVMToLLVMIRTranslation",
9550        ":OpenACCToLLVMIRTranslation",
9551        ":OpenMPToLLVMIRTranslation",
9552        ":ROCDLTarget",
9553        ":ROCDLToLLVMIRTranslation",
9554        ":SPIRVToLLVMIRTranslation",
9555        ":VCIXToLLVMIRTranslation",
9556        ":X86VectorToLLVMIRTranslation",
9557    ],
9558)
9559
9560cc_library(
9561    name = "ToLLVMIRTranslationRegistration",
9562    srcs = ["lib/Target/LLVMIR/ConvertToLLVMIR.cpp"],
9563    includes = ["include"],
9564    deps = [
9565        ":AllToLLVMIRTranslations",
9566        ":DLTIDialect",
9567        ":FuncDialect",
9568        ":IR",
9569        ":NVVMTarget",
9570        ":ROCDLTarget",
9571        ":ToLLVMIRTranslation",
9572        ":TranslateLib",
9573        "//llvm:Core",
9574        "//llvm:Support",
9575    ],
9576)
9577
9578cc_library(
9579    name = "FromLLVMIRTranslation",
9580    srcs = [
9581        "lib/Target/LLVMIR/AttrKindDetail.h",
9582        "lib/Target/LLVMIR/DataLayoutImporter.cpp",
9583        "lib/Target/LLVMIR/DataLayoutImporter.h",
9584        "lib/Target/LLVMIR/DebugImporter.cpp",
9585        "lib/Target/LLVMIR/DebugImporter.h",
9586        "lib/Target/LLVMIR/LoopAnnotationImporter.cpp",
9587        "lib/Target/LLVMIR/LoopAnnotationImporter.h",
9588        "lib/Target/LLVMIR/ModuleImport.cpp",
9589        "lib/Target/LLVMIR/TypeFromLLVM.cpp",
9590    ],
9591    hdrs = [
9592        "include/mlir/Target/LLVMIR/Import.h",
9593        "include/mlir/Target/LLVMIR/LLVMImportInterface.h",
9594        "include/mlir/Target/LLVMIR/ModuleImport.h",
9595        "include/mlir/Target/LLVMIR/TypeFromLLVM.h",
9596    ],
9597    includes = ["include"],
9598    deps = [
9599        ":DLTIDialect",
9600        ":DataLayoutInterfaces",
9601        ":IR",
9602        ":LLVMConversionIncGen",
9603        ":LLVMDialect",
9604        ":LLVMIntrinsicConversionIncGen",
9605        ":Support",
9606        ":TranslateLib",
9607        "//llvm:BinaryFormat",
9608        "//llvm:Core",
9609        "//llvm:IRPrinter",
9610        "//llvm:IRReader",
9611        "//llvm:Support",
9612    ],
9613)
9614
9615cc_library(
9616    name = "FromLLVMIRTranslationRegistration",
9617    srcs = [
9618        "lib/Target/LLVMIR/ConvertFromLLVMIR.cpp",
9619    ],
9620    deps = [
9621        ":AllToLLVMIRTranslations",
9622        ":DLTIDialect",
9623        ":FromLLVMIRTranslation",
9624        ":IR",
9625        ":TranslateLib",
9626        "//llvm:Core",
9627        "//llvm:IRReader",
9628        "//llvm:Support",
9629    ],
9630)
9631
9632cc_library(
9633    name = "ExecutionEngine",
9634    srcs = [
9635        "include/mlir/ExecutionEngine/CRunnerUtils.h",
9636        "lib/ExecutionEngine/ExecutionEngine.cpp",
9637    ],
9638    hdrs = [
9639        "include/mlir/ExecutionEngine/ExecutionEngine.h",
9640        "include/mlir/ExecutionEngine/MemRefUtils.h",
9641    ],
9642    includes = ["include"],
9643    deps = [
9644        ":AllToLLVMIRTranslations",
9645        ":IR",
9646        ":LLVMDialect",
9647        ":Support",
9648        ":ToLLVMIRTranslation",
9649        "//llvm:AllTargetsAsmParsers",
9650        "//llvm:BitWriter",
9651        "//llvm:Core",
9652        "//llvm:ExecutionEngine",
9653        "//llvm:MC",
9654        "//llvm:OrcJIT",
9655        "//llvm:Support",
9656        "//llvm:Target",  # fixdeps: keep
9657        "//llvm:TargetParser",
9658        "//llvm:TransformUtils",
9659        "//llvm:X86CodeGen",  # fixdeps: keep
9660        "//llvm:X86Disassembler",  # fixdeps: keep
9661    ],
9662)
9663
9664cc_library(
9665    name = "ExecutionEngineUtils",
9666    srcs = ["lib/ExecutionEngine/OptUtils.cpp"],
9667    hdrs = ["include/mlir/ExecutionEngine/OptUtils.h"],
9668    includes = ["include"],
9669    deps = [
9670        "//llvm:Analysis",
9671        "//llvm:Core",
9672        "//llvm:Coroutines",
9673        "//llvm:IPO",
9674        "//llvm:Passes",
9675        "//llvm:Support",
9676        "//llvm:Target",
9677        "//llvm:common_transforms",
9678    ],
9679)
9680
9681cc_library(
9682    name = "PluginsLib",
9683    srcs = [
9684        "lib/Tools/Plugins/DialectPlugin.cpp",
9685        "lib/Tools/Plugins/PassPlugin.cpp",
9686    ],
9687    hdrs = [
9688        "include/mlir/Tools/Plugins/DialectPlugin.h",
9689        "include/mlir/Tools/Plugins/PassPlugin.h",
9690    ],
9691    includes = ["include"],
9692    deps = [
9693        ":IR",
9694        ":Support",
9695        "//llvm:Support",
9696    ],
9697)
9698
9699cc_library(
9700    name = "MlirOptLib",
9701    srcs = ["lib/Tools/mlir-opt/MlirOptMain.cpp"],
9702    hdrs = ["include/mlir/Tools/mlir-opt/MlirOptMain.h"],
9703    includes = ["include"],
9704    deps = [
9705        ":BytecodeWriter",
9706        ":Debug",
9707        ":IR",
9708        ":IRDLDialect",
9709        ":ParseUtilities",
9710        ":Parser",
9711        ":Pass",
9712        ":PluginsLib",
9713        ":Support",
9714        "//llvm:Support",
9715    ],
9716)
9717
9718cc_library(
9719    name = "AllTranslations",
9720    hdrs = ["include/mlir/InitAllTranslations.h"],
9721    deps = [
9722        ":FromLLVMIRTranslationRegistration",
9723        ":SPIRVTranslateRegistration",
9724        ":TargetCpp",
9725        ":ToLLVMIRTranslationRegistration",
9726    ],
9727)
9728
9729cc_library(
9730    name = "MlirTranslateMain",
9731    srcs = ["tools/mlir-translate/mlir-translate.cpp"],
9732    local_defines = ["MLIR_INCLUDE_TESTS"],
9733    deps = [
9734        ":AllPassesAndDialects",
9735        ":AllTranslations",
9736        ":Support",
9737        ":TranslateLib",
9738        "//llvm:Support",
9739        "//mlir/test:TestToLLVMIRTranslation",
9740    ],
9741)
9742
9743cc_binary(
9744    name = "mlir-translate",
9745    deps = [":MlirTranslateMain"],
9746)
9747
9748cc_library(
9749    name = "AllPassesAndDialects",
9750    hdrs = [
9751        "include/mlir/InitAllDialects.h",
9752        "include/mlir/InitAllPasses.h",
9753    ],
9754    deps = [
9755        ":AMDGPUDialect",
9756        ":AMDGPUToROCDL",
9757        ":AMDGPUTransforms",
9758        ":AMXDialect",
9759        ":AMXTransforms",
9760        ":AffineDialect",
9761        ":AffinePassIncGen",
9762        ":AffineToStandard",
9763        ":AffineTransformOps",
9764        ":AffineTransforms",
9765        ":ArithDialect",
9766        ":ArithToAMDGPU",
9767        ":ArithToLLVM",
9768        ":ArithToSPIRV",
9769        ":ArithTransforms",
9770        ":ArithValueBoundsOpInterfaceImpl",
9771        ":ArmNeonDialect",
9772        ":ArmSMEDialect",
9773        ":ArmSMETransforms",
9774        ":ArmSVEDialect",
9775        ":ArmSVETransforms",
9776        ":AsyncDialect",
9777        ":AsyncPassIncGen",
9778        ":AsyncToLLVM",
9779        ":AsyncTransforms",
9780        ":BufferizationDialect",
9781        ":BufferizationPipelines",
9782        ":BufferizationTransformOps",
9783        ":BufferizationTransforms",
9784        ":CastInterfaces",
9785        ":ComplexDialect",
9786        ":ComplexToLLVM",
9787        ":ComplexToLibm",
9788        ":ComplexToSPIRV",
9789        ":ControlFlowDialect",
9790        ":ControlFlowTransforms",
9791        ":ConversionPasses",
9792        ":ConvertToLLVM",
9793        ":DLTIDialect",
9794        ":EmitCDialect",
9795        ":EmitCTransforms",
9796        ":FuncDialect",
9797        ":FuncToLLVM",
9798        ":FuncToSPIRV",
9799        ":FuncTransformOps",
9800        ":FuncTransforms",
9801        ":FuncTransformsPassIncGen",
9802        ":GPUDialect",
9803        ":GPUPassIncGen",
9804        ":GPUPipelines",
9805        ":GPUToGPURuntimeTransforms",
9806        ":GPUToNVVMTransforms",
9807        ":GPUToROCDLTransforms",
9808        ":GPUToSPIRV",
9809        ":GPUTransformOps",
9810        ":GPUTransforms",
9811        ":IR",
9812        ":IRDLDialect",
9813        ":IndexDialect",
9814        ":LLVMDialect",
9815        ":LLVMIRTransforms",
9816        ":LLVMPassIncGen",
9817        ":LinalgDialect",
9818        ":LinalgPassIncGen",
9819        ":LinalgToStandard",
9820        ":LinalgTransformOps",
9821        ":LinalgTransforms",
9822        ":MLProgramDialect",
9823        ":MLProgramTransforms",
9824        ":MPIDialect",
9825        ":MathDialect",
9826        ":MathToFuncs",
9827        ":MathToLLVM",
9828        ":MathToLibm",
9829        ":MathToSPIRV",
9830        ":MathTransforms",
9831        ":MemRefDialect",
9832        ":MemRefToLLVM",
9833        ":MemRefToSPIRV",
9834        ":MemRefTransformOps",
9835        ":MemRefTransforms",
9836        ":MeshDialect",
9837        ":MeshTransforms",
9838        ":NVGPUDialect",
9839        ":NVGPUPassIncGen",
9840        ":NVGPUToNVVM",
9841        ":NVGPUTransformOps",
9842        ":NVGPUTransforms",
9843        ":NVVMDialect",
9844        ":NVVMTarget",
9845        ":OpenACCDialect",
9846        ":OpenACCTransforms",
9847        ":OpenMPDialect",
9848        ":OpenMPToLLVM",
9849        ":PDLDialect",
9850        ":PDLInterpDialect",
9851        ":PDLToPDLInterp",
9852        ":PolynomialDialect",
9853        ":PtrDialect",
9854        ":QuantOps",
9855        ":QuantTransforms",
9856        ":ROCDLDialect",
9857        ":ROCDLTarget",
9858        ":ReconcileUnrealizedCasts",
9859        ":SCFDialect",
9860        ":SCFPassIncGen",
9861        ":SCFToControlFlow",
9862        ":SCFToGPU",
9863        ":SCFTransformOps",
9864        ":SCFTransforms",
9865        ":SPIRVDialect",
9866        ":SPIRVPassIncGen",
9867        ":SPIRVTarget",
9868        ":SPIRVToLLVM",
9869        ":SPIRVTransforms",
9870        ":ShapeDialect",
9871        ":ShapeToStandard",
9872        ":ShapeTransforms",
9873        ":ShapeTransformsPassIncGen",
9874        ":SparseTensorDialect",
9875        ":SparseTensorPipelines",
9876        ":SparseTensorTransformOps",
9877        ":SparseTensorTransforms",
9878        ":TensorDialect",
9879        ":TensorInferTypeOpInterfaceImpl",
9880        ":TensorTilingInterfaceImpl",
9881        ":TensorTransformOps",
9882        ":TensorTransforms",
9883        ":TosaDialect",
9884        ":TosaToLinalg",
9885        ":TransformDebugExtension",
9886        ":TransformDialect",
9887        ":TransformDialectTransforms",
9888        ":TransformLoopExtension",
9889        ":TransformPDLExtension",
9890        ":Transforms",
9891        ":TransformsPassIncGen",
9892        ":UBDialect",
9893        ":VectorDialect",
9894        ":VectorToLLVM",
9895        ":VectorToSCF",
9896        ":VectorToSPIRV",
9897        ":VectorTransformOps",
9898        ":VectorTransforms",
9899        ":X86VectorDialect",
9900        ":X86VectorTransforms",
9901        ":XeGPUDialect",
9902        ":XeGPUTransforms",
9903    ],
9904)
9905
9906cc_binary(
9907    name = "mlir-lsp-server",
9908    srcs = ["tools/mlir-lsp-server/mlir-lsp-server.cpp"],
9909    includes = ["include"],
9910    deps = [
9911        ":AllExtensions",
9912        ":AllPassesAndDialects",
9913        ":BytecodeWriter",
9914        ":IR",
9915        ":MlirLspServerLib",
9916        ":Parser",
9917    ],
9918)
9919
9920cc_binary(
9921    name = "mlir-opt",
9922    srcs = ["tools/mlir-opt/mlir-opt.cpp"],
9923    local_defines = ["MLIR_INCLUDE_TESTS"],
9924    deps = [
9925        ":AllExtensions",
9926        ":AllPassesAndDialects",
9927        ":AllToLLVMIRTranslations",
9928        ":Analysis",
9929        ":IR",
9930        ":MlirOptLib",
9931        ":OpenMPDialect",
9932        ":Pass",
9933        ":QuantOps",
9934        ":SCFToGPU",
9935        ":Support",
9936        ":Transforms",
9937        ":config",
9938        "//llvm:AllTargetsCodeGens",
9939        "//llvm:Support",
9940        "//mlir/test:TestAffine",
9941        "//mlir/test:TestAnalysis",
9942        "//mlir/test:TestArith",
9943        "//mlir/test:TestArmNeon",
9944        "//mlir/test:TestArmSME",
9945        "//mlir/test:TestBufferization",
9946        "//mlir/test:TestControlFlow",
9947        "//mlir/test:TestConvertToSPIRV",
9948        "//mlir/test:TestDLTI",
9949        "//mlir/test:TestDialect",
9950        "//mlir/test:TestFunc",
9951        "//mlir/test:TestFuncToLLVM",
9952        "//mlir/test:TestGPU",
9953        "//mlir/test:TestIR",
9954        "//mlir/test:TestLLVM",
9955        "//mlir/test:TestLinalg",
9956        "//mlir/test:TestLoopLikeInterface",
9957        "//mlir/test:TestMath",
9958        "//mlir/test:TestMathToVCIX",
9959        "//mlir/test:TestMemRef",
9960        "//mlir/test:TestMesh",
9961        "//mlir/test:TestNVGPU",
9962        "//mlir/test:TestOneToNTypeConversion",
9963        "//mlir/test:TestPDLL",
9964        "//mlir/test:TestPass",
9965        "//mlir/test:TestReducer",
9966        "//mlir/test:TestRewrite",
9967        "//mlir/test:TestSCF",
9968        "//mlir/test:TestSPIRV",
9969        "//mlir/test:TestShapeDialect",
9970        "//mlir/test:TestTensor",
9971        "//mlir/test:TestTestDynDialect",
9972        "//mlir/test:TestTilingInterface",
9973        "//mlir/test:TestTosaDialect",
9974        "//mlir/test:TestTransformDialect",
9975        "//mlir/test:TestTransforms",
9976        "//mlir/test:TestVector",
9977        "//mlir/test:TestVectorToSPIRV",
9978    ],
9979)
9980
9981cc_binary(
9982    name = "mlir-rewrite",
9983    srcs = ["tools/mlir-rewrite/mlir-rewrite.cpp"],
9984    deps = [
9985        ":AffineAnalysis",
9986        ":AllExtensions",
9987        ":AllPassesAndDialects",
9988        ":Analysis",
9989        ":AsmParser",
9990        ":CastInterfaces",
9991        ":Dialect",
9992        ":IR",
9993        ":ParseUtilities",
9994        ":Parser",
9995        ":Pass",
9996        ":Support",
9997        ":TransformUtils",
9998        ":Transforms",
9999        "//llvm:Support",
10000    ],
10001)
10002
10003cc_library(
10004    name = "MlirJitRunner",
10005    srcs = ["lib/ExecutionEngine/JitRunner.cpp"],
10006    hdrs = ["include/mlir/ExecutionEngine/JitRunner.h"],
10007    includes = ["include"],
10008    deps = [
10009        ":AllPassesAndDialects",
10010        ":ExecutionEngine",
10011        ":ExecutionEngineUtils",
10012        ":IR",
10013        ":LLVMDialect",
10014        ":LLVMToLLVMIRTranslation",
10015        ":OpenACCToLLVMIRTranslation",
10016        ":OpenMPToLLVMIRTranslation",
10017        ":ParseUtilities",
10018        ":Parser",
10019        ":SCFToControlFlow",
10020        ":Support",
10021        "//llvm:Core",
10022        "//llvm:OrcJIT",
10023        "//llvm:Support",
10024    ],
10025)
10026
10027cc_library(
10028    name = "mlir_async_runtime_api",
10029    hdrs = ["include/mlir/ExecutionEngine/AsyncRuntime.h"],
10030    includes = ["include"],
10031)
10032
10033cc_library(
10034    name = "_mlir_async_runtime",
10035    srcs = ["lib/ExecutionEngine/AsyncRuntime.cpp"],
10036    copts = ["-Dmlir_async_runtime_EXPORTS"],
10037    deps = [
10038        ":mlir_async_runtime_api",
10039        "//llvm:Support",
10040    ],
10041)
10042
10043# Indirection to avoid 'libmlir_async_runtime.so' filename clash.
10044alias(
10045    name = "mlir_async_runtime",
10046    actual = "_mlir_async_runtime",
10047)
10048
10049cc_binary(
10050    name = "libmlir_async_runtime.so",
10051    linkshared = True,
10052    linkstatic = False,
10053    deps = [":mlir_async_runtime"],
10054)
10055
10056cc_library(
10057    name = "_mlir_float16_utils",
10058    srcs = ["lib/ExecutionEngine/Float16bits.cpp"],
10059    hdrs = ["include/mlir/ExecutionEngine/Float16bits.h"],
10060    copts = ["-Dmlir_float16_utils_EXPORTS"],
10061    includes = ["include"],
10062)
10063
10064# Indirection to avoid 'libmlir_float16_utils.so' filename clash.
10065alias(
10066    name = "mlir_float16_utils",
10067    actual = "_mlir_float16_utils",
10068)
10069
10070cc_binary(
10071    name = "libmlir_float16_utils.so",
10072    linkshared = True,
10073    linkstatic = False,
10074    deps = [":mlir_float16_utils"],
10075)
10076
10077# Unlike mlir_float16_utils, mlir_c_runner_utils, etc, we do *not* make
10078# this a shared library: because on the CMake side, doing so causes issues
10079# when building on Windows.  In particular, various functions take/return
10080# `std::vector` but that class is not designed with dllimport/dllexport
10081# pragma, therefore it cannot be safely/correctly used across DLL boundaries.
10082# Consequently, we avoid using the "mlir_xxx_utils" naming scheme,
10083# since that is reserved/intended for shared libraries only.
10084cc_library(
10085    name = "SparseTensorRuntime",
10086    srcs = [
10087        "lib/ExecutionEngine/SparseTensor/File.cpp",
10088        "lib/ExecutionEngine/SparseTensor/MapRef.cpp",
10089        "lib/ExecutionEngine/SparseTensor/Storage.cpp",
10090    ],
10091    hdrs = [
10092        "include/mlir/ExecutionEngine/SparseTensor/ArithmeticUtils.h",
10093        "include/mlir/ExecutionEngine/SparseTensor/COO.h",
10094        "include/mlir/ExecutionEngine/SparseTensor/File.h",
10095        "include/mlir/ExecutionEngine/SparseTensor/MapRef.h",
10096        "include/mlir/ExecutionEngine/SparseTensor/Storage.h",
10097    ],
10098    includes = ["include"],
10099    deps = [
10100        ":SparseTensorEnums",
10101        ":mlir_float16_utils",
10102    ],
10103)
10104
10105cc_library(
10106    name = "_mlir_c_runner_utils",
10107    srcs = [
10108        "lib/ExecutionEngine/CRunnerUtils.cpp",
10109        "lib/ExecutionEngine/SparseTensorRuntime.cpp",
10110    ],
10111    hdrs = [
10112        "include/mlir/ExecutionEngine/CRunnerUtils.h",
10113        "include/mlir/ExecutionEngine/Msan.h",
10114        "include/mlir/ExecutionEngine/SparseTensorRuntime.h",
10115    ],
10116    includes = ["include"],
10117    deps = [
10118        ":SparseTensorEnums",
10119        ":SparseTensorRuntime",
10120        ":mlir_float16_utils",
10121        "//llvm:Support",
10122    ],
10123)
10124
10125# Indirection to avoid 'libmlir_c_runner_utils.so' filename clash.
10126alias(
10127    name = "mlir_c_runner_utils",
10128    actual = "_mlir_c_runner_utils",
10129)
10130
10131cc_headers_only(
10132    name = "mlir_c_runner_utils_hdrs",
10133    src = ":mlir_c_runner_utils",
10134)
10135
10136cc_binary(
10137    name = "libmlir_c_runner_utils.so",
10138    linkshared = True,
10139    linkstatic = False,
10140    deps = [":mlir_c_runner_utils"],
10141)
10142
10143cc_library(
10144    name = "_mlir_runner_utils",
10145    srcs = ["lib/ExecutionEngine/RunnerUtils.cpp"],
10146    hdrs = ["include/mlir/ExecutionEngine/RunnerUtils.h"],
10147    includes = ["include"],
10148    deps = [
10149        ":mlir_c_runner_utils",
10150        ":mlir_float16_utils",
10151    ],
10152)
10153
10154# Indirection to avoid 'libmlir_runner_utils.so' filename clash.
10155alias(
10156    name = "mlir_runner_utils",
10157    actual = "_mlir_runner_utils",
10158)
10159
10160cc_headers_only(
10161    name = "mlir_runner_utils_hdrs",
10162    src = ":mlir_runner_utils",
10163)
10164
10165cc_binary(
10166    name = "libmlir_runner_utils.so",
10167    linkshared = True,
10168    linkstatic = False,
10169    deps = [":mlir_runner_utils"],
10170)
10171
10172cc_binary(
10173    name = "mlir-runner",
10174    srcs = ["tools/mlir-runner/mlir-runner.cpp"],
10175    deps = [
10176        ":AllToLLVMIRTranslations",
10177        ":BuiltinToLLVMIRTranslation",
10178        ":ExecutionEngineUtils",
10179        ":IR",
10180        ":LLVMDialect",
10181        ":LLVMToLLVMIRTranslation",
10182        ":MlirJitRunner",
10183        ":OpenACCToLLVMIRTranslation",
10184        ":OpenMPToLLVMIRTranslation",
10185        ":ToLLVMIRTranslation",
10186        "//llvm:AsmParser",
10187        "//llvm:Core",
10188        "//llvm:Linker",
10189        "//llvm:Support",
10190        "//llvm:X86AsmParser",
10191    ],
10192)
10193
10194# This target provides the headers from LLVM's Support target without any of
10195# the symbols. In particular, it does not contain the static registration code
10196# which may be executed by at most one shared library loaded by ORCJit. Direct
10197# dependencies need to avoid requiring symbols from LLVMSupport by adding
10198# copts = ["-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1"].
10199#
10200# Bazel links the dependencies' object files instead of the archives, which
10201# means that symbols are linked in even if none are used. The LLVM cmake build
10202# on the other hand links archives (or shared libraries, depending on
10203# BUILD_SHARED_LIBS), skipping them if none of the symbols are used.
10204# See also https://reviews.llvm.org/D95613.
10205cc_headers_only(
10206    name = "LLVMSupportHeaders",
10207    src = "//llvm:Support",
10208)
10209
10210cc_library(
10211    name = "_mlir_cuda_runtime",
10212    srcs = ["lib/ExecutionEngine/CudaRuntimeWrappers.cpp"],
10213    # Prevent needing EnableABIBreakingChecks symbol from LLVMSupport.
10214    copts = ["-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1"],
10215    # Here:
10216    #   MLIR_ENABLE_CUDA_CUSPARSE   : enables cuSPARSE
10217    #   MLIR_ENABLE_CUDA_CUSPARSELT : enables cuSPARSElt
10218    local_defines = ["MLIR_ENABLE_CUDA_CUSPARSE"],
10219    tags = [
10220        "manual",  # External dependency
10221        "nobuildkite",  # TODO(gcmn): Add support for this target
10222    ],
10223    deps = [
10224        ":LLVMSupportHeaders",
10225        ":mlir_c_runner_utils_hdrs",
10226        "@cuda//:cuda_headers",
10227        "@cuda//:cusparse_static",
10228        "@cuda//:libcuda",
10229    ],
10230)
10231
10232# Indirection to avoid 'libmlir_cuda_runtime.so' filename clash.
10233alias(
10234    name = "mlir_cuda_runtime",
10235    actual = "_mlir_cuda_runtime",
10236    tags = [
10237        "manual",  # External dependency
10238        "nobuildkite",  # TODO(gcmn): Add support for this target
10239    ],
10240)
10241
10242cc_binary(
10243    name = "libmlir_cuda_runtime.so",
10244    linkshared = True,
10245    linkstatic = False,
10246    tags = [
10247        "manual",  # External dependency
10248        "nobuildkite",  # TODO(gcmn): Add support for this target
10249    ],
10250    deps = [":mlir_cuda_runtime"],
10251)
10252
10253cc_library(
10254    name = "VulkanRuntime",
10255    srcs = ["lib/ExecutionEngine/VulkanRuntime.cpp"],
10256    hdrs = ["lib/ExecutionEngine/VulkanRuntime.h"],
10257    tags = [
10258        "manual",  # External dependency
10259    ],
10260    deps = [
10261        ":Support",
10262        "@vulkan_headers",
10263        "@vulkan_sdk//:sdk",
10264    ],
10265)
10266
10267cc_binary(
10268    name = "libvulkan-runtime-wrappers.so",
10269    srcs = ["lib/ExecutionEngine/VulkanRuntimeWrappers.cpp"],
10270    linkshared = True,
10271    linkstatic = False,
10272    tags = [
10273        "manual",  # External dependency
10274    ],
10275    deps = [":VulkanRuntime"],
10276)
10277
10278cc_library(
10279    name = "TableGen",
10280    srcs = glob(["lib/TableGen/*.cpp"]),
10281    hdrs = glob(["include/mlir/TableGen/*.h"]),
10282    includes = ["include"],
10283    deps = [
10284        ":Support",
10285        "//llvm:Support",
10286        "//llvm:TableGen",
10287        "//llvm:TargetParser",
10288    ],
10289)
10290
10291cc_library(
10292    name = "MlirTableGenMain",
10293    srcs = glob(["lib/Tools/mlir-tblgen/*.cpp"]),
10294    hdrs = glob(["include/mlir/Tools/mlir-tblgen/*.h"]),
10295    includes = ["include"],
10296    deps = [
10297        ":TableGen",
10298        "//llvm:Support",
10299        "//llvm:TableGen",
10300        "//llvm:TargetParser",
10301        "//llvm:config",
10302    ],
10303)
10304
10305cc_binary(
10306    name = "mlir-tblgen",
10307    srcs = glob([
10308        "tools/mlir-tblgen/*.h",
10309        "tools/mlir-tblgen/*.cpp",
10310    ]),
10311    deps = [
10312        ":MlirTableGenMain",
10313        ":Support",
10314        ":TableGen",
10315        "//llvm:CodeGenTypes",
10316        "//llvm:Support",
10317        "//llvm:TableGen",
10318        "//llvm:TargetParser",
10319        "//llvm:config",
10320    ],
10321)
10322
10323cc_binary(
10324    name = "mlir-src-sharder",
10325    srcs = ["tools/mlir-src-sharder/mlir-src-sharder.cpp"],
10326    deps = [
10327        ":Support",
10328        "//llvm:Support",
10329    ],
10330)
10331
10332cc_binary(
10333    name = "mlir-linalg-ods-yaml-gen",
10334    srcs = [
10335        "tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp",
10336    ],
10337    deps = [
10338        ":AsmParser",
10339        ":IR",
10340        ":Support",
10341        "//llvm:Support",
10342        "//llvm:TableGen",
10343        "//llvm:config",
10344    ],
10345)
10346
10347## OpenMP / OpenACC common
10348
10349td_library(
10350    name = "AtomicInterfacesTdFiles",
10351    srcs = ["include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td"],
10352    includes = ["include"],
10353    deps = [
10354        ":ControlFlowInterfacesTdFiles",
10355        ":OpBaseTdFiles",
10356    ],
10357)
10358
10359gentbl_cc_library(
10360    name = "AtomicInterfacesIncGen",
10361    tbl_outs = [
10362        (
10363            ["-gen-op-interface-decls"],
10364            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h.inc",
10365        ),
10366        (
10367            ["-gen-op-interface-defs"],
10368            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.cpp.inc",
10369        ),
10370    ],
10371    tblgen = ":mlir-tblgen",
10372    td_file = "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td",
10373    deps = [
10374        ":AtomicInterfacesTdFiles",
10375        ":ControlFlowInterfacesTdFiles",
10376    ],
10377)
10378
10379cc_library(
10380    name = "AtomicInterfaces",
10381    srcs = ["lib/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.cpp"],
10382    hdrs = ["include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h"],
10383    includes = ["include"],
10384    deps = [
10385        ":AtomicInterfacesIncGen",
10386        ":ControlFlowInterfaces",
10387        ":IR",
10388    ],
10389)
10390
10391## OpenACC dialect
10392
10393# TODO(gcmn): This is sticking td files in a cc_library
10394gentbl_cc_library(
10395    name = "AccCommonGen",
10396    includes = ["/llvm/include"],
10397    tbl_outs = [
10398        (
10399            [
10400                "-gen-directive-decl",
10401                "-directives-dialect=OpenACC",
10402            ],
10403            "include/mlir/Dialect/OpenACC/AccCommon.td",
10404        ),
10405    ],
10406    tblgen = ":mlir-tblgen",
10407    td_file = "//llvm:include/llvm/Frontend/OpenACC/ACC.td",
10408    deps = ["//llvm:acc_td_files"],
10409)
10410
10411td_library(
10412    name = "OpenAccOpsTdFiles",
10413    srcs = [
10414        "include/mlir/Dialect/OpenACC/AccCommon.td",
10415        "include/mlir/Dialect/OpenACC/OpenACCBase.td",
10416        "include/mlir/Dialect/OpenACC/OpenACCOps.td",
10417        "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td",
10418        "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td",
10419        "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td",
10420        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td",
10421        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td",
10422    ],
10423    includes = ["include"],
10424    deps = [
10425        ":AtomicInterfacesTdFiles",
10426        ":LoopLikeInterfaceTdFiles",
10427        ":OpBaseTdFiles",
10428    ],
10429)
10430
10431gentbl_cc_library(
10432    name = "OpenACCOpsInterfacesIncGen",
10433    tbl_outs = [
10434        (
10435            ["-gen-op-interface-decls"],
10436            "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.h.inc",
10437        ),
10438        (
10439            ["-gen-op-interface-defs"],
10440            "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.cpp.inc",
10441        ),
10442    ],
10443    tblgen = ":mlir-tblgen",
10444    td_file = "include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td",
10445    deps = [":OpenAccOpsTdFiles"],
10446)
10447
10448gentbl_cc_library(
10449    name = "OpenACCMPOpsInterfacesIncGen",
10450    tbl_outs = [
10451        (
10452            ["-gen-op-interface-decls"],
10453            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h.inc",
10454        ),
10455        (
10456            ["-gen-op-interface-defs"],
10457            "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.cpp.inc",
10458        ),
10459    ],
10460    tblgen = ":mlir-tblgen",
10461    td_file = "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td",
10462    deps = [":OpenAccOpsTdFiles"],
10463)
10464
10465gentbl_cc_library(
10466    name = "OpenACCOpsIncGen",
10467    tbl_outs = [
10468        (
10469            [
10470                "-gen-dialect-decls",
10471                "-dialect=acc",
10472            ],
10473            "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc",
10474        ),
10475        (
10476            [
10477                "-gen-dialect-defs",
10478                "-dialect=acc",
10479            ],
10480            "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc",
10481        ),
10482        (
10483            ["-gen-op-decls"],
10484            "include/mlir/Dialect/OpenACC/OpenACCOps.h.inc",
10485        ),
10486        (
10487            ["-gen-op-defs"],
10488            "include/mlir/Dialect/OpenACC/OpenACCOps.cpp.inc",
10489        ),
10490        (
10491            ["-gen-enum-decls"],
10492            "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc",
10493        ),
10494        (
10495            ["-gen-enum-defs"],
10496            "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc",
10497        ),
10498        (
10499            [
10500                "-gen-attrdef-decls",
10501                "-attrdefs-dialect=acc",
10502            ],
10503            "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.h.inc",
10504        ),
10505        (
10506            [
10507                "-gen-attrdef-defs",
10508                "-attrdefs-dialect=acc",
10509            ],
10510            "include/mlir/Dialect/OpenACC/OpenACCOpsAttributes.cpp.inc",
10511        ),
10512        (
10513            ["-gen-op-doc"],
10514            "g3doc/Dialects/OpenACC/OpenACCOps.md",
10515        ),
10516    ],
10517    tblgen = ":mlir-tblgen",
10518    td_file = "include/mlir/Dialect/OpenACC/OpenACCOps.td",
10519    deps = [
10520        ":BuiltinDialectTdFiles",
10521        ":ControlFlowInterfacesTdFiles",
10522        ":OpenAccOpsTdFiles",
10523        ":SideEffectInterfacesTdFiles",
10524    ],
10525)
10526
10527gentbl_cc_library(
10528    name = "OpenACCTypesIncGen",
10529    tbl_outs = [
10530        (
10531            [
10532                "--gen-typedef-decls",
10533                "-typedefs-dialect=acc",
10534            ],
10535            "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.h.inc",
10536        ),
10537        (
10538            [
10539                "--gen-typedef-defs",
10540                "-typedefs-dialect=acc",
10541            ],
10542            "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.cpp.inc",
10543        ),
10544    ],
10545    tblgen = ":mlir-tblgen",
10546    td_file = "include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td",
10547    deps = [":OpenAccOpsTdFiles"],
10548)
10549
10550gentbl_cc_library(
10551    name = "OpenACCTypeInterfacesIncGen",
10552    tbl_outs = [
10553        (
10554            ["-gen-type-interface-decls"],
10555            "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.h.inc",
10556        ),
10557        (
10558            ["-gen-type-interface-defs"],
10559            "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.cpp.inc",
10560        ),
10561    ],
10562    tblgen = ":mlir-tblgen",
10563    td_file = "include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td",
10564    deps = [":OpenAccOpsTdFiles"],
10565)
10566
10567cc_library(
10568    name = "OpenACCDialect",
10569    srcs = glob(["lib/Dialect/OpenACC/IR/*.cpp"]),
10570    hdrs = glob(
10571        include = ["include/mlir/Dialect/OpenACC/*.h"],
10572        exclude = ["include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h"],
10573    ) + [
10574        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h",
10575    ],
10576    includes = ["include"],
10577    textual_hdrs = [
10578        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h",
10579    ],
10580    deps = [
10581        ":AtomicInterfaces",
10582        ":AtomicInterfacesIncGen",
10583        ":BytecodeOpInterface",
10584        ":ControlFlowInterfaces",
10585        ":IR",
10586        ":LLVMDialect",
10587        ":LoopLikeInterface",
10588        ":MemRefDialect",
10589        ":OpenACCMPOpsInterfacesIncGen",
10590        ":OpenACCOpsIncGen",
10591        ":OpenACCOpsInterfacesIncGen",
10592        ":OpenACCTypeInterfacesIncGen",
10593        ":OpenACCTypesIncGen",
10594        ":SideEffectInterfaces",
10595        ":Support",
10596        ":TransformUtils",
10597        "//llvm:Support",
10598    ],
10599)
10600
10601gentbl_cc_library(
10602    name = "OpenACCPassIncGen",
10603    tbl_outs = [
10604        (
10605            [
10606                "-gen-pass-decls",
10607                "-name=OpenACC",
10608            ],
10609            "include/mlir/Dialect/OpenACC/Transforms/Passes.h.inc",
10610        ),
10611    ],
10612    tblgen = ":mlir-tblgen",
10613    td_file = "include/mlir/Dialect/OpenACC/Transforms/Passes.td",
10614    deps = [":PassBaseTdFiles"],
10615)
10616
10617cc_library(
10618    name = "OpenACCTransforms",
10619    srcs = glob(
10620        [
10621            "lib/Dialect/OpenACC/Transforms/*.cpp",
10622        ],
10623    ),
10624    hdrs = glob(["include/mlir/Dialect/OpenACC/Transforms/*.h"]),
10625    includes = ["include"],
10626    deps = [
10627        ":FuncDialect",
10628        ":OpenACCDialect",
10629        ":OpenACCPassIncGen",
10630        ":Pass",
10631        ":TransformUtils",
10632        "//llvm:Support",
10633    ],
10634)
10635
10636## OpenMP dialect
10637
10638# TODO(gcmn): This is sticking td files in a cc_library
10639gentbl_cc_library(
10640    name = "OmpCommonTdGen",
10641    includes = ["/llvm/include"],
10642    tbl_outs = [
10643        (
10644            [
10645                "-gen-directive-decl",
10646                "-directives-dialect=OpenMP",
10647            ],
10648            "include/mlir/Dialect/OpenMP/OmpCommon.td",
10649        ),
10650    ],
10651    tblgen = ":mlir-tblgen",
10652    td_file = "//llvm:include/llvm/Frontend/OpenMP/OMP.td",
10653    deps = [
10654        ":OpBaseTdFiles",
10655        "//llvm:omp_td_files",
10656    ],
10657)
10658
10659td_library(
10660    name = "OpenMPOpsTdFiles",
10661    srcs = [
10662        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td",
10663        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.td",
10664        "include/mlir/Dialect/OpenMP/OmpCommon.td",
10665        "include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td",
10666        "include/mlir/Dialect/OpenMP/OpenMPClauses.td",
10667        "include/mlir/Dialect/OpenMP/OpenMPDialect.td",
10668        "include/mlir/Dialect/OpenMP/OpenMPEnums.td",
10669        "include/mlir/Dialect/OpenMP/OpenMPOpBase.td",
10670        "include/mlir/Dialect/OpenMP/OpenMPOps.td",
10671        "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td",
10672        "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.td",
10673    ],
10674    deps = [
10675        ":AtomicInterfacesTdFiles",
10676        ":LLVMOpsTdFiles",
10677        ":OpBaseTdFiles",
10678    ],
10679)
10680
10681gentbl_cc_library(
10682    name = "OpenMPOpsIncGen",
10683    tbl_outs = [
10684        (
10685            [
10686                "-gen-typedef-decls",
10687                "-typedefs-dialect=omp",
10688            ],
10689            "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.h.inc",
10690        ),
10691        (
10692            [
10693                "-gen-typedef-defs",
10694                "-typedefs-dialect=omp",
10695            ],
10696            "include/mlir/Dialect/OpenMP/OpenMPOpsTypes.cpp.inc",
10697        ),
10698        (
10699            ["-gen-op-decls"],
10700            "include/mlir/Dialect/OpenMP/OpenMPOps.h.inc",
10701        ),
10702        (
10703            ["-gen-op-defs"],
10704            "include/mlir/Dialect/OpenMP/OpenMPOps.cpp.inc",
10705        ),
10706        (
10707            ["-gen-enum-decls"],
10708            "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc",
10709        ),
10710        (
10711            ["-gen-enum-defs"],
10712            "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc",
10713        ),
10714        (
10715            [
10716                "-gen-dialect-decls",
10717                "-dialect=omp",
10718            ],
10719            "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc",
10720        ),
10721        (
10722            [
10723                "-gen-dialect-defs",
10724                "-dialect=omp",
10725            ],
10726            "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc",
10727        ),
10728        (
10729            [
10730                "-gen-attrdef-decls",
10731                "-attrdefs-dialect=omp",
10732            ],
10733            "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.h.inc",
10734        ),
10735        (
10736            [
10737                "-gen-attrdef-defs",
10738                "-attrdefs-dialect=omp",
10739            ],
10740            "include/mlir/Dialect/OpenMP/OpenMPOpsAttributes.cpp.inc",
10741        ),
10742        (
10743            ["-gen-op-doc"],
10744            "g3doc/Dialects/OpenMP/OpenMPOps.md",
10745        ),
10746        (
10747            ["-gen-openmp-clause-ops"],
10748            "include/mlir/Dialect/OpenMP/OpenMPClauseOps.h.inc",
10749        ),
10750    ],
10751    tblgen = ":mlir-tblgen",
10752    td_file = "include/mlir/Dialect/OpenMP/OpenMPOps.td",
10753    deps = [":OpenMPOpsTdFiles"],
10754)
10755
10756gentbl_cc_library(
10757    name = "OpenMPTypeInterfacesIncGen",
10758    tbl_outs = [
10759        (
10760            ["-gen-type-interface-decls"],
10761            "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.h.inc",
10762        ),
10763        (
10764            ["-gen-type-interface-defs"],
10765            "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.cpp.inc",
10766        ),
10767    ],
10768    tblgen = ":mlir-tblgen",
10769    td_file = "include/mlir/Dialect/OpenMP/OpenMPTypeInterfaces.td",
10770    deps = [":OpenMPOpsTdFiles"],
10771)
10772
10773gentbl_cc_library(
10774    name = "OpenMPInterfacesIncGen",
10775    tbl_outs = [
10776        (
10777            ["-gen-op-interface-decls"],
10778            "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.h.inc",
10779        ),
10780        (
10781            ["-gen-op-interface-defs"],
10782            "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.cpp.inc",
10783        ),
10784    ],
10785    tblgen = ":mlir-tblgen",
10786    td_file = "include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td",
10787    deps = [":OpenMPOpsTdFiles"],
10788)
10789
10790cc_library(
10791    name = "OpenMPDialect",
10792    srcs = glob(["lib/Dialect/OpenMP/IR/*.cpp"]),
10793    hdrs = glob(
10794        include = ["include/mlir/Dialect/OpenMP/*.h"],
10795        exclude = ["include/mlir/Dialect/OpenMP/OpenMPInterfaces.h"],
10796    ) + [
10797        "include/mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.h",
10798    ],
10799    includes = ["include"],
10800    textual_hdrs = [
10801        "include/mlir/Dialect/OpenMP/OpenMPInterfaces.h",
10802    ],
10803    deps = [
10804        ":AtomicInterfaces",
10805        ":AtomicInterfacesIncGen",
10806        ":ControlFlowInterfaces",
10807        ":ConvertToLLVMInterface",
10808        ":FuncDialect",
10809        ":IR",
10810        ":LLVMDialect",
10811        ":OpenACCMPOpsInterfacesIncGen",
10812        ":OpenMPInterfacesIncGen",
10813        ":OpenMPOpsIncGen",
10814        ":OpenMPTypeInterfacesIncGen",
10815        ":SideEffectInterfaces",
10816        ":Support",
10817        "//llvm:FrontendOpenMP",
10818        "//llvm:Support",
10819    ],
10820)
10821
10822cc_library(
10823    name = "OpenACCToSCF",
10824    srcs = glob([
10825        "lib/Conversion/OpenACCToSCF/*.cpp",
10826    ]),
10827    hdrs = glob([
10828        "include/mlir/Conversion/OpenACCToSCF/*.h",
10829    ]),
10830    includes = ["include"],
10831    deps = [
10832        ":ArithDialect",
10833        ":ConversionPassIncGen",
10834        ":IR",
10835        ":OpenACCDialect",
10836        ":Pass",
10837        ":SCFDialect",
10838        ":TransformUtils",
10839    ],
10840)
10841
10842cc_library(
10843    name = "OpenMPToLLVM",
10844    srcs = glob([
10845        "lib/Conversion/OpenMPToLLVM/*.cpp",
10846    ]),
10847    hdrs = glob([
10848        "include/mlir/Conversion/OpenMPToLLVM/*.h",
10849    ]),
10850    includes = ["include"],
10851    deps = [
10852        ":ArithToLLVM",
10853        ":ControlFlowToLLVM",
10854        ":ConversionPassIncGen",
10855        ":ConvertToLLVMInterface",
10856        ":FuncToLLVM",
10857        ":LLVMCommonConversion",
10858        ":LLVMDialect",
10859        ":MemRefToLLVM",
10860        ":OpenMPDialect",
10861        ":Pass",
10862    ],
10863)
10864
10865td_library(
10866    name = "QuantizationOpsTdFiles",
10867    srcs = [
10868        "include/mlir/Dialect/Quant/IR/QuantBase.td",
10869        "include/mlir/Dialect/Quant/IR/QuantOps.td",
10870    ],
10871    includes = ["include"],
10872    deps = [
10873        ":InferTypeOpInterfaceTdFiles",
10874        ":OpBaseTdFiles",
10875        ":SideEffectInterfacesTdFiles",
10876    ],
10877)
10878
10879gentbl_cc_library(
10880    name = "QuantOpsIncGen",
10881    tbl_outs = [
10882        (
10883            ["-gen-op-decls"],
10884            "include/mlir/Dialect/Quant/IR/QuantOps.h.inc",
10885        ),
10886        (
10887            ["-gen-op-defs"],
10888            "include/mlir/Dialect/Quant/IR/QuantOps.cpp.inc",
10889        ),
10890        (
10891            ["-gen-dialect-decls"],
10892            "include/mlir/Dialect/Quant/IR/QuantOpsDialect.h.inc",
10893        ),
10894        (
10895            ["-gen-dialect-defs"],
10896            "include/mlir/Dialect/Quant/IR/QuantOpsDialect.cpp.inc",
10897        ),
10898        (
10899            ["-gen-op-doc"],
10900            "g3doc/Dialects/QuantOps/QuantOps.md",
10901        ),
10902    ],
10903    tblgen = ":mlir-tblgen",
10904    td_file = "include/mlir/Dialect/Quant/IR/QuantOps.td",
10905    deps = [":QuantizationOpsTdFiles"],
10906)
10907
10908gentbl_cc_library(
10909    name = "QuantDialectBytecodeGen",
10910    tbl_outs = [
10911        (
10912            [
10913                "-gen-bytecode",
10914                "-bytecode-dialect=Quant",
10915            ],
10916            "include/mlir/Dialect/Quant/IR/QuantDialectBytecode.cpp.inc",
10917        ),
10918    ],
10919    tblgen = ":mlir-tblgen",
10920    td_file = "include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td",
10921    deps = [
10922        ":BytecodeTdFiles",
10923    ],
10924)
10925
10926cc_library(
10927    name = "QuantOps",
10928    srcs = [
10929        "lib/Dialect/Quant/IR/QuantDialectBytecode.cpp",
10930        "lib/Dialect/Quant/IR/QuantDialectBytecode.h",
10931        "lib/Dialect/Quant/IR/QuantOps.cpp",
10932        "lib/Dialect/Quant/IR/QuantTypes.cpp",
10933        "lib/Dialect/Quant/IR/TypeDetail.h",
10934        "lib/Dialect/Quant/IR/TypeParser.cpp",
10935        "lib/Dialect/Quant/Utils/FakeQuantSupport.cpp",
10936        "lib/Dialect/Quant/Utils/UniformSupport.cpp",
10937    ],
10938    hdrs = [
10939        "include/mlir/Dialect/Quant/IR/Quant.h",
10940        "include/mlir/Dialect/Quant/IR/QuantTypes.h",
10941        "include/mlir/Dialect/Quant/Utils/FakeQuantSupport.h",
10942        "include/mlir/Dialect/Quant/Utils/UniformSupport.h",
10943    ],
10944    includes = ["include"],
10945    deps = [
10946        ":BytecodeOpInterface",
10947        ":IR",
10948        ":InferTypeOpInterface",
10949        ":QuantDialectBytecodeGen",
10950        ":QuantOpsIncGen",
10951        ":SideEffectInterfaces",
10952        ":Support",
10953        "//llvm:Support",
10954    ],
10955)
10956
10957td_library(
10958    name = "IndexOpsTdFiles",
10959    srcs = [
10960        "include/mlir/Dialect/Index/IR/IndexDialect.td",
10961        "include/mlir/Dialect/Index/IR/IndexEnums.td",
10962        "include/mlir/Dialect/Index/IR/IndexOps.td",
10963    ],
10964    includes = ["include"],
10965    deps = [
10966        ":CastInterfacesTdFiles",
10967        ":InferIntRangeInterfaceTdFiles",
10968        ":InferTypeOpInterfaceTdFiles",
10969        ":OpBaseTdFiles",
10970        ":SideEffectInterfacesTdFiles",
10971    ],
10972)
10973
10974gentbl_cc_library(
10975    name = "IndexOpsIncGen",
10976    tbl_outs = [
10977        (
10978            ["-gen-op-decls"],
10979            "include/mlir/Dialect/Index/IR/IndexOps.h.inc",
10980        ),
10981        (
10982            ["-gen-op-defs"],
10983            "include/mlir/Dialect/Index/IR/IndexOps.cpp.inc",
10984        ),
10985        (
10986            [
10987                "-gen-dialect-decls",
10988                "-dialect=index",
10989            ],
10990            "include/mlir/Dialect/Index/IR/IndexOpsDialect.h.inc",
10991        ),
10992        (
10993            [
10994                "-gen-dialect-defs",
10995                "-dialect=index",
10996            ],
10997            "include/mlir/Dialect/Index/IR/IndexOpsDialect.cpp.inc",
10998        ),
10999        (
11000            ["-gen-attrdef-decls"],
11001            "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.h.inc",
11002        ),
11003        (
11004            ["-gen-attrdef-defs"],
11005            "include/mlir/Dialect/Index/IR/IndexOpsAttrDefs.cpp.inc",
11006        ),
11007    ],
11008    tblgen = ":mlir-tblgen",
11009    td_file = "include/mlir/Dialect/Index/IR/IndexOps.td",
11010    deps = [":IndexOpsTdFiles"],
11011)
11012
11013gentbl_cc_library(
11014    name = "IndexEnumsIncGen",
11015    tbl_outs = [
11016        (
11017            ["-gen-enum-decls"],
11018            "include/mlir/Dialect/Index/IR/IndexEnums.h.inc",
11019        ),
11020        (
11021            ["-gen-enum-defs"],
11022            "include/mlir/Dialect/Index/IR/IndexEnums.cpp.inc",
11023        ),
11024        (
11025            [
11026                "-gen-attrdef-decls",
11027                "-attrdefs-dialect=index",
11028            ],
11029            "include/mlir/Dialect/Index/IR/IndexAttrs.h.inc",
11030        ),
11031        (
11032            [
11033                "-gen-attrdef-defs",
11034                "-attrdefs-dialect=index",
11035            ],
11036            "include/mlir/Dialect/Index/IR/IndexAttrs.cpp.inc",
11037        ),
11038    ],
11039    tblgen = ":mlir-tblgen",
11040    td_file = "include/mlir/Dialect/Index/IR/IndexEnums.td",
11041    deps = [":IndexOpsTdFiles"],
11042)
11043
11044cc_library(
11045    name = "IndexToLLVM",
11046    srcs = glob([
11047        "lib/Conversion/IndexToLLVM/*.cpp",
11048    ]),
11049    hdrs = glob([
11050        "include/mlir/Conversion/IndexToLLVM/*.h",
11051    ]),
11052    includes = ["include"],
11053    deps = [
11054        ":ConversionPassIncGen",
11055        ":ConvertToLLVMInterface",
11056        ":IndexDialect",
11057        ":LLVMCommonConversion",
11058        ":LLVMDialect",
11059        ":Pass",
11060    ],
11061)
11062
11063cc_library(
11064    name = "IndexToSPIRV",
11065    srcs = glob([
11066        "lib/Conversion/IndexToSPIRV/*.cpp",
11067    ]),
11068    hdrs = glob([
11069        "include/mlir/Conversion/IndexToSPIRV/*.h",
11070    ]),
11071    includes = ["include"],
11072    deps = [
11073        ":ConversionPassIncGen",
11074        ":IndexDialect",
11075        ":Pass",
11076        ":SPIRVCommonConversion",
11077        ":SPIRVConversion",
11078        ":SPIRVDialect",
11079    ],
11080)
11081
11082cc_library(
11083    name = "IndexDialect",
11084    srcs = glob(["lib/Dialect/Index/IR/*.cpp"]),
11085    hdrs = glob(["include/mlir/Dialect/Index/IR/*.h"]),
11086    includes = ["include"],
11087    deps = [
11088        ":BytecodeOpInterface",
11089        ":CastInterfaces",
11090        ":ConvertToLLVMInterface",
11091        ":IR",
11092        ":IndexEnumsIncGen",
11093        ":IndexOpsIncGen",
11094        ":InferIntRangeCommon",
11095        ":InferIntRangeInterface",
11096        ":InferTypeOpInterface",
11097        ":SideEffectInterfaces",
11098        "//llvm:Support",
11099    ],
11100)
11101
11102td_library(
11103    name = "LinalgOpsTdFiles",
11104    srcs = [
11105        "include/mlir/Dialect/Linalg/IR/LinalgBase.td",
11106        "include/mlir/Dialect/Linalg/IR/LinalgEnums.td",
11107        "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
11108        "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
11109    ],
11110    includes = ["include"],
11111    deps = [
11112        ":ControlFlowInterfacesTdFiles",
11113        ":DestinationStyleOpInterfaceTdFiles",
11114        ":DialectUtilsTdFiles",
11115        ":InferTypeOpInterfaceTdFiles",
11116        ":LoopLikeInterfaceTdFiles",
11117        ":OpBaseTdFiles",
11118        ":SideEffectInterfacesTdFiles",
11119        ":TilingInterfaceTdFiles",
11120        ":ViewLikeInterfaceTdFiles",
11121    ],
11122)
11123
11124td_library(
11125    name = "LinalgTransformOpsTdFiles",
11126    srcs = glob([
11127        "include/mlir/Dialect/Linalg/TransformOps/*.td",
11128    ]),
11129    includes = ["include"],
11130    deps = [
11131        ":SCFTdFiles",
11132        ":TransformDialectTdFiles",
11133    ],
11134)
11135
11136gentbl_cc_library(
11137    name = "LinalgOpsIncGen",
11138    tbl_outs = [
11139        (
11140            ["-gen-op-decls"],
11141            "include/mlir/Dialect/Linalg/IR/LinalgOps.h.inc",
11142        ),
11143        (
11144            ["-gen-op-defs"],
11145            "include/mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc",
11146        ),
11147        (
11148            [
11149                "-gen-dialect-decls",
11150                "-dialect=linalg",
11151            ],
11152            "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc",
11153        ),
11154        (
11155            [
11156                "-gen-dialect-defs",
11157                "-dialect=linalg",
11158            ],
11159            "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc",
11160        ),
11161        (
11162            ["-gen-attrdef-decls"],
11163            "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.h.inc",
11164        ),
11165        (
11166            ["-gen-attrdef-defs"],
11167            "include/mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.cpp.inc",
11168        ),
11169    ],
11170    tblgen = ":mlir-tblgen",
11171    td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
11172    deps = [":LinalgOpsTdFiles"],
11173)
11174
11175gentbl_cc_library(
11176    name = "LinalgEnumsIncGen",
11177    tbl_outs = [
11178        (
11179            ["-gen-enum-decls"],
11180            "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.h.inc",
11181        ),
11182        (
11183            ["-gen-enum-defs"],
11184            "include/mlir/Dialect/Linalg/IR/LinalgOpsEnums.cpp.inc",
11185        ),
11186    ],
11187    tblgen = ":mlir-tblgen",
11188    td_file = "include/mlir/Dialect/Linalg/IR/LinalgEnums.td",
11189    deps = [":LinalgOpsTdFiles"],
11190)
11191
11192gentbl_cc_library(
11193    name = "LinalgMatchOpsIncGen",
11194    tbl_outs = [
11195        (
11196            ["-gen-op-decls"],
11197            "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.h.inc",
11198        ),
11199        (
11200            ["-gen-op-defs"],
11201            "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp.inc",
11202        ),
11203    ],
11204    tblgen = ":mlir-tblgen",
11205    td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td",
11206    deps = [
11207        ":LinalgTransformEnumsIncGen",
11208        ":LinalgTransformOpsIncGen",
11209        ":LinalgTransformOpsTdFiles",
11210        ":SCFDeviceMappingInterfacesIncGen",
11211    ],
11212)
11213
11214gentbl_cc_library(
11215    name = "LinalgTransformEnumsIncGen",
11216    tbl_outs = [
11217        (
11218            ["-gen-enum-decls"],
11219            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.h.inc",
11220        ),
11221        (
11222            ["-gen-enum-defs"],
11223            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOpsEnums.cpp.inc",
11224        ),
11225    ],
11226    tblgen = ":mlir-tblgen",
11227    td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td",
11228    deps = [
11229        ":LinalgTransformOpsTdFiles",
11230        ":SCFDeviceMappingInterfacesIncGen",
11231    ],
11232)
11233
11234gentbl_cc_library(
11235    name = "LinalgTransformOpsIncGen",
11236    tbl_outs = [
11237        (
11238            ["-gen-op-decls"],
11239            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h.inc",
11240        ),
11241        (
11242            ["-gen-op-defs"],
11243            "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp.inc",
11244        ),
11245    ],
11246    tblgen = ":mlir-tblgen",
11247    td_file = "include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td",
11248    deps = [
11249        ":LinalgTransformEnumsIncGen",
11250        ":LinalgTransformOpsTdFiles",
11251        ":SCFDeviceMappingInterfacesIncGen",
11252    ],
11253)
11254
11255genlinalg(
11256    name = "LinalgNamedStructuredOpsYamlIncGen",
11257    src = "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml",
11258    linalg_outs = [
11259        (
11260            "-o-impl=$@",
11261            "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.cpp.inc",
11262        ),
11263        (
11264            "-o-ods-decl=$@",
11265            "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.td",
11266        ),
11267    ],
11268    linalggen = ":mlir-linalg-ods-yaml-gen",
11269)
11270
11271td_library(
11272    name = "LinalgStructuredOpsTdFiles",
11273    srcs = [
11274        "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
11275        "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.td",
11276        "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
11277    ],
11278    includes = ["include"],
11279    deps = [
11280        ":CopyOpInterfaceTdFiles",
11281        ":DestinationStyleOpInterface",
11282        ":LinalgOpsTdFiles",
11283        ":OpBaseTdFiles",
11284        ":SideEffectInterfacesTdFiles",
11285    ],
11286)
11287
11288gentbl_cc_library(
11289    name = "LinalgStructuredOpsIncGen",
11290    tbl_outs = [
11291        (
11292            ["-gen-op-decls"],
11293            "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc",
11294        ),
11295        (
11296            ["-gen-op-defs"],
11297            "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc",
11298        ),
11299    ],
11300    tblgen = ":mlir-tblgen",
11301    td_file = "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
11302    deps = [":LinalgStructuredOpsTdFiles"],
11303)
11304
11305gentbl_cc_library(
11306    name = "LinalgInterfacesIncGen",
11307    tbl_outs = [
11308        (
11309            ["-gen-op-interface-decls"],
11310            "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h.inc",
11311        ),
11312        (
11313            ["-gen-op-interface-defs"],
11314            "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.cpp.inc",
11315        ),
11316    ],
11317    tblgen = ":mlir-tblgen",
11318    td_file = "include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td",
11319    deps = [":LinalgStructuredOpsTdFiles"],
11320)
11321
11322td_library(
11323    name = "BufferizableOpInterfaceTdFiles",
11324    srcs = [
11325        "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td",
11326    ],
11327    includes = ["include"],
11328    deps = [
11329        ":OpBaseTdFiles",
11330    ],
11331)
11332
11333gentbl_cc_library(
11334    name = "BufferizableOpInterfaceIncGen",
11335    tbl_outs = [
11336        (
11337            ["-gen-op-interface-decls"],
11338            "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h.inc",
11339        ),
11340        (
11341            ["-gen-op-interface-defs"],
11342            "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.cpp.inc",
11343        ),
11344    ],
11345    tblgen = ":mlir-tblgen",
11346    td_file = "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td",
11347    deps = [
11348        ":BufferizableOpInterfaceTdFiles",
11349    ],
11350)
11351
11352td_library(
11353    name = "BufferDeallocationOpInterfaceTdFiles",
11354    srcs = [
11355        "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.td",
11356    ],
11357    includes = ["include"],
11358    deps = [
11359        ":OpBaseTdFiles",
11360    ],
11361)
11362
11363gentbl_cc_library(
11364    name = "BufferDeallocationOpInterfaceIncGen",
11365    tbl_outs = [
11366        (
11367            ["-gen-op-interface-decls"],
11368            "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h.inc",
11369        ),
11370        (
11371            ["-gen-op-interface-defs"],
11372            "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp.inc",
11373        ),
11374    ],
11375    tblgen = ":mlir-tblgen",
11376    td_file = "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.td",
11377    deps = [
11378        ":BufferDeallocationOpInterfaceTdFiles",
11379    ],
11380)
11381
11382td_library(
11383    name = "BufferViewFlowOpInterfaceTdFiles",
11384    srcs = [
11385        "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td",
11386    ],
11387    includes = ["include"],
11388    deps = [
11389        ":OpBaseTdFiles",
11390    ],
11391)
11392
11393gentbl_cc_library(
11394    name = "BufferViewFlowOpInterfaceIncGen",
11395    tbl_outs = [
11396        (
11397            ["-gen-op-interface-decls"],
11398            "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h.inc",
11399        ),
11400        (
11401            ["-gen-op-interface-defs"],
11402            "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp.inc",
11403        ),
11404    ],
11405    tblgen = ":mlir-tblgen",
11406    td_file = "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td",
11407    deps = [
11408        ":BufferViewFlowOpInterfaceTdFiles",
11409    ],
11410)
11411
11412td_library(
11413    name = "SubsetOpInterfaceTdFiles",
11414    srcs = [
11415        "include/mlir/Interfaces/SubsetOpInterface.td",
11416    ],
11417    includes = ["include"],
11418    deps = [
11419        ":OpBaseTdFiles",
11420    ],
11421)
11422
11423gentbl_cc_library(
11424    name = "SubsetOpInterfaceIncGen",
11425    tbl_outs = [
11426        (
11427            ["-gen-op-interface-decls"],
11428            "include/mlir/Interfaces/SubsetOpInterface.h.inc",
11429        ),
11430        (
11431            ["-gen-op-interface-defs"],
11432            "include/mlir/Interfaces/SubsetOpInterface.cpp.inc",
11433        ),
11434    ],
11435    tblgen = ":mlir-tblgen",
11436    td_file = "include/mlir/Interfaces/SubsetOpInterface.td",
11437    deps = [
11438        ":SubsetOpInterfaceTdFiles",
11439    ],
11440)
11441
11442cc_library(
11443    name = "SubsetOpInterface",
11444    srcs = ["lib/Interfaces/SubsetOpInterface.cpp"],
11445    hdrs = ["include/mlir/Interfaces/SubsetOpInterface.h"],
11446    includes = ["include"],
11447    deps = [
11448        ":DestinationStyleOpInterface",
11449        ":IR",
11450        ":SubsetOpInterfaceIncGen",
11451        ":ValueBoundsOpInterface",
11452    ],
11453)
11454
11455td_library(
11456    name = "LinalgDocTdFiles",
11457    srcs = ["include/mlir/Dialect/Linalg/IR/LinalgDoc.td"],
11458    includes = ["include"],
11459    deps = [
11460        ":LinalgOpsTdFiles",
11461        ":LinalgStructuredOpsTdFiles",
11462    ],
11463)
11464
11465gentbl_cc_library(
11466    name = "LinalgDocIncGen",
11467    tbl_outs = [
11468        (
11469            ["-gen-op-doc"],
11470            "g3doc/Dialects/Linalg/LinalgOps.md",
11471        ),
11472    ],
11473    tblgen = ":mlir-tblgen",
11474    td_file = "include/mlir/Dialect/Linalg/IR/LinalgDoc.td",
11475    deps = [":LinalgDocTdFiles"],
11476)
11477
11478cc_library(
11479    name = "LinalgToStandard",
11480    srcs = glob([
11481        "lib/Conversion/LinalgToStandard/*.cpp",
11482    ]),
11483    hdrs = glob([
11484        "include/mlir/Conversion/LinalgToStandard/*.h",
11485    ]),
11486    includes = ["include"],
11487    deps = [
11488        ":AffineDialect",
11489        ":ConversionPassIncGen",
11490        ":FuncDialect",
11491        ":LLVMDialect",
11492        ":LinalgDialect",
11493        ":LinalgTransforms",
11494        ":MemRefDialect",
11495        ":Pass",
11496        ":SCFDialect",
11497        ":TransformUtils",
11498    ],
11499)
11500
11501cc_library(
11502    name = "LinalgDialect",
11503    srcs = glob(["lib/Dialect/Linalg/IR/*.cpp"]),
11504    hdrs = glob(["include/mlir/Dialect/Linalg/IR/*.h"]),
11505    includes = ["include"],
11506    deps = [
11507        ":AffineDialect",
11508        ":ArithDialect",
11509        ":ArithUtils",
11510        ":AsmParser",
11511        ":BufferizationInterfaces",
11512        ":BytecodeOpInterface",
11513        ":ComplexDialect",
11514        ":ControlFlowInterfaces",
11515        ":CopyOpInterface",
11516        ":DestinationStyleOpInterface",
11517        ":DialectUtils",
11518        ":FunctionInterfaces",
11519        ":IR",
11520        ":InferTypeOpInterface",
11521        ":InliningUtils",
11522        ":LinalgEnumsIncGen",
11523        ":LinalgInterfacesIncGen",
11524        ":LinalgNamedStructuredOpsYamlIncGen",
11525        ":LinalgOpsIncGen",
11526        ":LinalgStructuredOpsIncGen",
11527        ":MathDialect",
11528        ":MemRefDialect",
11529        ":MeshShardingInterface",
11530        ":Parser",
11531        ":SCFDialect",
11532        ":SideEffectInterfaces",
11533        ":SparseTensorDialect",
11534        ":SubsetOpInterface",
11535        ":Support",
11536        ":TensorDialect",
11537        ":TilingInterface",
11538        ":ValueBoundsOpInterface",
11539        ":ViewLikeInterface",
11540        "//llvm:Support",
11541    ],
11542)
11543
11544cc_library(
11545    name = "LinalgTransformOps",
11546    srcs = glob([
11547        "lib/Dialect/Linalg/TransformOps/*.cpp",
11548    ]),
11549    hdrs = glob([
11550        "include/mlir/Dialect/Linalg/TransformOps/*.h",
11551    ]),
11552    includes = ["include"],
11553    deps = [
11554        ":AffineDialect",
11555        ":Analysis",
11556        ":ArithDialect",
11557        ":ArithUtils",
11558        ":AsmParser",
11559        ":BufferizationDialect",
11560        ":BufferizationTransforms",
11561        ":DialectUtils",
11562        ":FuncDialect",
11563        ":FunctionInterfaces",
11564        ":GPUDialect",
11565        ":IR",
11566        ":IndexDialect",
11567        ":LinalgDialect",
11568        ":LinalgMatchOpsIncGen",
11569        ":LinalgTransformEnumsIncGen",
11570        ":LinalgTransformOpsIncGen",
11571        ":LinalgTransforms",
11572        ":LinalgUtils",
11573        ":SCFDialect",
11574        ":SCFTransforms",
11575        ":Support",
11576        ":TensorDialect",
11577        ":TensorUtils",
11578        ":TilingInterface",
11579        ":TransformDialect",
11580        ":TransformDialectInterfaces",
11581        ":TransformDialectUtils",
11582        ":TransformUtils",
11583        ":VectorDialect",
11584        ":VectorTransforms",
11585        "//llvm:Support",
11586    ],
11587)
11588
11589gentbl_cc_library(
11590    name = "LinalgPassIncGen",
11591    tbl_outs = [
11592        (
11593            [
11594                "-gen-pass-decls",
11595                "-name=Linalg",
11596            ],
11597            "include/mlir/Dialect/Linalg/Passes.h.inc",
11598        ),
11599        (
11600            [
11601                "-gen-pass-capi-header",
11602                "--prefix=Linalg",
11603            ],
11604            "include/mlir/Dialect/Linalg/Passes.capi.h.inc",
11605        ),
11606        (
11607            [
11608                "-gen-pass-capi-impl",
11609                "--prefix=Linalg",
11610            ],
11611            "include/mlir/Dialect/Linalg/Passes.capi.cpp.inc",
11612        ),
11613    ],
11614    tblgen = ":mlir-tblgen",
11615    td_file = "include/mlir/Dialect/Linalg/Passes.td",
11616    deps = [":PassBaseTdFiles"],
11617)
11618
11619cc_library(
11620    name = "LinalgUtils",
11621    srcs = glob([
11622        "lib/Dialect/Linalg/Utils/*.cpp",
11623    ]),
11624    hdrs = glob([
11625        "include/mlir/Dialect/Linalg/Utils/*.h",
11626    ]),
11627    deps = [
11628        ":AffineAnalysis",
11629        ":AffineDialect",
11630        ":AffineUtils",
11631        ":Analysis",
11632        ":ArithDialect",
11633        ":ArithUtils",
11634        ":DialectUtils",
11635        ":FuncDialect",
11636        ":IR",
11637        ":LinalgDialect",
11638        ":MemRefDialect",
11639        ":Pass",
11640        ":SCFDialect",
11641        ":TensorDialect",
11642        ":TensorUtils",
11643        "//llvm:Support",
11644    ],
11645)
11646
11647cc_library(
11648    name = "LinalgTransforms",
11649    srcs = glob([
11650        "lib/Dialect/Linalg/Transforms/*.cpp",
11651    ]),
11652    hdrs = [
11653        "include/mlir/Dialect/Linalg/Passes.h",
11654    ] + glob([
11655        "include/mlir/Dialect/Linalg/Transforms/*.h",
11656    ]),
11657    includes = ["include"],
11658    deps = [
11659        ":AffineAnalysis",
11660        ":AffineDialect",
11661        ":AffineTransforms",
11662        ":AffineUtils",
11663        ":Analysis",
11664        ":ArithDialect",
11665        ":ArithUtils",
11666        ":BufferizationDialect",
11667        ":BufferizationInterfaces",
11668        ":BufferizationTransforms",
11669        ":ComplexDialect",
11670        ":ControlFlowDialect",
11671        ":DestinationStyleOpInterface",
11672        ":DialectUtils",
11673        ":FuncDialect",
11674        ":FuncTransforms",
11675        ":GPUDialect",
11676        ":IR",
11677        ":IndexDialect",
11678        ":LinalgDialect",
11679        ":LinalgPassIncGen",
11680        ":LinalgStructuredOpsIncGen",
11681        ":LinalgUtils",
11682        ":MaskableOpInterface",
11683        ":MathDialect",
11684        ":MemRefDialect",
11685        ":MemRefTransforms",
11686        ":MeshDialect",
11687        ":MeshShardingInterface",
11688        ":MeshTransforms",
11689        ":Pass",
11690        ":RuntimeVerifiableOpInterface",
11691        ":SCFDialect",
11692        ":SCFTransforms",
11693        ":SCFUtils",
11694        ":SparseTensorDialect",
11695        ":SubsetOpInterface",
11696        ":Support",
11697        ":TensorDialect",
11698        ":TensorTilingInterfaceImpl",
11699        ":TensorTransforms",
11700        ":TensorUtils",
11701        ":TilingInterface",
11702        ":TransformUtils",
11703        ":ValueBoundsOpInterface",
11704        ":VectorDialect",
11705        ":VectorToSCF",
11706        ":VectorTransforms",
11707        ":VectorUtils",
11708        ":X86VectorTransforms",
11709        "//llvm:Support",
11710    ],
11711)
11712
11713td_library(
11714    name = "ValueBoundsOpInterfaceTdFiles",
11715    srcs = [
11716        "include/mlir/Interfaces/ValueBoundsOpInterface.td",
11717    ],
11718    includes = ["include"],
11719    deps = [
11720        ":OpBaseTdFiles",
11721    ],
11722)
11723
11724gentbl_cc_library(
11725    name = "ValueBoundsOpInterfaceIncGen",
11726    tbl_outs = [
11727        (
11728            ["-gen-op-interface-decls"],
11729            "include/mlir/Interfaces/ValueBoundsOpInterface.h.inc",
11730        ),
11731        (
11732            ["-gen-op-interface-defs"],
11733            "include/mlir/Interfaces/ValueBoundsOpInterface.cpp.inc",
11734        ),
11735    ],
11736    tblgen = ":mlir-tblgen",
11737    td_file = "include/mlir/Interfaces/ValueBoundsOpInterface.td",
11738    deps = [
11739        ":ValueBoundsOpInterfaceTdFiles",
11740    ],
11741)
11742
11743cc_library(
11744    name = "ValueBoundsOpInterface",
11745    srcs = ["lib/Interfaces/ValueBoundsOpInterface.cpp"],
11746    hdrs = ["include/mlir/Interfaces/ValueBoundsOpInterface.h"],
11747    includes = ["include"],
11748    deps = [
11749        ":Analysis",
11750        ":DestinationStyleOpInterface",
11751        ":IR",
11752        ":ValueBoundsOpInterfaceIncGen",
11753        ":ViewLikeInterface",
11754        "//llvm:Support",
11755    ],
11756)
11757
11758cc_library(
11759    name = "ArithValueBoundsOpInterfaceImpl",
11760    srcs = ["lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp"],
11761    hdrs = ["include/mlir/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.h"],
11762    includes = ["include"],
11763    deps = [
11764        ":ArithDialect",
11765        ":ValueBoundsOpInterface",
11766    ],
11767)
11768
11769cc_library(
11770    name = "TilingInterface",
11771    srcs = ["lib/Interfaces/TilingInterface.cpp"],
11772    hdrs = ["include/mlir/Interfaces/TilingInterface.h"],
11773    includes = ["include"],
11774    deps = [
11775        ":DialectUtils",
11776        ":IR",
11777        ":Support",
11778        ":TilingInterfaceIncGen",
11779        ":ViewLikeInterface",
11780    ],
11781)
11782
11783##---------------------------------------------------------------------------##
11784# Vector dialect.
11785##---------------------------------------------------------------------------##
11786
11787td_library(
11788    name = "MaskingOpInterfaceTdFiles",
11789    srcs = ["include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.td"],
11790    includes = ["include"],
11791    deps = [":OpBaseTdFiles"],
11792)
11793
11794td_library(
11795    name = "MaskableOpInterfaceTdFiles",
11796    srcs = ["include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.td"],
11797    includes = ["include"],
11798    deps = [":OpBaseTdFiles"],
11799)
11800
11801td_library(
11802    name = "VectorOpsTdFiles",
11803    srcs = [
11804        "include/mlir/Dialect/Vector/IR/Vector.td",
11805        "include/mlir/Dialect/Vector/IR/VectorAttributes.td",
11806        "include/mlir/Dialect/Vector/IR/VectorOps.td",
11807    ],
11808    includes = ["include"],
11809    deps = [
11810        ":ControlFlowInterfacesTdFiles",
11811        ":DestinationStyleOpInterfaceTdFiles",
11812        ":InferTypeOpInterfaceTdFiles",
11813        ":MaskableOpInterfaceTdFiles",
11814        ":MaskingOpInterfaceTdFiles",
11815        ":OpBaseTdFiles",
11816        ":SideEffectInterfacesTdFiles",
11817        ":VectorInterfacesTdFiles",
11818        ":ViewLikeInterfaceTdFiles",
11819    ],
11820)
11821
11822td_library(
11823    name = "VectorTransformOpsTdFiles",
11824    srcs = [
11825        "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td",
11826    ],
11827    includes = ["include"],
11828    deps = [
11829        ":PDLDialectTdFiles",
11830        ":SCFTdFiles",
11831        ":TransformDialectTdFiles",
11832        ":VectorTransformsTdFiles",
11833    ],
11834)
11835
11836gentbl_cc_library(
11837    name = "MaskableOpInterfaceIncGen",
11838    tbl_outs = [
11839        (
11840            ["-gen-op-interface-decls"],
11841            "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h.inc",
11842        ),
11843        (
11844            ["-gen-op-interface-defs"],
11845            "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.cpp.inc",
11846        ),
11847    ],
11848    tblgen = ":mlir-tblgen",
11849    td_file = "include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.td",
11850    deps = [":MaskableOpInterfaceTdFiles"],
11851)
11852
11853gentbl_cc_library(
11854    name = "MaskingOpInterfaceIncGen",
11855    tbl_outs = [
11856        (
11857            ["-gen-op-interface-decls"],
11858            "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h.inc",
11859        ),
11860        (
11861            ["-gen-op-interface-defs"],
11862            "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.cpp.inc",
11863        ),
11864    ],
11865    tblgen = ":mlir-tblgen",
11866    td_file = "include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.td",
11867    deps = [":MaskingOpInterfaceTdFiles"],
11868)
11869
11870gentbl_cc_library(
11871    name = "VectorDialectIncGen",
11872    tbl_outs = [
11873        (
11874            [
11875                "-gen-dialect-decls",
11876                "-dialect=vector",
11877            ],
11878            "include/mlir/Dialect/Vector/IR/VectorDialect.h.inc",
11879        ),
11880        (
11881            [
11882                "-gen-dialect-defs",
11883                "-dialect=vector",
11884            ],
11885            "include/mlir/Dialect/Vector/IR/VectorDialect.cpp.inc",
11886        ),
11887        (
11888            ["-gen-op-doc"],
11889            "g3doc/Dialects/Vector/Vector.md",
11890        ),
11891    ],
11892    tblgen = ":mlir-tblgen",
11893    td_file = "include/mlir/Dialect/Vector/IR/Vector.td",
11894    deps = [
11895        ":ArithOpsTdFiles",
11896        ":VectorOpsTdFiles",
11897    ],
11898)
11899
11900gentbl_cc_library(
11901    name = "VectorOpsIncGen",
11902    tbl_outs = [
11903        (
11904            ["-gen-op-decls"],
11905            "include/mlir/Dialect/Vector/IR/VectorOps.h.inc",
11906        ),
11907        (
11908            ["-gen-op-defs"],
11909            "include/mlir/Dialect/Vector/IR/VectorOps.cpp.inc",
11910        ),
11911    ],
11912    tblgen = ":mlir-tblgen",
11913    td_file = "include/mlir/Dialect/Vector/IR/VectorOps.td",
11914    deps = [
11915        ":ArithOpsTdFiles",
11916        ":VectorOpsTdFiles",
11917    ],
11918)
11919
11920gentbl_cc_library(
11921    name = "VectorAttributesIncGen",
11922    tbl_outs = [
11923        (
11924            ["-gen-enum-decls"],
11925            "include/mlir/Dialect/Vector/IR/VectorEnums.h.inc",
11926        ),
11927        (
11928            ["-gen-enum-defs"],
11929            "include/mlir/Dialect/Vector/IR/VectorEnums.cpp.inc",
11930        ),
11931        (
11932            ["-gen-attrdef-decls"],
11933            "include/mlir/Dialect/Vector/IR/VectorAttributes.h.inc",
11934        ),
11935        (
11936            ["-gen-attrdef-defs"],
11937            "include/mlir/Dialect/Vector/IR/VectorAttributes.cpp.inc",
11938        ),
11939    ],
11940    tblgen = ":mlir-tblgen",
11941    td_file = "include/mlir/Dialect/Vector/IR/VectorAttributes.td",
11942    deps = [
11943        ":ArithOpsTdFiles",
11944        ":VectorOpsTdFiles",
11945    ],
11946)
11947
11948gentbl_cc_library(
11949    name = "VectorTransformOpsIncGen",
11950    tbl_outs = [
11951        (
11952            ["-gen-op-decls"],
11953            "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.h.inc",
11954        ),
11955        (
11956            ["-gen-op-defs"],
11957            "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.cpp.inc",
11958        ),
11959    ],
11960    tblgen = ":mlir-tblgen",
11961    td_file = "include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td",
11962    deps = [
11963        ":VectorTransformOpsTdFiles",
11964    ],
11965)
11966
11967cc_library(
11968    name = "MaskableOpInterface",
11969    srcs = ["lib/Dialect/Vector/Interfaces/MaskableOpInterface.cpp"],
11970    hdrs = ["include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h"],
11971    includes = ["include"],
11972    deps = [
11973        ":IR",
11974        ":MaskableOpInterfaceIncGen",
11975        ":MaskingOpInterface",
11976    ],
11977)
11978
11979cc_library(
11980    name = "MaskingOpInterface",
11981    srcs = ["lib/Dialect/Vector/Interfaces/MaskingOpInterface.cpp"],
11982    hdrs = ["include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h"],
11983    includes = ["include"],
11984    deps = [
11985        ":IR",
11986        ":MaskingOpInterfaceIncGen",
11987    ],
11988)
11989
11990cc_library(
11991    name = "VectorToLLVM",
11992    srcs = glob([
11993        "lib/Conversion/VectorToLLVM/*.cpp",
11994    ]),
11995    hdrs = glob([
11996        "include/mlir/Conversion/VectorToLLVM/*.h",
11997    ]),
11998    includes = ["include"],
11999    deps = [
12000        ":AMXDialect",
12001        ":AMXTransforms",
12002        ":ArithAttrToLLVMConversion",
12003        ":ArithDialect",
12004        ":ArithUtils",
12005        ":ArmNeonDialect",
12006        ":ArmSVEDialect",
12007        ":ArmSVETransforms",
12008        ":ConversionPassIncGen",
12009        ":FuncDialect",
12010        ":IR",
12011        ":LLVMCommonConversion",
12012        ":LLVMDialect",
12013        ":MaskableOpInterface",
12014        ":MemRefDialect",
12015        ":Pass",
12016        ":TensorDialect",
12017        ":ToLLVMIRTranslation",
12018        ":TransformUtils",
12019        ":VectorDialect",
12020        ":VectorTransforms",
12021        ":X86VectorDialect",
12022        ":X86VectorTransforms",
12023        "//llvm:Support",
12024    ],
12025)
12026
12027cc_library(
12028    name = "VectorToArmSME",
12029    srcs = glob([
12030        "lib/Conversion/VectorToArmSME/*.cpp",
12031    ]),
12032    hdrs = glob([
12033        "include/mlir/Conversion/VectorToArmSME/*.h",
12034    ]),
12035    includes = ["include"],
12036    deps = [
12037        ":ArmSMEDialect",
12038        ":ArmSVEDialect",
12039        ":ConversionPassIncGen",
12040        ":IR",
12041        ":MemRefDialect",
12042        ":Pass",
12043        ":TransformUtils",
12044        "//llvm:Support",
12045    ],
12046)
12047
12048cc_library(
12049    name = "VectorToGPU",
12050    srcs = glob([
12051        "lib/Conversion/VectorToGPU/*.cpp",
12052    ]),
12053    hdrs = glob([
12054        "include/mlir/Conversion/VectorToGPU/*.h",
12055    ]),
12056    includes = ["include"],
12057    deps = [
12058        ":AffineDialect",
12059        ":Analysis",
12060        ":ArithDialect",
12061        ":ConversionPassIncGen",
12062        ":DialectUtils",
12063        ":GPUDialect",
12064        ":IR",
12065        ":MemRefDialect",
12066        ":NVGPUDialect",
12067        ":NVGPUUtils",
12068        ":Pass",
12069        ":SCFDialect",
12070        ":Support",
12071        ":TransformUtils",
12072        ":Transforms",
12073        ":VectorDialect",
12074        ":VectorTransforms",
12075        ":VectorUtils",
12076        "//llvm:Support",
12077    ],
12078)
12079
12080cc_library(
12081    name = "VectorToSCF",
12082    srcs = glob([
12083        "lib/Conversion/VectorToSCF/*.cpp",
12084    ]),
12085    hdrs = glob([
12086        "include/mlir/Conversion/VectorToSCF/*.h",
12087    ]),
12088    includes = ["include"],
12089    deps = [
12090        ":AffineDialect",
12091        ":ArithDialect",
12092        ":ConversionPassIncGen",
12093        ":IR",
12094        ":LLVMDialect",
12095        ":MemRefDialect",
12096        ":Pass",
12097        ":SCFDialect",
12098        ":TensorDialect",
12099        ":TransformUtils",
12100        ":Transforms",
12101        ":VectorDialect",
12102        ":VectorTransforms",
12103        ":VectorUtils",
12104    ],
12105)
12106
12107td_library(
12108    name = "TosaDialectTdFiles",
12109    srcs = glob(["include/mlir/Dialect/Tosa/IR/*.td"]),
12110    deps = [
12111        ":InferTypeOpInterfaceTdFiles",
12112        ":LoopLikeInterfaceTdFiles",
12113        ":OpBaseTdFiles",
12114        ":SideEffectInterfacesTdFiles",
12115        ":VectorInterfacesTdFiles",
12116    ],
12117)
12118
12119gentbl_cc_library(
12120    name = "TosaDialectIncGen",
12121    tbl_outs = [
12122        (
12123            ["-gen-op-decls"],
12124            "include/mlir/Dialect/Tosa/IR/TosaOps.h.inc",
12125        ),
12126        (
12127            ["-gen-op-defs"],
12128            "include/mlir/Dialect/Tosa/IR/TosaOps.cpp.inc",
12129        ),
12130        (
12131            ["-gen-dialect-decls"],
12132            "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.h.inc",
12133        ),
12134        (
12135            ["-gen-dialect-defs"],
12136            "include/mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc",
12137        ),
12138        (
12139            ["-gen-typedef-decls"],
12140            "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.h.inc",
12141        ),
12142        (
12143            ["-gen-typedef-defs"],
12144            "include/mlir/Dialect/Tosa/IR/TosaOpsTypesBase.cpp.inc",
12145        ),
12146        (
12147            ["-gen-attrdef-decls"],
12148            "include/mlir/Dialect/Tosa/IR/TosaAttributes.h.inc",
12149        ),
12150        (
12151            ["-gen-attrdef-defs"],
12152            "include/mlir/Dialect/Tosa/IR/TosaAttributes.cpp.inc",
12153        ),
12154        (
12155            ["-gen-op-doc"],
12156            "g3doc/Dialects/Tosa/TosaOps.md",
12157        ),
12158    ],
12159    tblgen = ":mlir-tblgen",
12160    td_file = "include/mlir/Dialect/Tosa/IR/TosaOps.td",
12161    deps = [":TosaDialectTdFiles"],
12162)
12163
12164gentbl_cc_library(
12165    name = "TosaDialectBytecodeGen",
12166    strip_include_prefix = "include",
12167    tbl_outs = [
12168        (
12169            [
12170                "-gen-bytecode",
12171                "-bytecode-dialect=Tosa",
12172            ],
12173            "include/mlir/Dialect/Tosa/IR/TosaDialectBytecode.cpp.inc",
12174        ),
12175    ],
12176    tblgen = ":mlir-tblgen",
12177    td_file = "include/mlir/Dialect/Tosa/IR/TosaDialectBytecode.td",
12178    deps = [
12179        ":BytecodeTdFiles",
12180    ],
12181)
12182
12183gentbl_cc_library(
12184    name = "TosaInterfacesIncGen",
12185    tbl_outs = [
12186        (
12187            ["-gen-op-interface-decls"],
12188            "include/mlir/Dialect/Tosa/IR/TosaInterfaces.h.inc",
12189        ),
12190        (
12191            ["-gen-op-interface-defs"],
12192            "include/mlir/Dialect/Tosa/IR/TosaInterfaces.cpp.inc",
12193        ),
12194    ],
12195    tblgen = ":mlir-tblgen",
12196    td_file = "include/mlir/Dialect/Tosa/IR/TosaInterfaces.td",
12197    deps = [":TosaDialectTdFiles"],
12198)
12199
12200gentbl_cc_library(
12201    name = "TosaPassIncGen",
12202    tbl_outs = [
12203        (
12204            [
12205                "-gen-pass-decls",
12206                "-name=TosaOpt",
12207            ],
12208            "include/mlir/Dialect/Tosa/Transforms/Passes.h.inc",
12209        ),
12210        (
12211            [
12212                "-gen-enum-decls",
12213                "-name=TosaOpt",
12214            ],
12215            "include/mlir/Dialect/Tosa/Transforms/PassesEnums.h.inc",
12216        ),
12217        (
12218            [
12219                "-gen-enum-defs",
12220                "-name=TosaOpt",
12221            ],
12222            "include/mlir/Dialect/Tosa/Transforms/PassesEnums.cpp.inc",
12223        ),
12224    ],
12225    tblgen = ":mlir-tblgen",
12226    td_file = "include/mlir/Dialect/Tosa/Transforms/Passes.td",
12227    deps = [
12228        ":OpBaseTdFiles",
12229        ":PassBaseTdFiles",
12230    ],
12231)
12232
12233cc_library(
12234    name = "TosaDialect",
12235    srcs = glob([
12236        "lib/Dialect/Tosa/IR/*.cpp",
12237        "lib/Dialect/Tosa/Utils/*.cpp",
12238        "lib/Dialect/Tosa/Transforms/*.cpp",
12239    ]),
12240    hdrs = glob([
12241        "include/mlir/Dialect/Tosa/IR/*.h",
12242        "include/mlir/Dialect/Tosa/Utils/*.h",
12243        "include/mlir/Dialect/Tosa/Transforms/*.h",
12244    ]),
12245    includes = ["include"],
12246    deps = [
12247        ":ArithDialect",
12248        ":BytecodeOpInterface",
12249        ":Dialect",
12250        ":DialectUtils",
12251        ":FuncDialect",
12252        ":IR",
12253        ":InferTypeOpInterface",
12254        ":InliningUtils",
12255        ":LoopLikeInterface",
12256        ":MeshDialect",
12257        ":MeshShardingInterface",
12258        ":Pass",
12259        ":QuantOps",
12260        ":SideEffectInterfaces",
12261        ":Support",
12262        ":TensorDialect",
12263        ":TosaDialectBytecodeGen",
12264        ":TosaDialectIncGen",
12265        ":TosaInterfacesIncGen",
12266        ":TosaPassIncGen",
12267        ":TransformUtils",
12268        ":VectorInterfaces",
12269        "//llvm:Support",
12270    ],
12271)
12272
12273cc_library(
12274    name = "TosaToArith",
12275    srcs = glob([
12276        "lib/Conversion/TosaToArith/*.cpp",
12277    ]),
12278    hdrs = glob([
12279        "include/mlir/Conversion/TosaToArith/*.h",
12280    ]),
12281    includes = [
12282        "include",
12283        "lib/Conversion/TosaToArith",
12284    ],
12285    deps = [
12286        ":ArithDialect",
12287        ":ConversionPassIncGen",
12288        ":IR",
12289        ":Pass",
12290        ":TosaDialect",
12291        ":TransformUtils",
12292    ],
12293)
12294
12295cc_library(
12296    name = "TosaToLinalg",
12297    srcs = glob([
12298        "lib/Conversion/TosaToLinalg/*.cpp",
12299    ]),
12300    hdrs = glob([
12301        "include/mlir/Conversion/TosaToLinalg/*.h",
12302    ]),
12303    includes = [
12304        "include",
12305        "lib/Conversion/TosaToLinalg",
12306    ],
12307    deps = [
12308        ":ArithDialect",
12309        ":ArithUtils",
12310        ":ConversionPassIncGen",
12311        ":DialectUtils",
12312        ":FuncDialect",
12313        ":IR",
12314        ":IndexDialect",
12315        ":InferTypeOpInterface",
12316        ":LinalgDialect",
12317        ":MathDialect",
12318        ":Pass",
12319        ":SCFDialect",
12320        ":TensorDialect",
12321        ":TensorUtils",
12322        ":TosaDialect",
12323        ":TransformUtils",
12324        ":Transforms",
12325        "//llvm:Support",
12326    ],
12327)
12328
12329cc_library(
12330    name = "TosaToMLProgram",
12331    srcs = glob([
12332        "lib/Conversion/TosaToMLProgram/*.cpp",
12333    ]),
12334    hdrs = glob([
12335        "include/mlir/Conversion/TosaToMLProgram/*.h",
12336    ]),
12337    includes = [
12338        "include",
12339        "lib/Conversion/TosaToMLProgram",
12340    ],
12341    deps = [
12342        ":ConversionPassIncGen",
12343        ":IR",
12344        ":MLProgramDialect",
12345        ":Pass",
12346        ":TosaDialect",
12347        ":TransformUtils",
12348    ],
12349)
12350
12351cc_library(
12352    name = "TosaToSCF",
12353    srcs = glob([
12354        "lib/Conversion/TosaToSCF/*.cpp",
12355    ]),
12356    hdrs = glob([
12357        "include/mlir/Conversion/TosaToSCF/*.h",
12358    ]),
12359    includes = [
12360        "include",
12361        "lib/Conversion/TosaToSCF",
12362    ],
12363    deps = [
12364        ":ConversionPassIncGen",
12365        ":FuncDialect",
12366        ":IR",
12367        ":Pass",
12368        ":SCFDialect",
12369        ":TensorDialect",
12370        ":TosaDialect",
12371        ":TransformUtils",
12372    ],
12373)
12374
12375cc_library(
12376    name = "TosaToTensor",
12377    srcs = glob([
12378        "lib/Conversion/TosaToTensor/*.cpp",
12379    ]),
12380    hdrs = glob([
12381        "include/mlir/Conversion/TosaToTensor/*.h",
12382    ]),
12383    includes = [
12384        "include",
12385        "lib/Conversion/TosaToTensor",
12386    ],
12387    deps = [
12388        ":ArithDialect",
12389        ":ArithUtils",
12390        ":ConversionPassIncGen",
12391        ":IR",
12392        ":Pass",
12393        ":TensorDialect",
12394        ":TensorUtils",
12395        ":TosaDialect",
12396        ":TransformUtils",
12397    ],
12398)
12399
12400td_library(
12401    name = "TransformInterfacesTdFiles",
12402    srcs = glob(["include/mlir/Dialect/Transform/Interfaces/*.td"]),
12403    deps = [
12404        ":OpBaseTdFiles",
12405        ":SideEffectInterfacesTdFiles",
12406    ],
12407)
12408
12409td_library(
12410    name = "TransformDialectTdFiles",
12411    srcs = glob(["include/mlir/Dialect/Transform/IR/*.td"]),
12412    deps = [
12413        ":CastInterfacesTdFiles",
12414        ":ControlFlowInterfacesTdFiles",
12415        ":InferTypeOpInterfaceTdFiles",
12416        ":OpBaseTdFiles",
12417        ":SideEffectInterfacesTdFiles",
12418        ":TransformInterfacesTdFiles",
12419    ],
12420)
12421
12422gentbl_cc_library(
12423    name = "TransformDialectEnumsIncGen",
12424    tbl_outs = [
12425        (
12426            [
12427                "-gen-enum-decls",
12428            ],
12429            "include/mlir/Dialect/Transform/IR/TransformDialectEnums.h.inc",
12430        ),
12431        (
12432            [
12433                "-gen-enum-defs",
12434            ],
12435            "include/mlir/Dialect/Transform/IR/TransformDialectEnums.cpp.inc",
12436        ),
12437    ],
12438    tblgen = ":mlir-tblgen",
12439    td_file = "include/mlir/Dialect/Transform/IR/TransformAttrs.td",
12440    deps = [":TransformDialectTdFiles"],
12441)
12442
12443gentbl_cc_library(
12444    name = "TransformDialectMatchInterfacesIncGen",
12445    tbl_outs = [
12446        (
12447            [
12448                "-gen-op-interface-decls",
12449            ],
12450            "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.h.inc",
12451        ),
12452        (
12453            [
12454                "-gen-op-interface-defs",
12455            ],
12456            "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.cpp.inc",
12457        ),
12458    ],
12459    tblgen = ":mlir-tblgen",
12460    td_file = "include/mlir/Dialect/Transform/Interfaces/MatchInterfaces.td",
12461    deps = [
12462        ":TransformDialectInterfacesIncGen",
12463        ":TransformDialectTdFiles",
12464    ],
12465)
12466
12467gentbl_cc_library(
12468    name = "TransformDialectInterfacesIncGen",
12469    tbl_outs = [
12470        (
12471            [
12472                "-gen-op-interface-decls",
12473            ],
12474            "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h.inc",
12475        ),
12476        (
12477            [
12478                "-gen-op-interface-defs",
12479            ],
12480            "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.cpp.inc",
12481        ),
12482        (
12483            [
12484                "-gen-type-interface-decls",
12485            ],
12486            "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.h.inc",
12487        ),
12488        (
12489            [
12490                "-gen-type-interface-defs",
12491            ],
12492            "include/mlir/Dialect/Transform/Interfaces/TransformTypeInterfaces.cpp.inc",
12493        ),
12494    ],
12495    tblgen = ":mlir-tblgen",
12496    td_file = "include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td",
12497    deps = [":TransformDialectTdFiles"],
12498)
12499
12500gentbl_cc_library(
12501    name = "TransformDialectIncGen",
12502    tbl_outs = [
12503        (
12504            [
12505                "-gen-dialect-decls",
12506            ],
12507            "include/mlir/Dialect/Transform/IR/TransformDialect.h.inc",
12508        ),
12509        (
12510            [
12511                "-gen-dialect-defs",
12512            ],
12513            "include/mlir/Dialect/Transform/IR/TransformDialect.cpp.inc",
12514        ),
12515    ],
12516    tblgen = ":mlir-tblgen",
12517    td_file = "include/mlir/Dialect/Transform/IR/TransformDialect.td",
12518    deps = [":TransformDialectTdFiles"],
12519)
12520
12521gentbl_cc_library(
12522    name = "TransformOpsIncGen",
12523    tbl_outs = [
12524        (
12525            ["-gen-op-decls"],
12526            "include/mlir/Dialect/Transform/IR/TransformOps.h.inc",
12527        ),
12528        (
12529            ["-gen-op-defs"],
12530            "include/mlir/Dialect/Transform/IR/TransformOps.cpp.inc",
12531        ),
12532    ],
12533    tblgen = ":mlir-tblgen",
12534    td_file = "include/mlir/Dialect/Transform/IR/TransformOps.td",
12535    deps = [
12536        ":CallInterfacesTdFiles",
12537        ":FunctionInterfacesTdFiles",
12538        ":TransformDialectTdFiles",
12539    ],
12540)
12541
12542gentbl_cc_library(
12543    name = "TransformTypesIncGen",
12544    tbl_outs = [
12545        (
12546            ["-gen-typedef-decls"],
12547            "include/mlir/Dialect/Transform/IR/TransformTypes.h.inc",
12548        ),
12549        (
12550            ["-gen-typedef-defs"],
12551            "include/mlir/Dialect/Transform/IR/TransformTypes.cpp.inc",
12552        ),
12553    ],
12554    tblgen = ":mlir-tblgen",
12555    td_file = "include/mlir/Dialect/Transform/IR/TransformTypes.td",
12556    deps = [":TransformDialectTdFiles"],
12557)
12558
12559cc_library(
12560    name = "TransformDialectInterfaces",
12561    srcs = glob(["lib/Dialect/Transform/Interfaces/*.cpp"]),
12562    hdrs = glob(["include/mlir/Dialect/Transform/Interfaces/*.h"]),
12563    deps = [
12564        ":CastInterfaces",
12565        ":IR",
12566        ":Rewrite",
12567        ":SideEffectInterfaces",
12568        ":Support",
12569        ":TransformDialectInterfacesIncGen",
12570        ":TransformDialectMatchInterfacesIncGen",
12571        ":TransformDialectUtils",
12572        ":TransformUtils",
12573        ":Transforms",
12574        "//llvm:Support",
12575    ],
12576)
12577
12578cc_library(
12579    name = "TransformDialect",
12580    srcs = glob(["lib/Dialect/Transform/IR/*.cpp"]),
12581    hdrs = glob(["include/mlir/Dialect/Transform/IR/*.h"]),
12582    deps = [
12583        ":Analysis",
12584        ":BytecodeOpInterface",
12585        ":CallOpInterfaces",
12586        ":CastInterfaces",
12587        ":ControlFlowInterfaces",
12588        ":ConvertToLLVMInterface",
12589        ":FunctionInterfaces",
12590        ":IR",
12591        ":LLVMCommonConversion",
12592        ":LLVMDialect",
12593        ":LoopLikeInterface",
12594        ":Pass",
12595        ":Rewrite",
12596        ":SideEffectInterfaces",
12597        ":Support",
12598        ":TransformDialectEnumsIncGen",
12599        ":TransformDialectIncGen",
12600        ":TransformDialectInterfaces",
12601        ":TransformDialectUtils",
12602        ":TransformOpsIncGen",
12603        ":TransformTypesIncGen",
12604        ":TransformUtils",
12605        ":Transforms",
12606        "//llvm:Support",
12607    ],
12608)
12609
12610td_library(
12611    name = "TransformPDLExtensionTdFiles",
12612    srcs = glob(["include/mlir/Dialect/Transform/PDLExtension/*.td"]),
12613    deps = [
12614        ":PDLDialectTdFiles",
12615        ":TransformDialectTdFiles",
12616    ],
12617)
12618
12619gentbl_cc_library(
12620    name = "TransformPDLExtensionOpsIncGen",
12621    tbl_outs = [
12622        (
12623            [
12624                "-gen-op-decls",
12625            ],
12626            "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.h.inc",
12627        ),
12628        (
12629            [
12630                "-gen-op-defs",
12631            ],
12632            "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp.inc",
12633        ),
12634    ],
12635    tblgen = ":mlir-tblgen",
12636    td_file = "include/mlir/Dialect/Transform/PDLExtension/PDLExtensionOps.td",
12637    deps = [":TransformPDLExtensionTdFiles"],
12638)
12639
12640cc_library(
12641    name = "TransformPDLExtension",
12642    srcs = glob(["lib/Dialect/Transform/PDLExtension/*.cpp"]),
12643    hdrs = glob(["include/mlir/Dialect/Transform/PDLExtension/*.h"]),
12644    deps = [
12645        ":IR",
12646        ":PDLDialect",
12647        ":PDLInterpDialect",
12648        ":Rewrite",
12649        ":SideEffectInterfaces",
12650        ":Support",
12651        ":TransformDialect",
12652        ":TransformDialectInterfaces",
12653        ":TransformPDLExtensionOpsIncGen",
12654        "//llvm:Support",
12655    ],
12656)
12657
12658gentbl_cc_library(
12659    name = "TransformIRDLExtensionOpsIncGen",
12660    tbl_outs = [
12661        (
12662            [
12663                "-gen-op-decls",
12664            ],
12665            "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.h.inc",
12666        ),
12667        (
12668            [
12669                "-gen-op-defs",
12670            ],
12671            "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.cpp.inc",
12672        ),
12673    ],
12674    tblgen = ":mlir-tblgen",
12675    td_file = "include/mlir/Dialect/Transform/IRDLExtension/IRDLExtensionOps.td",
12676    deps = [":TransformPDLExtensionTdFiles"],
12677)
12678
12679cc_library(
12680    name = "TransformIRDLExtension",
12681    srcs = glob(["lib/Dialect/Transform/IRDLExtension/*.cpp"]),
12682    hdrs = glob(["include/mlir/Dialect/Transform/IRDLExtension/*.h"]),
12683    deps = [
12684        ":IR",
12685        ":IRDLDialect",
12686        ":IRDLInterfacesIncGen",
12687        ":Rewrite",
12688        ":SideEffectInterfaces",
12689        ":Support",
12690        ":TransformDialect",
12691        ":TransformDialectInterfaces",
12692        ":TransformIRDLExtensionOpsIncGen",
12693        "//llvm:Support",
12694    ],
12695)
12696
12697td_library(
12698    name = "TransformDebugExtensionTdFiles",
12699    srcs = glob(["include/mlir/Dialect/Transform/DebugExtension/*.td"]),
12700    deps = [
12701        ":TransformDialectTdFiles",
12702    ],
12703)
12704
12705gentbl_cc_library(
12706    name = "TransformDebugExtensionOpsIncGen",
12707    tbl_outs = [
12708        (
12709            [
12710                "-gen-op-decls",
12711            ],
12712            "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h.inc",
12713        ),
12714        (
12715            [
12716                "-gen-op-defs",
12717            ],
12718            "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp.inc",
12719        ),
12720    ],
12721    tblgen = ":mlir-tblgen",
12722    td_file = "include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td",
12723    deps = [":TransformDebugExtensionTdFiles"],
12724)
12725
12726cc_library(
12727    name = "TransformDebugExtension",
12728    srcs = glob(["lib/Dialect/Transform/DebugExtension/*.cpp"]),
12729    hdrs = glob(["include/mlir/Dialect/Transform/DebugExtension/*.h"]),
12730    deps = [
12731        ":IR",
12732        ":Support",
12733        ":TransformDebugExtensionOpsIncGen",
12734        ":TransformDialect",
12735        ":TransformDialectInterfaces",
12736        "//llvm:Support",
12737    ],
12738)
12739
12740td_library(
12741    name = "TransformLoopExtensionTdFiles",
12742    srcs = glob(["include/mlir/Dialect/Transform/LoopExtension/*.td"]),
12743    deps = [
12744        ":TransformDialectTdFiles",
12745    ],
12746)
12747
12748gentbl_cc_library(
12749    name = "TransformLoopExtensionOpsIncGen",
12750    tbl_outs = [
12751        (
12752            [
12753                "-gen-op-decls",
12754            ],
12755            "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.h.inc",
12756        ),
12757        (
12758            [
12759                "-gen-op-defs",
12760            ],
12761            "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.cpp.inc",
12762        ),
12763    ],
12764    tblgen = ":mlir-tblgen",
12765    td_file = "include/mlir/Dialect/Transform/LoopExtension/LoopExtensionOps.td",
12766    deps = [":TransformLoopExtensionTdFiles"],
12767)
12768
12769cc_library(
12770    name = "TransformLoopExtension",
12771    srcs = glob(["lib/Dialect/Transform/LoopExtension/*.cpp"]),
12772    hdrs = glob(["include/mlir/Dialect/Transform/LoopExtension/*.h"]),
12773    deps = [
12774        ":IR",
12775        ":LoopLikeInterface",
12776        ":Rewrite",
12777        ":SideEffectInterfaces",
12778        ":Support",
12779        ":TransformDialect",
12780        ":TransformDialectInterfaces",
12781        ":TransformLoopExtensionOpsIncGen",
12782        ":TransformUtils",
12783        ":Transforms",
12784        "//llvm:Support",
12785    ],
12786)
12787
12788td_library(
12789    name = "TransformDialectTransformsTdFiles",
12790    srcs = glob(["include/mlir/Dialect/Transform/Transforms/*.td"]),
12791    deps = [
12792        ":PassBaseTdFiles",
12793        ":TransformDialectTdFiles",
12794    ],
12795)
12796
12797gentbl_cc_library(
12798    name = "TransformDialectTransformsIncGen",
12799    tbl_outs = [
12800        (
12801            [
12802                "-gen-pass-decls",
12803                "-name=Transform",
12804            ],
12805            "include/mlir/Dialect/Transform/Transforms/Passes.h.inc",
12806        ),
12807    ],
12808    tblgen = ":mlir-tblgen",
12809    td_file = "include/mlir/Dialect/Transform/Transforms/Passes.td",
12810    deps = [":TransformDialectTransformsTdFiles"],
12811)
12812
12813cc_library(
12814    name = "TransformDialectTransforms",
12815    srcs = glob(["lib/Dialect/Transform/Transforms/*.cpp"]),
12816    hdrs = glob(["include/mlir/Dialect/Transform/Transforms/*.h"]),
12817    deps = [
12818        ":Analysis",
12819        ":FunctionInterfaces",
12820        ":IR",
12821        ":Parser",
12822        ":Pass",
12823        ":SideEffectInterfaces",
12824        ":Support",
12825        ":TransformDialect",
12826        ":TransformDialectInterfaces",
12827        ":TransformDialectTransformsIncGen",
12828        "//llvm:Support",
12829    ],
12830)
12831
12832cc_library(
12833    name = "TransformDialectUtils",
12834    srcs = glob(["lib/Dialect/Transform/Utils/*cpp"]),
12835    hdrs = glob(["include/mlir/Dialect/Transform/Utils/*.h"]),
12836    includes = ["include"],
12837    deps = [
12838        ":IR",
12839        ":Support",
12840        ":ViewLikeInterface",
12841        "//llvm:Support",
12842    ],
12843)
12844
12845td_library(
12846    name = "ComplexOpsTdFiles",
12847    srcs = [
12848        "include/mlir/Dialect/Complex/IR/ComplexBase.td",
12849        "include/mlir/Dialect/Complex/IR/ComplexOps.td",
12850    ],
12851    includes = ["include"],
12852    deps = [
12853        ":ArithOpsInterfacesTdFiles",
12854        ":ArithOpsTdFiles",
12855        ":BuiltinDialectTdFiles",
12856        ":InferTypeOpInterfaceTdFiles",
12857        ":OpBaseTdFiles",
12858        ":SideEffectInterfacesTdFiles",
12859    ],
12860)
12861
12862gentbl_cc_library(
12863    name = "ComplexAttributesIncGen",
12864    tbl_outs = [
12865        (
12866            ["-gen-attrdef-decls"],
12867            "include/mlir/Dialect/Complex/IR/ComplexAttributes.h.inc",
12868        ),
12869        (
12870            ["-gen-attrdef-defs"],
12871            "include/mlir/Dialect/Complex/IR/ComplexAttributes.cpp.inc",
12872        ),
12873    ],
12874    tblgen = ":mlir-tblgen",
12875    td_file = "include/mlir/Dialect/Complex/IR/ComplexAttributes.td",
12876    deps = [":ComplexOpsTdFiles"],
12877)
12878
12879gentbl_cc_library(
12880    name = "ComplexBaseIncGen",
12881    tbl_outs = [
12882        (
12883            [
12884                "-gen-dialect-decls",
12885                "-dialect=complex",
12886            ],
12887            "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.h.inc",
12888        ),
12889        (
12890            [
12891                "-gen-dialect-defs",
12892                "-dialect=complex",
12893            ],
12894            "include/mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc",
12895        ),
12896    ],
12897    tblgen = ":mlir-tblgen",
12898    td_file = "include/mlir/Dialect/Complex/IR/ComplexBase.td",
12899    deps = [":ComplexOpsTdFiles"],
12900)
12901
12902gentbl_cc_library(
12903    name = "ComplexOpsIncGen",
12904    tbl_outs = [
12905        (
12906            ["-gen-op-decls"],
12907            "include/mlir/Dialect/Complex/IR/ComplexOps.h.inc",
12908        ),
12909        (
12910            ["-gen-op-defs"],
12911            "include/mlir/Dialect/Complex/IR/ComplexOps.cpp.inc",
12912        ),
12913    ],
12914    tblgen = ":mlir-tblgen",
12915    td_file = "include/mlir/Dialect/Complex/IR/ComplexOps.td",
12916    deps = [":ComplexOpsTdFiles"],
12917)
12918
12919cc_library(
12920    name = "ComplexDialect",
12921    srcs = glob(
12922        [
12923            "lib/Dialect/Complex/IR/*.cpp",
12924        ],
12925    ),
12926    hdrs = ["include/mlir/Dialect/Complex/IR/Complex.h"],
12927    includes = ["include"],
12928    deps = [
12929        ":ArithDialect",
12930        ":BytecodeOpInterface",
12931        ":ComplexAttributesIncGen",
12932        ":ComplexBaseIncGen",
12933        ":ComplexOpsIncGen",
12934        ":ConvertToLLVMInterface",
12935        ":IR",
12936        ":InferTypeOpInterface",
12937        ":InliningUtils",
12938        ":SideEffectInterfaces",
12939        "//llvm:Support",
12940    ],
12941)
12942
12943cc_library(
12944    name = "ComplexToLLVM",
12945    srcs = glob([
12946        "lib/Conversion/ComplexToLLVM/*.cpp",
12947    ]),
12948    hdrs = glob([
12949        "include/mlir/Conversion/ComplexToLLVM/*.h",
12950    ]),
12951    includes = ["include"],
12952    deps = [
12953        ":ArithAttrToLLVMConversion",
12954        ":ArithDialect",
12955        ":ComplexDialect",
12956        ":ConversionPassIncGen",
12957        ":ConvertToLLVMInterface",
12958        ":LLVMCommonConversion",
12959        ":LLVMDialect",
12960        ":Pass",
12961    ],
12962)
12963
12964cc_library(
12965    name = "ComplexToLibm",
12966    srcs = glob([
12967        "lib/Conversion/ComplexToLibm/*.cpp",
12968    ]),
12969    hdrs = glob([
12970        "include/mlir/Conversion/ComplexToLibm/*.h",
12971    ]),
12972    includes = ["include"],
12973    deps = [
12974        ":ComplexDialect",
12975        ":ConversionPassIncGen",
12976        ":FuncDialect",
12977        ":IR",
12978        ":Pass",
12979        ":TransformUtils",
12980    ],
12981)
12982
12983cc_library(
12984    name = "ComplexToSPIRV",
12985    srcs = glob([
12986        "lib/Conversion/ComplexToSPIRV/*.cpp",
12987    ]),
12988    hdrs = glob([
12989        "include/mlir/Conversion/ComplexToSPIRV/*.h",
12990    ]),
12991    includes = ["include"],
12992    deps = [
12993        ":ComplexDialect",
12994        ":ConversionPassIncGen",
12995        ":Pass",
12996        ":SPIRVConversion",
12997        ":SPIRVDialect",
12998        ":TransformUtils",
12999        "//llvm:Support",
13000    ],
13001)
13002
13003cc_library(
13004    name = "ComplexToStandard",
13005    srcs = glob([
13006        "lib/Conversion/ComplexToStandard/*.cpp",
13007    ]),
13008    hdrs = glob([
13009        "include/mlir/Conversion/ComplexToStandard/*.h",
13010    ]),
13011    includes = ["include"],
13012    deps = [
13013        ":ArithDialect",
13014        ":ComplexDialect",
13015        ":ConversionPassIncGen",
13016        ":IR",
13017        ":MathDialect",
13018        ":Pass",
13019        ":TransformUtils",
13020    ],
13021)
13022
13023exports_files([
13024    "include/mlir/Interfaces/CallInterfaces.h",
13025    "include/mlir/Interfaces/CastInterfaces.h",
13026    "include/mlir/Interfaces/ControlFlowInterfaces.h",
13027    "include/mlir/Transforms/InliningUtils.h",
13028])
13029
13030td_library(
13031    name = "ArithOpsTdFiles",
13032    srcs = [
13033        "include/mlir/Dialect/Arith/IR/ArithBase.td",
13034        "include/mlir/Dialect/Arith/IR/ArithOps.td",
13035    ],
13036    includes = ["include"],
13037    deps = [
13038        ":ArithOpsInterfacesTdFiles",
13039        ":BuiltinDialectTdFiles",
13040        ":CastInterfacesTdFiles",
13041        ":ControlFlowInterfacesTdFiles",
13042        ":InferIntRangeInterfaceTdFiles",
13043        ":InferTypeOpInterfaceTdFiles",
13044        ":OpBaseTdFiles",
13045        ":SideEffectInterfacesTdFiles",
13046        ":VectorInterfacesTdFiles",
13047    ],
13048)
13049
13050td_library(
13051    name = "ArithOpsInterfacesTdFiles",
13052    srcs = [
13053        "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td",
13054    ],
13055    includes = ["include"],
13056    deps = [
13057        ":OpBaseTdFiles",
13058    ],
13059)
13060
13061gentbl_cc_library(
13062    name = "ArithBaseIncGen",
13063    tbl_outs = [
13064        (
13065            [
13066                "-gen-dialect-decls",
13067                "-dialect=arith",
13068            ],
13069            "include/mlir/Dialect/Arith/IR/ArithOpsDialect.h.inc",
13070        ),
13071        (
13072            [
13073                "-gen-dialect-defs",
13074                "-dialect=arith",
13075            ],
13076            "include/mlir/Dialect/Arith/IR/ArithOpsDialect.cpp.inc",
13077        ),
13078        (
13079            ["-gen-enum-decls"],
13080            "include/mlir/Dialect/Arith/IR/ArithOpsEnums.h.inc",
13081        ),
13082        (
13083            ["-gen-enum-defs"],
13084            "include/mlir/Dialect/Arith/IR/ArithOpsEnums.cpp.inc",
13085        ),
13086    ],
13087    tblgen = ":mlir-tblgen",
13088    td_file = "include/mlir/Dialect/Arith/IR/ArithBase.td",
13089    deps = [":ArithOpsTdFiles"],
13090)
13091
13092gentbl_cc_library(
13093    name = "ArithOpsIncGen",
13094    tbl_outs = [
13095        (
13096            ["-gen-op-decls"],
13097            "include/mlir/Dialect/Arith/IR/ArithOps.h.inc",
13098        ),
13099        (
13100            ["-gen-op-defs"],
13101            "include/mlir/Dialect/Arith/IR/ArithOps.cpp.inc",
13102        ),
13103        (
13104            [
13105                "-gen-attrdef-decls",
13106                "-attrdefs-dialect=arith",
13107            ],
13108            "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.h.inc",
13109        ),
13110        (
13111            [
13112                "-gen-attrdef-defs",
13113                "-attrdefs-dialect=arith",
13114            ],
13115            "include/mlir/Dialect/Arith/IR/ArithOpsAttributes.cpp.inc",
13116        ),
13117    ],
13118    tblgen = ":mlir-tblgen",
13119    td_file = "include/mlir/Dialect/Arith/IR/ArithOps.td",
13120    deps = [
13121        ":ArithOpsTdFiles",
13122    ],
13123)
13124
13125gentbl_cc_library(
13126    name = "ArithOpsInterfacesIncGen",
13127    tbl_outs = [
13128        (
13129            ["-gen-op-interface-decls"],
13130            "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.h.inc",
13131        ),
13132        (
13133            ["-gen-op-interface-defs"],
13134            "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.cpp.inc",
13135        ),
13136    ],
13137    tblgen = ":mlir-tblgen",
13138    td_file = "include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td",
13139    deps = [
13140        ":ArithOpsInterfacesTdFiles",
13141    ],
13142)
13143
13144gentbl_cc_library(
13145    name = "ArithCanonicalizationIncGen",
13146    strip_include_prefix = "include/mlir/Dialect/Arith/IR",
13147    tbl_outs = [
13148        (
13149            ["-gen-rewriters"],
13150            "include/mlir/Dialect/Arith/IR/ArithCanonicalization.inc",
13151        ),
13152    ],
13153    tblgen = ":mlir-tblgen",
13154    td_file = "lib/Dialect/Arith/IR/ArithCanonicalization.td",
13155    deps = [
13156        ":ArithOpsTdFiles",
13157        ":CastInterfacesTdFiles",
13158        ":FuncTdFiles",
13159    ],
13160)
13161
13162cc_library(
13163    name = "ArithDialect",
13164    srcs = [
13165        "include/mlir/Interfaces/ValueBoundsOpInterface.h",
13166        "lib/Dialect/Arith/IR/ArithDialect.cpp",
13167        "lib/Dialect/Arith/IR/ArithOps.cpp",
13168        "lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp",
13169    ] + glob([
13170        "include/mlir/Analysis/**/*.h",
13171    ]),
13172    hdrs = [
13173        "include/mlir/Dialect/Arith/IR/Arith.h",
13174    ],
13175    includes = ["include"],
13176    deps = [
13177        ":ArithBaseIncGen",
13178        ":ArithCanonicalizationIncGen",
13179        ":ArithOpsIncGen",
13180        ":ArithOpsInterfacesIncGen",
13181        ":BufferizationInterfaces",
13182        ":BytecodeOpInterface",
13183        ":CallOpInterfaces",
13184        ":CastInterfaces",
13185        ":CommonFolders",
13186        ":ControlFlowInterfaces",
13187        ":ConvertToLLVMInterface",
13188        ":DestinationStyleOpInterface",
13189        ":FunctionInterfaces",
13190        ":IR",
13191        ":InferIntRangeCommon",
13192        ":InferIntRangeInterface",
13193        ":InferTypeOpInterface",
13194        ":InliningUtils",
13195        ":Pass",
13196        ":SideEffectInterfaces",
13197        ":Support",
13198        ":UBDialect",
13199        ":ValueBoundsOpInterfaceIncGen",
13200        ":VectorInterfaces",
13201        "//llvm:Support",
13202    ],
13203)
13204
13205gentbl_cc_library(
13206    name = "ArithPassIncGen",
13207    tbl_outs = [
13208        (
13209            [
13210                "-gen-pass-decls",
13211                "-name=Arith",
13212            ],
13213            "include/mlir/Dialect/Arith/Transforms/Passes.h.inc",
13214        ),
13215    ],
13216    tblgen = ":mlir-tblgen",
13217    td_file = "include/mlir/Dialect/Arith/Transforms/Passes.td",
13218    deps = [":PassBaseTdFiles"],
13219)
13220
13221cc_library(
13222    name = "ArithTransforms",
13223    srcs = glob([
13224        "lib/Dialect/Arith/Transforms/*.cpp",
13225    ]),
13226    hdrs = glob([
13227        "include/mlir/Dialect/Arith/Transforms/*.h",
13228    ]),
13229    includes = ["include"],
13230    deps = [
13231        ":Analysis",
13232        ":ArithDialect",
13233        ":ArithPassIncGen",
13234        ":ArithUtils",
13235        ":BufferizationInterfaces",
13236        ":BufferizationTransforms",
13237        ":DialectUtils",
13238        ":FuncDialect",
13239        ":FuncTransforms",
13240        ":IR",
13241        ":MemRefDialect",
13242        ":Pass",
13243        ":SideEffectInterfaces",
13244        ":Support",
13245        ":TensorDialect",
13246        ":TransformUtils",
13247        ":ValueBoundsOpInterface",
13248        ":VectorDialect",
13249        "//llvm:Support",
13250    ],
13251)
13252
13253cc_library(
13254    name = "ArithUtils",
13255    srcs = glob([
13256        "lib/Dialect/Arith/Utils/*.cpp",
13257    ]),
13258    hdrs = ["include/mlir/Dialect/Arith/Utils/Utils.h"],
13259    includes = ["include"],
13260    deps = [
13261        ":ArithDialect",
13262        ":ComplexDialect",
13263        ":DialectUtils",
13264        ":IR",
13265        "//llvm:Support",
13266    ],
13267)
13268
13269td_library(
13270    name = "MathOpsTdFiles",
13271    srcs = [
13272        "include/mlir/Dialect/Math/IR/MathBase.td",
13273        "include/mlir/Dialect/Math/IR/MathOps.td",
13274    ],
13275    includes = ["include"],
13276    deps = [
13277        ":ArithOpsTdFiles",
13278        ":InferTypeOpInterfaceTdFiles",
13279        ":OpBaseTdFiles",
13280        ":SideEffectInterfacesTdFiles",
13281        ":VectorInterfacesTdFiles",
13282    ],
13283)
13284
13285gentbl_cc_library(
13286    name = "MathBaseIncGen",
13287    tbl_outs = [
13288        (
13289            [
13290                "-gen-dialect-decls",
13291                "-dialect=math",
13292            ],
13293            "include/mlir/Dialect/Math/IR/MathOpsDialect.h.inc",
13294        ),
13295        (
13296            [
13297                "-gen-dialect-defs",
13298                "-dialect=math",
13299            ],
13300            "include/mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc",
13301        ),
13302    ],
13303    tblgen = ":mlir-tblgen",
13304    td_file = "include/mlir/Dialect/Math/IR/MathBase.td",
13305    deps = [":MathOpsTdFiles"],
13306)
13307
13308gentbl_cc_library(
13309    name = "MathOpsIncGen",
13310    tbl_outs = [
13311        (
13312            ["-gen-op-decls"],
13313            "include/mlir/Dialect/Math/IR/MathOps.h.inc",
13314        ),
13315        (
13316            ["-gen-op-defs"],
13317            "include/mlir/Dialect/Math/IR/MathOps.cpp.inc",
13318        ),
13319    ],
13320    tblgen = ":mlir-tblgen",
13321    td_file = "include/mlir/Dialect/Math/IR/MathOps.td",
13322    deps = [":MathOpsTdFiles"],
13323)
13324
13325gentbl_cc_library(
13326    name = "MathPassIncGen",
13327    tbl_outs = [
13328        (
13329            [
13330                "-gen-pass-decls",
13331                "-name=Math",
13332            ],
13333            "include/mlir/Dialect/Math/Transforms/Passes.h.inc",
13334        ),
13335    ],
13336    tblgen = ":mlir-tblgen",
13337    td_file = "include/mlir/Dialect/Math/Transforms/Passes.td",
13338    deps = [":PassBaseTdFiles"],
13339)
13340
13341cc_library(
13342    name = "MathDialect",
13343    srcs = glob(
13344        [
13345            "lib/Dialect/Math/IR/*.cpp",
13346        ],
13347    ),
13348    hdrs = [
13349        "include/mlir/Dialect/Math/IR/Math.h",
13350    ],
13351    includes = ["include"],
13352    deps = [
13353        ":ArithDialect",
13354        ":BytecodeOpInterface",
13355        ":CommonFolders",
13356        ":ConvertToLLVMInterface",
13357        ":IR",
13358        ":InferTypeOpInterface",
13359        ":InliningUtils",
13360        ":MathBaseIncGen",
13361        ":MathOpsIncGen",
13362        ":SideEffectInterfaces",
13363        ":UBDialect",
13364        ":VectorInterfaces",
13365    ],
13366)
13367
13368cc_library(
13369    name = "MathTransforms",
13370    srcs = glob([
13371        "lib/Dialect/Math/Transforms/*.cpp",
13372    ]),
13373    hdrs = glob(["include/mlir/Dialect/Math/Transforms/*.h"]),
13374    includes = ["include"],
13375    deps = [
13376        ":ArithDialect",
13377        ":ArithUtils",
13378        ":DialectUtils",
13379        ":IR",
13380        ":MathDialect",
13381        ":MathPassIncGen",
13382        ":Pass",
13383        ":SCFDialect",
13384        ":TransformUtils",
13385        ":VectorDialect",
13386        ":VectorUtils",
13387        ":X86VectorDialect",
13388        "//llvm:Support",
13389    ],
13390)
13391
13392cc_library(
13393    name = "MathToLibm",
13394    srcs = glob([
13395        "lib/Conversion/MathToLibm/*.cpp",
13396    ]),
13397    hdrs = glob([
13398        "include/mlir/Conversion/MathToLibm/*.h",
13399    ]),
13400    includes = ["include"],
13401    deps = [
13402        ":ArithDialect",
13403        ":ConversionPassIncGen",
13404        ":DialectUtils",
13405        ":FuncDialect",
13406        ":IR",
13407        ":LLVMDialect",
13408        ":MathDialect",
13409        ":Pass",
13410        ":TransformUtils",
13411        ":VectorDialect",
13412    ],
13413)
13414
13415td_library(
13416    name = "MemRefOpsTdFiles",
13417    srcs = [
13418        "include/mlir/Dialect/MemRef/IR/MemRefBase.td",
13419        "include/mlir/Dialect/MemRef/IR/MemRefOps.td",
13420    ],
13421    includes = ["include"],
13422    deps = [
13423        ":ArithOpsTdFiles",
13424        ":CastInterfacesTdFiles",
13425        ":ControlFlowInterfacesTdFiles",
13426        ":CopyOpInterfaceTdFiles",
13427        ":MemorySlotInterfacesTdFiles",
13428        ":OpBaseTdFiles",
13429        ":ShapedOpInterfacesTdFiles",
13430        ":SideEffectInterfacesTdFiles",
13431        ":ViewLikeInterfaceTdFiles",
13432    ],
13433)
13434
13435gentbl_cc_library(
13436    name = "MemRefBaseIncGen",
13437    tbl_outs = [
13438        (
13439            [
13440                "-gen-dialect-decls",
13441                "-dialect=memref",
13442            ],
13443            "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc",
13444        ),
13445        (
13446            [
13447                "-gen-dialect-defs",
13448                "-dialect=memref",
13449            ],
13450            "include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc",
13451        ),
13452    ],
13453    tblgen = ":mlir-tblgen",
13454    td_file = "include/mlir/Dialect/MemRef/IR/MemRefBase.td",
13455    deps = [":MemRefOpsTdFiles"],
13456)
13457
13458gentbl_cc_library(
13459    name = "MemRefOpsIncGen",
13460    tbl_outs = [
13461        (
13462            ["-gen-op-decls"],
13463            "include/mlir/Dialect/MemRef/IR/MemRefOps.h.inc",
13464        ),
13465        (
13466            ["-gen-op-defs"],
13467            "include/mlir/Dialect/MemRef/IR/MemRefOps.cpp.inc",
13468        ),
13469    ],
13470    tblgen = ":mlir-tblgen",
13471    td_file = "include/mlir/Dialect/MemRef/IR/MemRefOps.td",
13472    deps = [
13473        ":MemRefOpsTdFiles",
13474    ],
13475)
13476
13477cc_library(
13478    name = "MemRefDialect",
13479    srcs = glob(
13480        [
13481            "lib/Dialect/MemRef/IR/*.cpp",
13482        ],
13483    ),
13484    hdrs = [
13485        "include/mlir/Dialect/MemRef/IR/MemRef.h",
13486        "include/mlir/Dialect/MemRef/IR/MemRefMemorySlot.h",
13487        "include/mlir/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.h",
13488    ],
13489    includes = ["include"],
13490    deps = [
13491        ":AllocationOpInterface",
13492        ":ArithDialect",
13493        ":ArithUtils",
13494        ":BytecodeOpInterface",
13495        ":CallOpInterfaces",
13496        ":CastInterfaces",
13497        ":ControlFlowInterfaces",
13498        ":ConvertToLLVMInterface",
13499        ":CopyOpInterface",
13500        ":DialectUtils",
13501        ":IR",
13502        ":InferTypeOpInterface",
13503        ":InliningUtils",
13504        ":MemRefBaseIncGen",
13505        ":MemRefOpsIncGen",
13506        ":MemorySlotInterfaces",
13507        ":RuntimeVerifiableOpInterface",
13508        ":ShapedOpInterfaces",
13509        ":SideEffectInterfaces",
13510        ":Support",
13511        ":ValueBoundsOpInterface",
13512        ":ViewLikeInterface",
13513        "//llvm:Support",
13514    ],
13515)
13516
13517cc_library(
13518    name = "MemRefUtils",
13519    srcs = glob(
13520        [
13521            "lib/Dialect/MemRef/Utils/*.cpp",
13522        ],
13523    ),
13524    hdrs = [
13525        "include/mlir/Dialect/MemRef/Utils/MemRefUtils.h",
13526    ],
13527    includes = ["include"],
13528    deps = [
13529        ":AffineDialect",
13530        ":ArithUtils",
13531        ":MemRefDialect",
13532        ":VectorDialect",
13533        ":ViewLikeInterface",
13534        "//llvm:Support",
13535    ],
13536)
13537
13538gentbl_cc_library(
13539    name = "MemRefPassIncGen",
13540    tbl_outs = [
13541        (
13542            [
13543                "-gen-pass-decls",
13544                "-name=MemRef",
13545            ],
13546            "include/mlir/Dialect/MemRef/Transforms/Passes.h.inc",
13547        ),
13548    ],
13549    tblgen = ":mlir-tblgen",
13550    td_file = "include/mlir/Dialect/MemRef/Transforms/Passes.td",
13551    deps = [":PassBaseTdFiles"],
13552)
13553
13554cc_library(
13555    name = "MemRefTransforms",
13556    srcs = glob(
13557        [
13558            "lib/Dialect/MemRef/Transforms/*.cpp",
13559        ],
13560    ),
13561    hdrs = glob(["include/mlir/Dialect/MemRef/Transforms/*.h"]),
13562    includes = ["include"],
13563    deps = [
13564        ":AffineDialect",
13565        ":AffineTransforms",
13566        ":AffineUtils",
13567        ":AllocationOpInterface",
13568        ":ArithDialect",
13569        ":ArithTransforms",
13570        ":ArithUtils",
13571        ":BufferizationDialect",
13572        ":BufferizationInterfaces",
13573        ":ControlFlowDialect",
13574        ":DialectUtils",
13575        ":FuncDialect",
13576        ":GPUDialect",
13577        ":IR",
13578        ":InferTypeOpInterface",
13579        ":LoopLikeInterface",
13580        ":MemRefDialect",
13581        ":MemRefPassIncGen",
13582        ":MemRefUtils",
13583        ":NVGPUDialect",
13584        ":Pass",
13585        ":RuntimeVerifiableOpInterface",
13586        ":SCFDialect",
13587        ":Support",
13588        ":TensorDialect",
13589        ":TransformUtils",
13590        ":ValueBoundsOpInterface",
13591        ":VectorDialect",
13592        "//llvm:Support",
13593    ],
13594)
13595
13596td_library(
13597    name = "MemRefTransformOpsTdFiles",
13598    srcs = [
13599        "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td",
13600    ],
13601    includes = ["include"],
13602    deps = [
13603        ":TransformDialectTdFiles",
13604    ],
13605)
13606
13607gentbl_cc_library(
13608    name = "MemRefTransformOpsIncGen",
13609    tbl_outs = [
13610        (
13611            ["-gen-op-decls"],
13612            "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h.inc",
13613        ),
13614        (
13615            ["-gen-op-defs"],
13616            "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp.inc",
13617        ),
13618    ],
13619    tblgen = ":mlir-tblgen",
13620    td_file = "include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td",
13621    deps = [
13622        ":MemRefTransformOpsTdFiles",
13623    ],
13624)
13625
13626cc_library(
13627    name = "MemRefTransformOps",
13628    srcs = glob(["lib/Dialect/MemRef/TransformOps/*.cpp"]),
13629    hdrs = glob(["include/mlir/Dialect/MemRef/TransformOps/*.h"]),
13630    includes = ["include"],
13631    deps = [
13632        ":AffineDialect",
13633        ":Analysis",
13634        ":ArithDialect",
13635        ":BytecodeOpInterface",
13636        ":IR",
13637        ":LLVMCommonConversion",
13638        ":LoopLikeInterface",
13639        ":MemRefDialect",
13640        ":MemRefTransformOpsIncGen",
13641        ":MemRefTransforms",
13642        ":MemRefUtils",
13643        ":NVGPUDialect",
13644        ":SCFDialect",
13645        ":TransformDialect",
13646        ":TransformDialectInterfaces",
13647        ":TransformUtils",
13648        ":VectorDialect",
13649        ":VectorTransforms",
13650        "//llvm:Support",
13651    ],
13652)
13653
13654##---------------------------------------------------------------------------##
13655# MLProgram dialect
13656##---------------------------------------------------------------------------##
13657
13658td_library(
13659    name = "MLProgramOpsTdFiles",
13660    srcs = [
13661        "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.td",
13662        "include/mlir/Dialect/MLProgram/IR/MLProgramBase.td",
13663        "include/mlir/Dialect/MLProgram/IR/MLProgramOps.td",
13664        "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.td",
13665    ],
13666    includes = ["include"],
13667    deps = [
13668        ":BuiltinDialectTdFiles",
13669        ":CallInterfacesTdFiles",
13670        ":ControlFlowInterfacesTdFiles",
13671        ":FunctionInterfacesTdFiles",
13672        ":OpBaseTdFiles",
13673        ":RegionKindInterfaceIncGen",
13674        ":SideEffectInterfacesTdFiles",
13675    ],
13676)
13677
13678gentbl_cc_library(
13679    name = "MLProgramOpsIncGen",
13680    tbl_outs = [
13681        (
13682            ["-gen-op-decls"],
13683            "include/mlir/Dialect/MLProgram/IR/MLProgramOps.h.inc",
13684        ),
13685        (
13686            ["-gen-op-defs"],
13687            "include/mlir/Dialect/MLProgram/IR/MLProgramOps.cpp.inc",
13688        ),
13689        (
13690            ["-gen-dialect-decls"],
13691            "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.h.inc",
13692        ),
13693        (
13694            ["-gen-dialect-defs"],
13695            "include/mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.cpp.inc",
13696        ),
13697    ],
13698    tblgen = ":mlir-tblgen",
13699    td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramOps.td",
13700    deps = [":MLProgramOpsTdFiles"],
13701)
13702
13703gentbl_cc_library(
13704    name = "MLProgramAttributesIncGen",
13705    tbl_outs = [
13706        (
13707            ["-gen-attrdef-decls"],
13708            "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.h.inc",
13709        ),
13710        (
13711            ["-gen-attrdef-defs"],
13712            "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.cpp.inc",
13713        ),
13714    ],
13715    tblgen = ":mlir-tblgen",
13716    td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramAttributes.td",
13717    deps = [":MLProgramOpsTdFiles"],
13718)
13719
13720gentbl_cc_library(
13721    name = "MLProgramPassIncGen",
13722    tbl_outs = [
13723        (
13724            [
13725                "-gen-pass-decls",
13726                "-name=MLProgram",
13727            ],
13728            "include/mlir/Dialect/MLProgram/Transforms/Passes.h.inc",
13729        ),
13730    ],
13731    tblgen = ":mlir-tblgen",
13732    td_file = "include/mlir/Dialect/MLProgram/Transforms/Passes.td",
13733    deps = [":PassBaseTdFiles"],
13734)
13735
13736gentbl_cc_library(
13737    name = "MLProgramTypesIncGen",
13738    tbl_outs = [
13739        (
13740            ["-gen-typedef-decls"],
13741            "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.h.inc",
13742        ),
13743        (
13744            ["-gen-typedef-defs"],
13745            "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc",
13746        ),
13747    ],
13748    tblgen = ":mlir-tblgen",
13749    td_file = "include/mlir/Dialect/MLProgram/IR/MLProgramTypes.td",
13750    deps = [":MLProgramOpsTdFiles"],
13751)
13752
13753cc_library(
13754    name = "MLProgramDialect",
13755    srcs = glob(["lib/Dialect/MLProgram/IR/*.cpp"]),
13756    hdrs = glob(["include/mlir/Dialect/MLProgram/IR/*.h"]),
13757    includes = ["include"],
13758    deps = [
13759        ":BytecodeOpInterface",
13760        ":CallOpInterfaces",
13761        ":ControlFlowInterfaces",
13762        ":FunctionInterfaces",
13763        ":IR",
13764        ":InliningUtils",
13765        ":MLProgramAttributesIncGen",
13766        ":MLProgramOpsIncGen",
13767        ":MLProgramTypesIncGen",
13768        ":SideEffectInterfaces",
13769        "//llvm:Support",
13770    ],
13771)
13772
13773cc_library(
13774    name = "MLProgramTransforms",
13775    srcs = glob([
13776        "lib/Dialect/MLProgram/Transforms/*.cpp",
13777    ]),
13778    hdrs = glob([
13779        "include/mlir/Dialect/MLProgram/Transforms/*.h",
13780    ]),
13781    includes = ["include"],
13782    deps = [
13783        ":BufferizationInterfaces",
13784        ":FuncDialect",
13785        ":IR",
13786        ":MLProgramDialect",
13787        ":MLProgramPassIncGen",
13788        ":MemRefDialect",
13789        ":Pass",
13790        ":TransformUtils",
13791    ],
13792)
13793
13794##---------------------------------------------------------------------------##
13795# MPI dialect
13796##---------------------------------------------------------------------------##
13797
13798td_library(
13799    name = "MPITdFiles",
13800    srcs = [
13801        "include/mlir/Dialect/MPI/IR/MPI.td",
13802        "include/mlir/Dialect/MPI/IR/MPIOps.td",
13803        "include/mlir/Dialect/MPI/IR/MPITypes.td",
13804    ],
13805    includes = ["include"],
13806    deps = [
13807        ":AttrTdFiles",
13808        ":OpBaseTdFiles",
13809    ],
13810)
13811
13812gentbl_cc_library(
13813    name = "MPIIncGen",
13814    tbl_outs = [
13815        (
13816            ["-gen-op-decls"],
13817            "include/mlir/Dialect/MPI/IR/MPI.h.inc",
13818        ),
13819        (
13820            ["-gen-op-defs"],
13821            "include/mlir/Dialect/MPI/IR/MPI.cpp.inc",
13822        ),
13823        (
13824            ["-gen-dialect-decls"],
13825            "include/mlir/Dialect/MPI/IR/MPIDialect.h.inc",
13826        ),
13827        (
13828            ["-gen-dialect-defs"],
13829            "include/mlir/Dialect/MPI/IR/MPIDialect.cpp.inc",
13830        ),
13831    ],
13832    tblgen = ":mlir-tblgen",
13833    td_file = "include/mlir/Dialect/MPI/IR/MPI.td",
13834    deps = [":MPITdFiles"],
13835)
13836
13837gentbl_cc_library(
13838    name = "MPIOpsIncGen",
13839    tbl_outs = [
13840        (
13841            ["-gen-op-decls"],
13842            "include/mlir/Dialect/MPI/IR/MPIOps.h.inc",
13843        ),
13844        (
13845            ["-gen-op-defs"],
13846            "include/mlir/Dialect/MPI/IR/MPIOps.cpp.inc",
13847        ),
13848    ],
13849    tblgen = ":mlir-tblgen",
13850    td_file = "include/mlir/Dialect/MPI/IR/MPIOps.td",
13851    deps = [":MPITdFiles"],
13852)
13853
13854gentbl_cc_library(
13855    name = "MPITypesIncGen",
13856    tbl_outs = [
13857        (
13858            ["-gen-typedef-decls"],
13859            "include/mlir/Dialect/MPI/IR/MPITypesGen.h.inc",
13860        ),
13861        (
13862            ["-gen-typedef-defs"],
13863            "include/mlir/Dialect/MPI/IR/MPITypesGen.cpp.inc",
13864        ),
13865    ],
13866    tblgen = ":mlir-tblgen",
13867    td_file = "include/mlir/Dialect/MPI/IR/MPITypes.td",
13868    deps = [":MPITdFiles"],
13869)
13870
13871gentbl_cc_library(
13872    name = "MPIAttrsIncGen",
13873    tbl_outs = [
13874        (
13875            ["-gen-enum-decls"],
13876            "include/mlir/Dialect/MPI/IR/MPIEnums.h.inc",
13877        ),
13878        (
13879            ["-gen-enum-defs"],
13880            "include/mlir/Dialect/MPI/IR/MPIEnums.cpp.inc",
13881        ),
13882        (
13883            ["-gen-attrdef-decls"],
13884            "include/mlir/Dialect/MPI/IR/MPIAttrDefs.h.inc",
13885        ),
13886        (
13887            ["-gen-attrdef-defs"],
13888            "include/mlir/Dialect/MPI/IR/MPIAttrDefs.cpp.inc",
13889        ),
13890    ],
13891    tblgen = ":mlir-tblgen",
13892    td_file = "include/mlir/Dialect/MPI/IR/MPI.td",
13893    deps = [":MPITdFiles"],
13894)
13895
13896cc_library(
13897    name = "MPIDialect",
13898    srcs = glob(["lib/Dialect/MPI/IR/*.cpp"]),
13899    hdrs = glob(["include/mlir/Dialect/MPI/IR/*.h"]),
13900    includes = ["include"],
13901    deps = [
13902        ":BytecodeOpInterface",
13903        ":IR",
13904        ":MPIAttrsIncGen",
13905        ":MPIIncGen",
13906        ":MPIOpsIncGen",
13907        ":MPITypesIncGen",
13908        ":MemRefDialect",
13909        "//llvm:Support",
13910    ],
13911)
13912
13913##---------------------------------------------------------------------------##
13914# Allocation interfaces
13915##---------------------------------------------------------------------------##
13916
13917td_library(
13918    name = "AllocationOpInterfaceTdFiles",
13919    srcs = ["include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td"],
13920    includes = ["include"],
13921    deps = [":OpBaseTdFiles"],
13922)
13923
13924gentbl_cc_library(
13925    name = "AllocationOpInterfaceIncGen",
13926    tbl_outs = [
13927        (
13928            ["-gen-op-interface-decls"],
13929            "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h.inc",
13930        ),
13931        (
13932            ["-gen-op-interface-defs"],
13933            "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.cpp.inc",
13934        ),
13935    ],
13936    tblgen = ":mlir-tblgen",
13937    td_file = "include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td",
13938    deps = [":AllocationOpInterfaceTdFiles"],
13939)
13940
13941cc_library(
13942    name = "AllocationOpInterface",
13943    srcs = ["lib/Dialect/Bufferization/IR/AllocationOpInterface.cpp"],
13944    hdrs = ["include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h"],
13945    includes = ["include"],
13946    deps = [
13947        ":AllocationOpInterfaceIncGen",
13948        ":IR",
13949    ],
13950)
13951
13952td_library(
13953    name = "BufferizationOpsTdFiles",
13954    srcs = [
13955        "include/mlir/Dialect/Bufferization/IR/BufferizationBase.td",
13956        "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.td",
13957        "include/mlir/Dialect/Bufferization/IR/BufferizationOps.td",
13958    ],
13959    includes = ["include"],
13960    deps = [
13961        ":AllocationOpInterfaceTdFiles",
13962        ":BufferViewFlowOpInterfaceTdFiles",
13963        ":BufferizableOpInterfaceTdFiles",
13964        ":CopyOpInterfaceTdFiles",
13965        ":DestinationStyleOpInterfaceTdFiles",
13966        ":InferTypeOpInterfaceTdFiles",
13967        ":OpBaseTdFiles",
13968        ":SideEffectInterfacesTdFiles",
13969        ":SubsetOpInterfaceTdFiles",
13970    ],
13971)
13972
13973gentbl_cc_library(
13974    name = "BufferizationBaseIncGen",
13975    tbl_outs = [
13976        (
13977            [
13978                "-gen-dialect-decls",
13979                "-dialect=bufferization",
13980            ],
13981            "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.h.inc",
13982        ),
13983        (
13984            [
13985                "-gen-dialect-defs",
13986                "-dialect=bufferization",
13987            ],
13988            "include/mlir/Dialect/Bufferization/IR/BufferizationOpsDialect.cpp.inc",
13989        ),
13990    ],
13991    tblgen = ":mlir-tblgen",
13992    td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationBase.td",
13993    deps = [":BufferizationOpsTdFiles"],
13994)
13995
13996td_library(
13997    name = "BufferizationEnumsTdFiles",
13998    srcs = [
13999        "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.td",
14000    ],
14001    includes = ["include"],
14002    deps = [
14003        ":OpBaseTdFiles",
14004    ],
14005)
14006
14007gentbl_cc_library(
14008    name = "BufferizationEnumsIncGen",
14009    tbl_outs = [
14010        (
14011            ["-gen-enum-decls"],
14012            "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.h.inc",
14013        ),
14014        (
14015            ["-gen-enum-defs"],
14016            "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.cpp.inc",
14017        ),
14018    ],
14019    tblgen = ":mlir-tblgen",
14020    td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationEnums.td",
14021    deps = [":BufferizationEnumsTdFiles"],
14022)
14023
14024td_library(
14025    name = "BufferizationTransformOpsTdFiles",
14026    srcs = [
14027        "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td",
14028    ],
14029    includes = ["include"],
14030    deps = [
14031        ":BufferizationOpsTdFiles",
14032        ":TransformDialectTdFiles",
14033    ],
14034)
14035
14036gentbl_cc_library(
14037    name = "BufferizationTransformOpsIncGen",
14038    tbl_outs = [
14039        (
14040            ["-gen-op-decls"],
14041            "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h.inc",
14042        ),
14043        (
14044            ["-gen-op-defs"],
14045            "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp.inc",
14046        ),
14047    ],
14048    tblgen = ":mlir-tblgen",
14049    td_file = "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td",
14050    deps = [
14051        ":BufferizationTransformOpsTdFiles",
14052    ],
14053)
14054
14055cc_library(
14056    name = "BufferizationTransformOps",
14057    srcs = [
14058        "lib/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp",
14059    ],
14060    hdrs = [
14061        "include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h",
14062    ],
14063    includes = ["include"],
14064    deps = [
14065        ":BufferizationDialect",
14066        ":BufferizationEnumsIncGen",
14067        ":BufferizationInterfaces",
14068        ":BufferizationTransformOpsIncGen",
14069        ":BufferizationTransforms",
14070        ":BytecodeOpInterface",
14071        ":FunctionInterfaces",
14072        ":IR",
14073        ":LinalgDialect",
14074        ":MemRefDialect",
14075        ":TensorDialect",
14076        ":TransformDialect",
14077        ":TransformDialectInterfaces",
14078    ],
14079)
14080
14081gentbl_cc_library(
14082    name = "BufferizationOpsIncGen",
14083    tbl_outs = [
14084        (
14085            ["-gen-op-decls"],
14086            "include/mlir/Dialect/Bufferization/IR/BufferizationOps.h.inc",
14087        ),
14088        (
14089            ["-gen-op-defs"],
14090            "include/mlir/Dialect/Bufferization/IR/BufferizationOps.cpp.inc",
14091        ),
14092    ],
14093    tblgen = ":mlir-tblgen",
14094    td_file = "include/mlir/Dialect/Bufferization/IR/BufferizationOps.td",
14095    deps = [
14096        ":BufferizationOpsTdFiles",
14097    ],
14098)
14099
14100cc_library(
14101    name = "BufferizationInterfaces",
14102    srcs = [
14103        "include/mlir/Analysis/Liveness.h",
14104    ],
14105    hdrs = [
14106        "include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h",
14107        "include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h",
14108        "include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h",
14109    ],
14110    includes = ["include"],
14111    deps = [
14112        ":BufferDeallocationOpInterfaceIncGen",
14113        ":BufferViewFlowOpInterfaceIncGen",
14114        ":BufferizableOpInterfaceIncGen",
14115        ":BufferizationEnumsIncGen",
14116        ":FunctionInterfaces",
14117        ":IR",
14118        ":Support",
14119        "//llvm:Support",
14120    ],
14121)
14122
14123cc_library(
14124    name = "BufferizationDialect",
14125    srcs = [
14126        "lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp",
14127        "lib/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp",
14128        "lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp",
14129        "lib/Dialect/Bufferization/IR/BufferizationDialect.cpp",
14130        "lib/Dialect/Bufferization/IR/BufferizationOps.cpp",
14131        "lib/Dialect/Bufferization/IR/UnstructuredControlFlow.cpp",
14132    ],
14133    hdrs = [
14134        "include/mlir/Dialect/Bufferization/IR/Bufferization.h",
14135        "include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h",
14136        "include/mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h",
14137    ],
14138    includes = ["include"],
14139    deps = [
14140        ":AffineDialect",
14141        ":AllocationOpInterface",
14142        ":ArithDialect",
14143        ":BufferDeallocationOpInterfaceIncGen",
14144        ":BufferViewFlowOpInterfaceIncGen",
14145        ":BufferizableOpInterfaceIncGen",
14146        ":BufferizationBaseIncGen",
14147        ":BufferizationInterfaces",
14148        ":BufferizationOpsIncGen",
14149        ":BytecodeOpInterface",
14150        ":ControlFlowInterfaces",
14151        ":CopyOpInterface",
14152        ":DestinationStyleOpInterface",
14153        ":FuncDialect",
14154        ":FunctionInterfaces",
14155        ":IR",
14156        ":InferTypeOpInterface",
14157        ":InliningUtils",
14158        ":MemRefDialect",
14159        ":SparseTensorDialect",
14160        ":SubsetOpInterface",
14161        ":TensorDialect",
14162        "//llvm:Support",
14163    ],
14164)
14165
14166gentbl_cc_library(
14167    name = "BufferizationPassIncGen",
14168    tbl_outs = [
14169        (
14170            [
14171                "-gen-pass-decls",
14172                "-name=Bufferization",
14173            ],
14174            "include/mlir/Dialect/Bufferization/Transforms/Passes.h.inc",
14175        ),
14176    ],
14177    tblgen = ":mlir-tblgen",
14178    td_file = "include/mlir/Dialect/Bufferization/Transforms/Passes.td",
14179    deps = [":PassBaseTdFiles"],
14180)
14181
14182cc_library(
14183    name = "BufferizationTransforms",
14184    srcs = glob(
14185        [
14186            "lib/Dialect/Bufferization/Transforms/*.cpp",
14187        ],
14188    ),
14189    hdrs = glob(["include/mlir/Dialect/Bufferization/Transforms/*.h"]),
14190    includes = ["include"],
14191    deps = [
14192        ":AllocationOpInterface",
14193        ":Analysis",
14194        ":ArithDialect",
14195        ":BufferizationDialect",
14196        ":BufferizationInterfaces",
14197        ":BufferizationPassIncGen",
14198        ":CallOpInterfaces",
14199        ":ControlFlowDialect",
14200        ":ControlFlowInterfaces",
14201        ":FuncDialect",
14202        ":FunctionInterfaces",
14203        ":IR",
14204        ":LoopLikeInterface",
14205        ":MemRefDialect",
14206        ":MemRefUtils",
14207        ":Pass",
14208        ":SCFDialect",
14209        ":SideEffectInterfaces",
14210        ":SubsetOpInterface",
14211        ":Support",
14212        ":TensorDialect",
14213        ":TransformUtils",
14214        ":Transforms",
14215        ":ViewLikeInterface",
14216        "//llvm:Support",
14217    ],
14218)
14219
14220cc_library(
14221    name = "BufferizationToMemRef",
14222    srcs = [
14223        "lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp",
14224    ],
14225    hdrs = [
14226        "include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h",
14227    ],
14228    includes = ["include"],
14229    deps = [
14230        ":ArithDialect",
14231        ":BufferizationDialect",
14232        ":BufferizationTransforms",
14233        ":ConversionPassIncGen",
14234        ":FuncDialect",
14235        ":IR",
14236        ":MemRefDialect",
14237        ":Pass",
14238        ":SCFDialect",
14239        ":Support",
14240        ":TransformUtils",
14241    ],
14242)
14243
14244cc_library(
14245    name = "BufferizationPipelines",
14246    srcs = glob(["lib/Dialect/Bufferization/Pipelines/*.cpp"]),
14247    hdrs = ["include/mlir/Dialect/Bufferization/Pipelines/Passes.h"],
14248    includes = ["include"],
14249    deps = [
14250        ":BufferizationInterfaces",
14251        ":BufferizationTransforms",
14252        ":FuncDialect",
14253        ":MemRefTransforms",
14254        ":Pass",
14255        ":Transforms",
14256    ],
14257)
14258
14259td_library(
14260    name = "DLTIDialectTdFiles",
14261    srcs = [
14262        "include/mlir/Dialect/DLTI/DLTI.td",
14263        "include/mlir/Dialect/DLTI/DLTIBase.td",
14264    ],
14265    includes = ["include"],
14266    deps = [
14267        ":DataLayoutInterfacesTdFiles",
14268        ":OpBaseTdFiles",
14269    ],
14270)
14271
14272gentbl_cc_library(
14273    name = "DLTIBaseIncGen",
14274    tbl_outs = [
14275        (
14276            [
14277                "-gen-dialect-decls",
14278                "-dialect=dlti",
14279            ],
14280            "include/mlir/Dialect/DLTI/DLTIDialect.h.inc",
14281        ),
14282        (
14283            [
14284                "-gen-dialect-defs",
14285                "-dialect=dlti",
14286            ],
14287            "include/mlir/Dialect/DLTI/DLTIDialect.cpp.inc",
14288        ),
14289    ],
14290    tblgen = ":mlir-tblgen",
14291    td_file = "include/mlir/Dialect/DLTI/DLTIBase.td",
14292    deps = [":OpBaseTdFiles"],
14293)
14294
14295gentbl_cc_library(
14296    name = "DLTIAttrsIncGen",
14297    tbl_outs = [
14298        (
14299            [
14300                "-gen-attrdef-decls",
14301                "-dialect=dlti",
14302            ],
14303            "include/mlir/Dialect/DLTI/DLTIAttrs.h.inc",
14304        ),
14305        (
14306            [
14307                "-gen-attrdef-defs",
14308                "-dialect=dlti",
14309            ],
14310            "include/mlir/Dialect/DLTI/DLTIAttrs.cpp.inc",
14311        ),
14312    ],
14313    tblgen = ":mlir-tblgen",
14314    td_file = "include/mlir/Dialect/DLTI/DLTIAttrs.td",
14315    deps = [
14316        ":AttrTdFiles",
14317        ":DLTIDialectTdFiles",
14318    ],
14319)
14320
14321cc_library(
14322    name = "DLTIDialect",
14323    srcs = glob(["lib/Dialect/DLTI/*.cpp"]),
14324    hdrs = glob(["include/mlir/Dialect/DLTI/*.h"]),
14325    includes = ["include"],
14326    deps = [
14327        ":DLTIAttrsIncGen",
14328        ":DLTIBaseIncGen",
14329        ":DataLayoutInterfaces",
14330        ":IR",
14331        "//llvm:Support",
14332    ],
14333)
14334
14335td_library(
14336    name = "DLTITransformTdFiles",
14337    srcs = [
14338        "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td",
14339    ],
14340    includes = ["include"],
14341    deps = [":TransformDialectTdFiles"],
14342)
14343
14344gentbl_cc_library(
14345    name = "DLTITransformOpsIncGen",
14346    tbl_outs = [
14347        (
14348            [
14349                "-gen-op-decls",
14350                "-dialect=dlti",
14351            ],
14352            "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h.inc",
14353        ),
14354        (
14355            [
14356                "-gen-op-defs",
14357                "-dialect=dlti",
14358            ],
14359            "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.cpp.inc",
14360        ),
14361    ],
14362    tblgen = ":mlir-tblgen",
14363    td_file = "include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td",
14364    deps = [
14365        ":DLTITransformTdFiles",
14366    ],
14367)
14368
14369cc_library(
14370    name = "DLTITransformOps",
14371    srcs = glob(["lib/Dialect/DLTI/TransformOps/*.cpp"]),
14372    hdrs = glob(["include/mlir/Dialect/DLTI/TransformOps/*.h"]),
14373    includes = ["include"],
14374    deps = [
14375        ":DLTIDialect",
14376        ":DLTITransformOpsIncGen",
14377        ":DataLayoutInterfaces",
14378        ":TransformDialect",
14379        ":TransformDialectInterfaces",
14380        ":TransformDialectUtils",
14381    ],
14382)
14383
14384gentbl_cc_library(
14385    name = "ReducerIncGen",
14386    tbl_outs = [
14387        (
14388            [
14389                "-gen-pass-decls",
14390                "-name=Reducer",
14391            ],
14392            "include/mlir/Reducer/Passes.h.inc",
14393        ),
14394    ],
14395    tblgen = ":mlir-tblgen",
14396    td_file = "include/mlir/Reducer/Passes.td",
14397    deps = [
14398        ":PassBaseTdFiles",
14399        ":ReducerTdFiles",
14400    ],
14401)
14402
14403cc_library(
14404    name = "Reducer",
14405    srcs = glob(["lib/Reducer/*.cpp"]),
14406    hdrs = glob(["include/mlir/Reducer/*.h"]),
14407    includes = ["include"],
14408    deps = [
14409        ":IR",
14410        ":Pass",
14411        ":ReducerIncGen",
14412        ":Rewrite",
14413        ":Support",
14414        ":TransformUtils",
14415        "//llvm:Support",
14416    ],
14417)
14418
14419cc_library(
14420    name = "MlirReduceLib",
14421    srcs = ["lib/Tools/mlir-reduce/MlirReduceMain.cpp"],
14422    hdrs = ["include/mlir/Tools/mlir-reduce/MlirReduceMain.h"],
14423    includes = ["include"],
14424    deps = [
14425        ":IR",
14426        ":ParseUtilities",
14427        ":Parser",
14428        ":Pass",
14429        ":Reducer",
14430        ":Rewrite",
14431        ":Support",
14432        "//llvm:Support",
14433    ],
14434)
14435
14436cc_binary(
14437    name = "mlir-reduce",
14438    srcs = ["tools/mlir-reduce/mlir-reduce.cpp"],
14439    includes = ["include"],
14440    local_defines = ["MLIR_INCLUDE_TESTS"],
14441    stamp = 0,
14442    deps = [
14443        ":AllPassesAndDialects",
14444        ":IR",
14445        ":MlirReduceLib",
14446        "//llvm:Support",
14447        "//mlir/test:TestDialect",
14448    ],
14449)
14450
14451cc_library(
14452    name = "MlirQueryUtils",
14453    srcs = glob(
14454        [
14455            "lib/Query/Matcher/*.cpp",
14456            "lib/Query/Matcher/*.h",
14457            "lib/Query/*.cpp",
14458            "lib/Query/*.h",
14459        ],
14460    ),
14461    hdrs = glob(
14462        [
14463            "include/mlir/Query/Matcher/*.h",
14464            "include/mlir/Query/*.h",
14465        ],
14466    ),
14467    includes = ["include"],
14468    deps = [
14469        ":FuncDialect",
14470        ":IR",
14471        ":Reducer",
14472        ":Rewrite",
14473        "//llvm:LineEditor",
14474        "//llvm:Support",
14475    ],
14476)
14477
14478cc_library(
14479    name = "MlirQueryLib",
14480    srcs = ["lib/Tools/mlir-query/MlirQueryMain.cpp"],
14481    hdrs = ["include/mlir/Tools/mlir-query/MlirQueryMain.h"],
14482    includes = ["include"],
14483    deps = [
14484        ":IR",
14485        ":MlirQueryUtils",
14486        ":Parser",
14487        ":Support",
14488        "//llvm:LineEditor",
14489        "//llvm:Support",
14490    ],
14491)
14492
14493cc_binary(
14494    name = "mlir-query",
14495    srcs = ["tools/mlir-query/mlir-query.cpp"],
14496    includes = ["include"],
14497    local_defines = ["MLIR_INCLUDE_TESTS"],
14498    stamp = 0,
14499    deps = [
14500        ":AllPassesAndDialects",
14501        ":IR",
14502        ":MlirQueryLib",
14503        ":MlirQueryUtils",
14504        "//llvm:Support",
14505        "//mlir/test:TestDialect",
14506    ],
14507)
14508
14509cc_library(
14510    name = "PDLLODS",
14511    srcs = glob(
14512        [
14513            "lib/Tools/PDLL/ODS/*.cpp",
14514        ],
14515    ),
14516    hdrs = glob(["include/mlir/Tools/PDLL/ODS/*.h"]),
14517    includes = ["include"],
14518    deps = [
14519        ":Support",
14520        "//llvm:Support",
14521    ],
14522)
14523
14524cc_library(
14525    name = "PDLLAST",
14526    srcs = glob(
14527        [
14528            "lib/Tools/PDLL/AST/*.cpp",
14529            "lib/Tools/PDLL/AST/*.h",
14530        ],
14531    ),
14532    hdrs = glob(["include/mlir/Tools/PDLL/AST/*.h"]),
14533    includes = ["include"],
14534    deps = [
14535        ":Support",
14536        "//llvm:Support",
14537    ],
14538)
14539
14540cc_library(
14541    name = "PDLLCodeGen",
14542    srcs = glob(
14543        [
14544            "lib/Tools/PDLL/CodeGen/*.cpp",
14545        ],
14546    ),
14547    hdrs = glob(["include/mlir/Tools/PDLL/CodeGen/*.h"]),
14548    includes = ["include"],
14549    deps = [
14550        ":AsmParser",
14551        ":IR",
14552        ":PDLDialect",
14553        ":PDLLAST",
14554        ":PDLLODS",
14555        ":Support",
14556        "//llvm:Support",
14557    ],
14558)
14559
14560cc_library(
14561    name = "PDLLParser",
14562    srcs = glob(
14563        [
14564            "lib/Tools/PDLL/Parser/*.cpp",
14565            "lib/Tools/PDLL/Parser/*.h",
14566        ],
14567    ),
14568    hdrs = glob(["include/mlir/Tools/PDLL/Parser/*.h"]),
14569    includes = ["include"],
14570    deps = [
14571        ":PDLLAST",
14572        ":PDLLODS",
14573        ":Support",
14574        ":TableGen",
14575        "//llvm:Support",
14576        "//llvm:TableGen",
14577        "//llvm:TargetParser",
14578    ],
14579)
14580
14581cc_binary(
14582    name = "mlir-pdll",
14583    srcs = [
14584        "tools/mlir-pdll/mlir-pdll.cpp",
14585    ],
14586    deps = [
14587        ":IR",
14588        ":PDLLAST",
14589        ":PDLLCodeGen",
14590        ":PDLLODS",
14591        ":PDLLParser",
14592        ":Support",
14593        "//llvm:Support",
14594        "//llvm:config",
14595    ],
14596)
14597
14598cc_binary(
14599    name = "mlir-pdll-lsp-server",
14600    srcs = ["tools/mlir-pdll-lsp-server/mlir-pdll-lsp-server.cpp"],
14601    includes = ["include"],
14602    deps = [
14603        ":MlirPdllLspServerLib",
14604        ":Support",
14605    ],
14606)
14607
14608td_library(
14609    name = "DialectConversionPdllFiles",
14610    srcs = ["include/mlir/Transforms/DialectConversion.pdll"],
14611    includes = ["include"],
14612)
14613
14614td_library(
14615    name = "UBDialectTdFiles",
14616    srcs = [
14617        "include/mlir/Dialect/UB/IR/UBOps.td",
14618        "include/mlir/Dialect/UB/IR/UBOpsInterfaces.td",
14619    ],
14620    includes = ["include"],
14621    deps = [
14622        ":OpBaseTdFiles",
14623        ":SideEffectInterfacesTdFiles",
14624    ],
14625)
14626
14627gentbl_cc_library(
14628    name = "UBOpsInterfacesIncGen",
14629    tbl_outs = [
14630        (
14631            ["--gen-attr-interface-decls"],
14632            "include/mlir/Dialect/UB/IR/UBOpsInterfaces.h.inc",
14633        ),
14634        (
14635            ["--gen-attr-interface-defs"],
14636            "include/mlir/Dialect/UB/IR/UBOpsInterfaces.cpp.inc",
14637        ),
14638    ],
14639    tblgen = ":mlir-tblgen",
14640    td_file = "include/mlir/Dialect/UB/IR/UBOpsInterfaces.td",
14641    deps = [":UBDialectTdFiles"],
14642)
14643
14644gentbl_cc_library(
14645    name = "UBOpsIncGen",
14646    tbl_outs = [
14647        (
14648            [
14649                "-gen-dialect-decls",
14650                "-dialect=ub",
14651            ],
14652            "include/mlir/Dialect/UB/IR/UBOpsDialect.h.inc",
14653        ),
14654        (
14655            [
14656                "-gen-dialect-defs",
14657                "-dialect=ub",
14658            ],
14659            "include/mlir/Dialect/UB/IR/UBOpsDialect.cpp.inc",
14660        ),
14661        (
14662            ["-gen-op-decls"],
14663            "include/mlir/Dialect/UB/IR/UBOps.h.inc",
14664        ),
14665        (
14666            ["-gen-op-defs"],
14667            "include/mlir/Dialect/UB/IR/UBOps.cpp.inc",
14668        ),
14669        (
14670            ["--gen-attrdef-decls"],
14671            "include/mlir/Dialect/UB/IR/UBOpsAttributes.h.inc",
14672        ),
14673        (
14674            ["--gen-attrdef-defs"],
14675            "include/mlir/Dialect/UB/IR/UBOpsAttributes.cpp.inc",
14676        ),
14677    ],
14678    tblgen = ":mlir-tblgen",
14679    td_file = "include/mlir/Dialect/UB/IR/UBOps.td",
14680    deps = [":UBDialectTdFiles"],
14681)
14682
14683cc_library(
14684    name = "UBDialect",
14685    srcs = [
14686        "lib/Dialect/UB/IR/UBOps.cpp",
14687    ],
14688    hdrs = ["include/mlir/Dialect/UB/IR/UBOps.h"],
14689    includes = ["include"],
14690    deps = [
14691        ":BytecodeOpInterface",
14692        ":ConvertToLLVMInterface",
14693        ":IR",
14694        ":InliningUtils",
14695        ":SideEffectInterfaces",
14696        ":UBOpsIncGen",
14697        ":UBOpsInterfacesIncGen",
14698        "//llvm:Support",
14699    ],
14700)
14701
14702cc_library(
14703    name = "UBToLLVM",
14704    srcs = glob([
14705        "lib/Conversion/UBToLLVM/*.cpp",
14706    ]),
14707    hdrs = glob([
14708        "include/mlir/Conversion/UBToLLVM/*.h",
14709    ]),
14710    includes = ["include"],
14711    deps = [
14712        ":ConversionPassIncGen",
14713        ":ConvertToLLVMInterface",
14714        ":IR",
14715        ":LLVMCommonConversion",
14716        ":LLVMDialect",
14717        ":Pass",
14718        ":UBDialect",
14719    ],
14720)
14721
14722cc_library(
14723    name = "UBToSPIRV",
14724    srcs = glob([
14725        "lib/Conversion/UBToSPIRV/*.cpp",
14726    ]),
14727    hdrs = glob([
14728        "include/mlir/Conversion/UBToSPIRV/*.h",
14729    ]),
14730    includes = ["include"],
14731    deps = [
14732        ":ConversionPassIncGen",
14733        ":Pass",
14734        ":SPIRVConversion",
14735        ":SPIRVDialect",
14736        ":UBDialect",
14737    ],
14738)
14739
14740cc_library(
14741    name = "VCIXDialect",
14742    srcs = ["lib/Dialect/LLVMIR/IR/VCIXDialect.cpp"],
14743    hdrs = ["include/mlir/Dialect/LLVMIR/VCIXDialect.h"],
14744    includes = ["include"],
14745    deps = [
14746        ":BytecodeOpInterface",
14747        ":GPUDialect",
14748        ":IR",
14749        ":LLVMDialect",
14750        ":SideEffectInterfaces",
14751        ":VCIXOpsIncGen",
14752        "//llvm:AsmParser",
14753        "//llvm:Core",
14754        "//llvm:Support",
14755    ],
14756)
14757
14758td_library(
14759    name = "VCIXTdFiles",
14760    srcs = ["include/mlir/Dialect/LLVMIR/VCIXOps.td"],
14761    includes = ["include"],
14762    deps = [
14763        ":LLVMOpsTdFiles",
14764        ":OpBaseTdFiles",
14765    ],
14766)
14767
14768gentbl_cc_library(
14769    name = "VCIXOpsIncGen",
14770    tbl_outs = [
14771        (
14772            ["-gen-op-decls"],
14773            "include/mlir/Dialect/LLVMIR/VCIXOps.h.inc",
14774        ),
14775        (
14776            ["-gen-op-defs"],
14777            "include/mlir/Dialect/LLVMIR/VCIXOps.cpp.inc",
14778        ),
14779        (
14780            [
14781                "-gen-dialect-decls",
14782                "-dialect=vcix",
14783            ],
14784            "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.h.inc",
14785        ),
14786        (
14787            [
14788                "-gen-dialect-defs",
14789                "-dialect=vcix",
14790            ],
14791            "include/mlir/Dialect/LLVMIR/VCIXOpsDialect.cpp.inc",
14792        ),
14793        (
14794            [
14795                "-gen-attrdef-decls",
14796                "-attrdefs-dialect=vcix",
14797            ],
14798            "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.h.inc",
14799        ),
14800        (
14801            [
14802                "-gen-attrdef-defs",
14803                "-attrdefs-dialect=vcix",
14804            ],
14805            "include/mlir/Dialect/LLVMIR/VCIXOpsAttributes.cpp.inc",
14806        ),
14807    ],
14808    tblgen = ":mlir-tblgen",
14809    td_file = "include/mlir/Dialect/LLVMIR/VCIXOps.td",
14810    deps = [":VCIXTdFiles"],
14811)
14812
14813cc_library(
14814    name = "VCIXToLLVMIRTranslation",
14815    srcs = glob(["lib/Target/LLVMIR/Dialect/VCIX/*.cpp"]),
14816    hdrs = glob(["include/mlir/Target/LLVMIR/Dialect/VCIX/*.h"]),
14817    includes = ["include"],
14818    deps = [
14819        ":IR",
14820        ":ToLLVMIRTranslation",
14821        ":VCIXConversionIncGen",
14822        ":VCIXDialect",
14823        "//llvm:Core",
14824        "//llvm:Support",
14825    ],
14826)
14827
14828gentbl_cc_library(
14829    name = "VCIXConversionIncGen",
14830    tbl_outs = [
14831        (
14832            ["-gen-llvmir-conversions"],
14833            "include/mlir/Dialect/LLVMIR/VCIXConversions.inc",
14834        ),
14835    ],
14836    tblgen = ":mlir-tblgen",
14837    td_file = "include/mlir/Dialect/LLVMIR/VCIXOps.td",
14838    deps = [":VCIXTdFiles"],
14839)
14840
14841gentbl_cc_library(
14842    name = "QuantPassIncGen",
14843    tbl_outs = [
14844        (
14845            [
14846                "-gen-pass-decls",
14847                "-name=Quant",
14848            ],
14849            "include/mlir/Dialect/Quant/Transforms/Passes.h.inc",
14850        ),
14851    ],
14852    tblgen = ":mlir-tblgen",
14853    td_file = "include/mlir/Dialect/Quant/Transforms/Passes.td",
14854    deps = [":PassBaseTdFiles"],
14855)
14856
14857cc_library(
14858    name = "QuantTransforms",
14859    srcs = glob([
14860        "lib/Dialect/Quant/Transforms/*.cpp",
14861    ]),
14862    hdrs = glob([
14863        "include/mlir/Dialect/Quant/Transforms/*.h",
14864    ]),
14865    includes = ["include"],
14866    deps = [
14867        ":ArithDialect",
14868        ":FuncDialect",
14869        ":FuncTransforms",
14870        ":IR",
14871        ":LinalgDialect",
14872        ":Pass",
14873        ":QuantOps",
14874        ":QuantPassIncGen",
14875        ":ShapeDialect",
14876        ":TensorDialect",
14877        ":TransformUtils",
14878        "//llvm:Support",
14879    ],
14880)
14881