xref: /llvm-project/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel (revision b108fbe6ea4247e5a3019a4facf611d5a42d465c)
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
2# See https://llvm.org/LICENSE.txt for license information.
3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5load("//llvm:tblgen.bzl", "gentbl")
6
7package(
8    default_visibility = ["//visibility:public"],
9    features = ["layering_check"],
10)
11
12licenses(["notice"])
13
14cc_test(
15    name = "adt_tests",
16    size = "medium",
17    srcs = glob(
18        [
19            "ADT/*.cpp",
20            "ADT/*.h",
21        ],
22        allow_empty = False,
23    ),
24    shard_count = 20,
25    deps = [
26        "//llvm:Core",
27        "//llvm:Support",
28        "//llvm:TestingSupport",
29        "//llvm:config",
30        "//third-party/unittest:gmock",
31        "//third-party/unittest:gtest",
32        "//third-party/unittest:gtest_main",
33    ],
34)
35
36cc_test(
37    name = "analysis_tests",
38    size = "small",
39    srcs = glob(
40        ["Analysis/*.cpp"],
41        allow_empty = False,
42        exclude = [
43            # TODO: Add this file to the build.
44            "Analysis/ConstraintSystemTest.cpp",
45            "Analysis/TFUtilsTest.cpp",
46            "Analysis/TrainingLoggerTest.cpp",
47            "Analysis/MLModelRunnerTest.cpp",
48        ],
49    ),
50    deps = [
51        "//llvm:Analysis",
52        "//llvm:AsmParser",
53        "//llvm:CodeGen",
54        "//llvm:Core",
55        "//llvm:Instrumentation",
56        "//llvm:Passes",
57        "//llvm:Support",
58        "//llvm:TargetParser",
59        "//llvm:TestingSupport",
60        "//llvm:TransformUtils",
61        "//llvm:attributes_gen",
62        "//llvm:config",
63        "//third-party/unittest:gmock",
64        "//third-party/unittest:gtest",
65        "//third-party/unittest:gtest_main",
66    ],
67)
68
69cc_test(
70    name = "asm_parser_tests",
71    size = "small",
72    srcs = glob(
73        ["AsmParser/*.cpp"],
74        allow_empty = False,
75    ),
76    deps = [
77        "//llvm:AsmParser",
78        "//llvm:Core",
79        "//llvm:Support",
80        "//third-party/unittest:gtest",
81        "//third-party/unittest:gtest_main",
82    ],
83)
84
85cc_test(
86    name = "bitcode_tests",
87    size = "small",
88    srcs = glob(
89        [
90            "Bitcode/*.cpp",
91            "Bitcode/*.h",
92        ],
93        allow_empty = False,
94    ),
95    deps = [
96        "//llvm:AsmParser",
97        "//llvm:BitReader",
98        "//llvm:BitWriter",
99        "//llvm:Core",
100        "//llvm:Support",
101        "//third-party/unittest:gtest",
102        "//third-party/unittest:gtest_main",
103    ],
104)
105
106cc_test(
107    name = "bitstream_tests",
108    size = "small",
109    srcs = glob(
110        ["Bitstream/*.cpp"],
111        allow_empty = False,
112    ),
113    deps = [
114        "//llvm:BitstreamReader",
115        "//llvm:BitstreamWriter",
116        "//llvm:Support",
117        "//llvm:TestingSupport",
118        "//third-party/unittest:gmock",
119        "//third-party/unittest:gtest",
120        "//third-party/unittest:gtest_main",
121    ],
122)
123
124cc_test(
125    name = "cgdata_tests",
126    size = "small",
127    srcs = glob(
128        ["CGData/*.cpp"],
129        allow_empty = False,
130    ),
131    deps = [
132        "//llvm:CGData",
133        "//llvm:CodeGen",
134        "//llvm:Core",
135        "//llvm:Support",
136        "//third-party/unittest:gmock",
137        "//third-party/unittest:gtest",
138        "//third-party/unittest:gtest_main",
139    ],
140)
141
142cc_library(
143    name = "codegen_tests_includes",
144    textual_hdrs = glob(
145        ["CodeGen/*.inc"],
146        allow_empty = False,
147    ),
148)
149
150cc_test(
151    name = "codegen_tests",
152    size = "medium",
153    srcs = glob(
154        [
155            "CodeGen/*.cpp",
156            "CodeGen/*.h",
157        ],
158        allow_empty = False,
159    ),
160    features = ["-layering_check"],  # #include "../lib/CodeGen/AllocationOrder.h"
161    deps = [
162        ":codegen_tests_includes",
163        "//llvm:AllTargetsAsmParsers",
164        "//llvm:AllTargetsCodeGens",
165        "//llvm:Analysis",
166        "//llvm:AsmParser",
167        "//llvm:BinaryFormat",
168        "//llvm:CodeGen",
169        "//llvm:CodeGenTypes",
170        "//llvm:Core",
171        "//llvm:MC",
172        "//llvm:Passes",
173        "//llvm:Support",
174        "//llvm:Target",
175        "//llvm:TestingSupport",
176        "//third-party/unittest:gtest",
177        "//third-party/unittest:gtest_main",
178    ],
179)
180
181cc_test(
182    name = "codegen_globalisel_tests",
183    size = "small",
184    srcs = glob(
185        [
186            "CodeGen/GlobalISel/*.cpp",
187            "CodeGen/GlobalISel/*.h",
188        ],
189        allow_empty = False,
190    ),
191    copts = [
192        "$(STACK_FRAME_UNLIMITED)",
193    ],
194    deps = [
195        "//llvm:AllTargetsAsmParsers",
196        "//llvm:AllTargetsCodeGens",
197        "//llvm:AsmParser",
198        "//llvm:CodeGen",
199        "//llvm:CodeGenTypes",
200        "//llvm:Core",
201        "//llvm:FileCheckLib",
202        "//llvm:MC",
203        "//llvm:Support",
204        "//llvm:Target",
205        "//third-party/unittest:gtest",
206        "//third-party/unittest:gtest_main",
207    ],
208)
209
210cc_test(
211    name = "debuginfo_tests",
212    size = "medium",
213    srcs = glob(
214        [
215            "DebugInfo/DWARF/*.cpp",
216            "DebugInfo/DWARF/*.h",
217            # TODO: Re-enable these when they stop crashing.
218            #"DebugInfo/PDB/*.cpp",
219            #"DebugInfo/PDB/*.h",
220        ],
221        allow_empty = False,
222    ),
223    args = [
224        # Skip a test that relies on reading files in a way that doesn't easily
225        # work with Bazel.
226        "--gtest_filter=-NativeSymbolReuseTest.*",
227    ],
228    features = ["-layering_check"],  # #include "../lib/CodeGen/AsmPrinter/DwarfStringPool.h"
229    deps = [
230        "//llvm:AllTargetsAsmParsers",
231        "//llvm:AllTargetsCodeGens",
232        "//llvm:BinaryFormat",
233        "//llvm:CodeGenTypes",
234        "//llvm:Core",
235        "//llvm:DebugInfo",
236        "//llvm:DebugInfoDWARF",
237        "//llvm:DebugInfoPDB",
238        "//llvm:MC",
239        "//llvm:Object",
240        "//llvm:ObjectYAML",
241        "//llvm:Support",
242        "//llvm:Target",
243        "//llvm:TestingSupport",
244        "//llvm:config",
245        "//third-party/unittest:gtest",
246        "//third-party/unittest:gtest_main",
247    ],
248)
249
250cc_test(
251    name = "debuginfod_tests",
252    srcs = glob(["Debuginfod/*.cpp"]),
253    deps = [
254        "//llvm:Debuginfod",
255        "//llvm:Support",
256        "//llvm:TestingSupport",
257        "//third-party/unittest:gmock",
258        "//third-party/unittest:gtest",
259        "//third-party/unittest:gtest_main",
260    ],
261)
262
263cc_test(
264    name = "execution_engine_tests",
265    size = "small",
266    srcs = glob(
267        ["ExecutionEngine/*.cpp"],
268        allow_empty = False,
269    ),
270    deps = [
271        "//llvm:AllTargetsCodeGens",
272        "//llvm:AsmParser",
273        "//llvm:Core",
274        "//llvm:ExecutionEngine",
275        "//llvm:Interpreter",
276        "//llvm:Support",
277        "//third-party/unittest:gtest",
278        "//third-party/unittest:gtest_main",
279    ],
280)
281
282cc_test(
283    name = "execution_engine_mcjit_tests",
284    size = "medium",
285    srcs = glob(
286        [
287            "ExecutionEngine/MCJIT/*.cpp",
288            "ExecutionEngine/MCJIT/*.h",
289        ],
290        allow_empty = False,
291    ),
292    copts = [
293        "$(STACK_FRAME_UNLIMITED)",
294    ],
295    deps = [
296        "//llvm:AllTargetsCodeGens",
297        "//llvm:Analysis",
298        "//llvm:AsmParser",
299        "//llvm:Core",
300        "//llvm:ExecutionEngine",
301        "//llvm:MC",
302        "//llvm:MCJIT",
303        "//llvm:Passes",
304        "//llvm:Support",
305        "//llvm:Target",
306        "//llvm:TargetParser",
307        "//llvm:config",
308        "//third-party/unittest:gtest",
309        "//third-party/unittest:gtest_main",
310    ],
311)
312
313cc_test(
314    name = "execution_engine_orc_tests",
315    size = "medium",
316    srcs = glob(
317        [
318            "ExecutionEngine/Orc/*.cpp",
319            "ExecutionEngine/Orc/*.h",
320        ],
321        allow_empty = False,
322    ),
323    args = [
324        # keep one-per-line
325        "--gtest_filter=-ObjectLinkingLayerTest.TestSetProcessAllSections",
326    ],
327    linkopts = select({
328        "@platforms//os:macos": [],
329        "@platforms//os:windows": [],
330        "//conditions:default": [
331            "-Wl,--export-dynamic-symbol=llvm_orc_registerJITLoaderGDBWrapper",
332        ],
333    }),
334    deps = [
335        "//llvm:AllTargetsAsmParsers",
336        "//llvm:AllTargetsCodeGens",
337        "//llvm:Analysis",
338        "//llvm:AsmParser",
339        "//llvm:BinaryFormat",
340        "//llvm:Core",
341        "//llvm:ExecutionEngine",
342        "//llvm:IRReader",
343        "//llvm:JITLink",
344        "//llvm:MC",
345        "//llvm:Object",
346        "//llvm:OrcDebugging",
347        "//llvm:OrcJIT",
348        "//llvm:OrcShared",
349        "//llvm:OrcTargetProcess",
350        "//llvm:Support",
351        "//llvm:TargetParser",
352        "//llvm:TestingSupport",
353        "//llvm:config",
354        "//third-party/unittest:gtest",
355        "//third-party/unittest:gtest_main",
356    ],
357)
358
359cc_test(
360    name = "filecheck_tests",
361    size = "small",
362    srcs = glob(
363        ["FileCheck/*.cpp"],
364        allow_empty = False,
365    ),
366    features = ["-layering_check"],  # #include "../lib/FileCheck/FileCheckImpl.h"
367    deps = [
368        "//llvm:FileCheckLib",
369        "//llvm:Support",
370        "//llvm:TestingSupport",
371        "//third-party/unittest:gtest",
372        "//third-party/unittest:gtest_main",
373    ],
374)
375
376cc_test(
377    name = "ir_tests",
378    size = "medium",
379    timeout = "long",  # ConstantRangeTest cases may take several seconds each.
380    srcs = glob(
381        [
382            "IR/*.cpp",
383            "IR/*.h",
384        ],
385        allow_empty = False,
386    ) + [
387        "Support/KnownBitsTest.h",
388    ],
389    features = ["-layering_check"],
390    shard_count = 20,
391    deps = [
392        "//llvm:Analysis",
393        "//llvm:AsmParser",
394        "//llvm:BinaryFormat",
395        "//llvm:CodeGen",
396        "//llvm:Core",
397        "//llvm:Passes",
398        "//llvm:Scalar",
399        "//llvm:Support",
400        "//llvm:TargetParser",
401        "//llvm:TestingSupport",
402        "//llvm:TransformUtils",
403        "//llvm:config",
404        "//third-party/unittest:gmock",
405        "//third-party/unittest:gtest",
406        "//third-party/unittest:gtest_main",
407    ],
408)
409
410cc_test(
411    name = "line_editor_tests",
412    size = "small",
413    srcs = glob(
414        ["LineEditor/*.cpp"],
415        allow_empty = False,
416    ),
417    deps = [
418        "//llvm:LineEditor",
419        "//llvm:Support",
420        "//third-party/unittest:gtest",
421        "//third-party/unittest:gtest_main",
422    ],
423)
424
425cc_test(
426    name = "frontend_tests",
427    size = "small",
428    srcs = glob(
429        ["Frontend/*.cpp"],
430        allow_empty = False,
431    ),
432    deps = [
433        "//llvm:Analysis",
434        "//llvm:Core",
435        "//llvm:FrontendOpenACC",
436        "//llvm:FrontendOpenMP",
437        "//llvm:Passes",
438        "//llvm:Support",
439        "//llvm:TargetParser",
440        "//llvm:TestingSupport",
441        "//llvm:TransformUtils",
442        "//third-party/unittest:gmock",
443        "//third-party/unittest:gtest",
444        "//third-party/unittest:gtest_main",
445    ],
446)
447
448cc_test(
449    name = "linker_tests",
450    size = "small",
451    srcs = glob(
452        ["Linker/*.cpp"],
453        allow_empty = False,
454    ),
455    deps = [
456        "//llvm:AsmParser",
457        "//llvm:Core",
458        "//llvm:Linker",
459        "//llvm:Support",
460        "//third-party/unittest:gtest",
461        "//third-party/unittest:gtest_main",
462    ],
463)
464
465cc_test(
466    name = "mc_tests",
467    size = "small",
468    srcs = glob(
469        ["MC/*.cpp"],
470        allow_empty = False,
471    ),
472    deps = [
473        "//llvm:AllTargetsCodeGens",
474        "//llvm:AllTargetsDisassemblers",
475        "//llvm:BinaryFormat",
476        "//llvm:MC",
477        "//llvm:MCDisassembler",
478        "//llvm:Object",
479        "//llvm:Support",
480        "//llvm:Target",
481        "//third-party/unittest:gtest",
482        "//third-party/unittest:gtest_main",
483    ],
484)
485
486cc_test(
487    name = "mi_tests",
488    size = "medium",
489    srcs = glob(
490        ["MI/*.cpp"],
491        allow_empty = False,
492    ),
493    features = ["-layering_check"],  # #include "../lib/CodeGen/RegisterCoalescer.h"
494    deps = [
495        "//llvm:AllTargetsAsmParsers",
496        "//llvm:AllTargetsCodeGens",
497        "//llvm:CodeGen",
498        "//llvm:CodeGenTypes",
499        "//llvm:Core",
500        "//llvm:MC",
501        "//llvm:Support",
502        "//llvm:Target",
503        "//third-party/unittest:gtest",
504        "//third-party/unittest:gtest_main",
505    ],
506)
507
508cc_test(
509    name = "objcopy_tests",
510    srcs = glob(
511        ["ObjCopy/*.cpp"],
512        allow_empty = False,
513    ),
514    deps = [
515        "//llvm:ObjCopy",
516        "//llvm:Object",
517        "//llvm:ObjectYAML",
518        "//llvm:Support",
519        "//llvm:TestingSupport",
520        "//third-party/unittest:gtest",
521        "//third-party/unittest:gtest_main",
522    ],
523)
524
525cc_test(
526    name = "object_tests",
527    size = "small",
528    srcs = glob(
529        ["Object/*.cpp"],
530        allow_empty = False,
531    ),
532    deps = [
533        "//llvm:BinaryFormat",
534        "//llvm:Object",
535        "//llvm:ObjectYAML",
536        "//llvm:Support",
537        "//llvm:TargetParser",
538        "//llvm:TestingSupport",
539        "//third-party/unittest:gmock",
540        "//third-party/unittest:gtest",
541        "//third-party/unittest:gtest_main",
542    ],
543)
544
545cc_test(
546    name = "object_yaml_tests",
547    size = "small",
548    srcs = glob(
549        ["ObjectYAML/*.cpp"],
550        allow_empty = False,
551    ),
552    deps = [
553        "//llvm:DebugInfoCodeView",
554        "//llvm:Object",
555        "//llvm:ObjectYAML",
556        "//llvm:Support",
557        "//llvm:TestingSupport",
558        "//third-party/unittest:gtest",
559        "//third-party/unittest:gtest_main",
560    ],
561)
562
563gentbl(
564    name = "option_tests_gen",
565    strip_include_prefix = "Option",
566    tbl_outs = [(
567        "-gen-opt-parser-defs",
568        "Option/Opts.inc",
569    )],
570    tblgen = "//llvm:llvm-tblgen",
571    td_file = "Option/Opts.td",
572    td_srcs = [
573        "//llvm:include/llvm/Option/OptParser.td",
574    ],
575)
576
577gentbl(
578    name = "automata_automata_gen",
579    strip_include_prefix = "TableGen",
580    tbl_outs = [(
581        "-gen-automata",
582        "TableGen/AutomataAutomata.inc",
583    )],
584    tblgen = "//llvm:llvm-tblgen",
585    td_file = "TableGen/Automata.td",
586    td_srcs = ["//llvm:common_target_td_sources"] + [
587        "TableGen/Automata.td",
588    ],
589)
590
591gentbl(
592    name = "automata_tables_gen",
593    strip_include_prefix = "TableGen",
594    tbl_outs = [(
595        "-gen-searchable-tables",
596        "TableGen/AutomataTables.inc",
597    )],
598    tblgen = "//llvm:llvm-tblgen",
599    td_file = "TableGen/Automata.td",
600    td_srcs = ["//llvm:common_target_td_sources"] + [
601        "TableGen/Automata.td",
602    ],
603)
604
605cc_test(
606    name = "option_tests",
607    size = "small",
608    srcs = glob(
609        ["Option/*.cpp"],
610        allow_empty = False,
611    ),
612    deps = [
613        ":option_tests_gen",
614        "//llvm:Option",
615        "//llvm:Support",
616        "//third-party/unittest:gtest",
617        "//third-party/unittest:gtest_main",
618    ],
619)
620
621cc_test(
622    name = "remarks_tests",
623    size = "small",
624    srcs = glob(
625        ["Remarks/*.cpp"],
626        allow_empty = False,
627    ),
628    deps = [
629        "//llvm:BitReader",
630        "//llvm:Remarks",
631        "//llvm:Support",
632        "//llvm:remark_linker",
633        "//third-party/unittest:gtest",
634        "//third-party/unittest:gtest_main",
635    ],
636)
637
638cc_test(
639    name = "sandboxir_tests",
640    size = "small",
641    srcs = glob(
642        ["SandboxIR/*.cpp"],
643        allow_empty = False,
644    ),
645    deps = [
646        "//llvm:Analysis",
647        "//llvm:AsmParser",
648        "//llvm:Core",
649        "//llvm:SandboxIR",
650        "//llvm:Support",
651        "//third-party/unittest:gmock",
652        "//third-party/unittest:gtest",
653    ],
654)
655
656cc_test(
657    name = "profile_data_tests",
658    size = "small",
659    srcs = glob(
660        ["ProfileData/*.cpp"],
661        allow_empty = False,
662    ),
663    deps = [
664        "//llvm:BitReader",
665        "//llvm:Core",
666        "//llvm:Coverage",
667        "//llvm:DebugInfo",
668        "//llvm:Object",
669        "//llvm:ProfileData",
670        "//llvm:Support",
671        "//llvm:Symbolize",
672        "//llvm:TestingSupport",
673        "//third-party/unittest:gmock",
674        "//third-party/unittest:gtest",
675        "//third-party/unittest:gtest_main",
676    ],
677)
678
679# Note that the name of this test is important as it is used in the test itself.
680cc_test(
681    name = "SupportTests",
682    size = "medium",
683    srcs = glob(
684        [
685            "Support/*.cpp",
686            "Support/*.h",
687        ],
688        allow_empty = False,
689        exclude = [
690            "Support/ParallelTest.cpp",
691        ],
692    ),
693    args = [
694        # keep one-per-line
695        "--gtest_filter=-ProgramTest.CreateProcessTrailingSlash",
696    ],
697    copts = [
698        "$(STACK_FRAME_UNLIMITED)",
699    ],
700    linkstatic = 1,
701    tags = [
702        "no-sandbox",  # FileSystemTest.permissions not compatible with the sandbox on MacOS
703    ],
704    deps = [
705        "//llvm:AllTargetsCodeGens",
706        "//llvm:BinaryFormat",
707        "//llvm:Core",
708        "//llvm:ProfileData",
709        "//llvm:Support",
710        "//llvm:TargetParser",
711        "//llvm:TestingSupport",
712        "//llvm:config",
713        "//third-party/unittest:gmock",
714        "//third-party/unittest:gtest",
715        "//third-party/unittest:gtest_main",
716    ],
717)
718
719cc_test(
720    name = "support_parallel_tests",
721    size = "small",
722    srcs = ["Support/ParallelTest.cpp"],
723    copts = [
724        "$(STACK_FRAME_UNLIMITED)",
725    ],
726    linkstatic = 1,
727    deps = [
728        "//llvm:AllTargetsCodeGens",
729        "//llvm:Support",
730        "//llvm:config",
731        "//third-party/unittest:gtest",
732        "//third-party/unittest:gtest_main",
733    ],
734)
735
736cc_test(
737    name = "tablegen_tests",
738    size = "small",
739    srcs = glob(
740        [
741            "TableGen/*.cpp",
742        ],
743        allow_empty = False,
744    ),
745    deps = [
746        ":automata_automata_gen",
747        ":automata_tables_gen",
748        "//llvm:Support",
749        "//llvm:TableGen",
750        "//llvm:TableGenGlobalISel",
751        "//third-party/unittest:gmock",
752        "//third-party/unittest:gtest",
753        "//third-party/unittest:gtest_main",
754    ],
755)
756
757cc_test(
758    name = "target_aarch64_tests",
759    size = "small",
760    srcs = glob(
761        ["Target/AArch64/*.cpp"],
762        allow_empty = False,
763    ),
764    copts = [
765        "$(STACK_FRAME_UNLIMITED)",
766    ],
767    features = ["-layering_check"],  # #include "AArch64GenInstrInfo.inc"
768    deps = [
769        "//llvm:AArch64CodeGen",
770        "//llvm:AArch64UtilsAndDesc",
771        "//llvm:AsmParser",
772        "//llvm:CodeGen",
773        "//llvm:CodeGenTypes",
774        "//llvm:Core",
775        "//llvm:MC",
776        "//llvm:Support",
777        "//llvm:Target",
778        "//third-party/unittest:gtest",
779        "//third-party/unittest:gtest_main",
780    ],
781)
782
783cc_test(
784    name = "testing_adt_tests",
785    size = "small",
786    srcs = glob(
787        [
788            "Testing/ADT/*.cpp",
789        ],
790        allow_empty = False,
791    ),
792    deps = [
793        "//llvm:Support",
794        "//llvm:TestingADT",
795        "//third-party/unittest:gtest",
796        "//third-party/unittest:gtest_main",
797    ],
798)
799
800cc_test(
801    name = "transforms_tests",
802    size = "small",
803    srcs = glob(
804        [
805            "Transforms/IPO/*.cpp",
806            "Transforms/IPO/*.h",
807            "Transforms/Utils/*.cpp",
808        ],
809        allow_empty = False,
810    ),
811    deps = [
812        "//llvm:Analysis",
813        "//llvm:AsmParser",
814        "//llvm:Core",
815        "//llvm:IPO",
816        "//llvm:IRReader",
817        "//llvm:Passes",
818        "//llvm:ProfileData",
819        "//llvm:Support",
820        "//llvm:TestingSupport",
821        "//llvm:TransformUtils",
822        "//llvm:Vectorize",
823        "//third-party/unittest:gmock",
824        "//third-party/unittest:gtest",
825        "//third-party/unittest:gtest_main",
826    ],
827)
828
829cc_test(
830    name = "llvm_exegesis_tests",
831    size = "small",
832    srcs = glob(
833        [
834            "tools/llvm-exegesis/*.cpp",
835            "tools/llvm-exegesis/X86/*.cpp",
836            "tools/llvm-exegesis/X86/*.h",
837        ],
838        allow_empty = False,
839    ) + [
840        "tools/llvm-exegesis/Common/AssemblerUtils.h",
841    ],
842    includes = ["tools/llvm-exegesis"],
843    deps = [
844        "//llvm:AllTargetsCodeGens",
845        "//llvm:AllTargetsDisassemblers",
846        "//llvm:CodeGen",
847        "//llvm:CodeGenTypes",
848        "//llvm:Exegesis",
849        "//llvm:MC",
850        "//llvm:MCDisassembler",
851        "//llvm:Support",
852        "//llvm:TargetParser",
853        "//llvm:TestingSupport",
854        "//llvm:X86CodeGen",
855        "//llvm:X86UtilsAndDesc",
856        "//third-party/unittest:gmock",
857        "//third-party/unittest:gtest",
858        "//third-party/unittest:gtest_main",
859    ],
860)
861
862cc_test(
863    name = "llvm_mca_tests",
864    size = "small",
865    srcs = glob(
866        [
867            "tools/llvm-mca/*.cpp",
868            "tools/llvm-mca/*.h",
869            "tools/llvm-mca/X86/*.cpp",
870            "tools/llvm-mca/X86/*.h",
871        ],
872        allow_empty = False,
873    ),
874    includes = ["tools/llvm-mca"],
875    deps = [
876        "//llvm:MC",
877        "//llvm:MCA",
878        "//llvm:MCAApplication",
879        "//llvm:Support",
880        "//llvm:TargetParser",
881        "//llvm:X86CodeGen",
882        "//llvm:X86UtilsAndDesc",
883        "//third-party/unittest:gtest",
884        "//third-party/unittest:gtest_main",
885    ],
886)
887