[lit] Improve lit.Run class
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / AArch64 / BUILD.gn
blob0c27c11e2e0ba0a089253d671d81edf7ef06e485
1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("AArch64GenAsmMatcher") {
4   visibility = [ ":LLVMAArch64CodeGen" ]
5   args = [ "-gen-asm-matcher" ]
6   td_file = "AArch64.td"
9 tablegen("AArch64GenCallingConv") {
10   visibility = [ ":LLVMAArch64CodeGen" ]
11   args = [ "-gen-callingconv" ]
12   td_file = "AArch64.td"
15 tablegen("AArch64GenDAGISel") {
16   visibility = [ ":LLVMAArch64CodeGen" ]
17   args = [ "-gen-dag-isel" ]
18   td_file = "AArch64.td"
21 tablegen("AArch64GenFastISel") {
22   visibility = [ ":LLVMAArch64CodeGen" ]
23   args = [ "-gen-fast-isel" ]
24   td_file = "AArch64.td"
27 tablegen("AArch64GenGlobalISel") {
28   visibility = [ ":LLVMAArch64CodeGen" ]
29   args = [ "-gen-global-isel" ]
30   td_file = "AArch64.td"
33 tablegen("AArch64GenGICombiner") {
34   visibility = [ ":LLVMAArch64CodeGen" ]
35   args = [
36     "-gen-global-isel-combiner",
37     "-combiners=AArch64PreLegalizerCombinerHelper",
38   ]
39   td_file = "AArch64.td"
42 tablegen("AArch64GenMCPseudoLowering") {
43   visibility = [ ":LLVMAArch64CodeGen" ]
44   args = [ "-gen-pseudo-lowering" ]
45   td_file = "AArch64.td"
48 tablegen("AArch64GenRegisterBank") {
49   visibility = [ ":LLVMAArch64CodeGen" ]
50   args = [ "-gen-register-bank" ]
51   td_file = "AArch64.td"
54 static_library("LLVMAArch64CodeGen") {
55   deps = [
56     ":AArch64GenAsmMatcher",
57     ":AArch64GenCallingConv",
58     ":AArch64GenDAGISel",
59     ":AArch64GenFastISel",
60     ":AArch64GenGICombiner",
61     ":AArch64GenGlobalISel",
62     ":AArch64GenMCPseudoLowering",
63     ":AArch64GenRegisterBank",
64     "MCTargetDesc",
65     "TargetInfo",
66     "Utils",
67     "//llvm/lib/Analysis",
68     "//llvm/lib/CodeGen",
69     "//llvm/lib/CodeGen/AsmPrinter",
70     "//llvm/lib/CodeGen/GlobalISel",
71     "//llvm/lib/CodeGen/SelectionDAG",
72     "//llvm/lib/IR",
73     "//llvm/lib/MC",
74     "//llvm/lib/Support",
75     "//llvm/lib/Target",
76     "//llvm/lib/Transforms/Scalar",
77   ]
78   include_dirs = [ "." ]
79   sources = [
80     "AArch64A53Fix835769.cpp",
81     "AArch64A57FPLoadBalancing.cpp",
82     "AArch64AdvSIMDScalarPass.cpp",
83     "AArch64AsmPrinter.cpp",
84     "AArch64BranchTargets.cpp",
85     "AArch64CallLowering.cpp",
86     "AArch64CallingConvention.cpp",
87     "AArch64CleanupLocalDynamicTLSPass.cpp",
88     "AArch64CollectLOH.cpp",
89     "AArch64CompressJumpTables.cpp",
90     "AArch64CondBrTuning.cpp",
91     "AArch64ConditionOptimizer.cpp",
92     "AArch64ConditionalCompares.cpp",
93     "AArch64DeadRegisterDefinitionsPass.cpp",
94     "AArch64ExpandImm.cpp",
95     "AArch64ExpandPseudoInsts.cpp",
96     "AArch64FalkorHWPFFix.cpp",
97     "AArch64FastISel.cpp",
98     "AArch64FrameLowering.cpp",
99     "AArch64ISelDAGToDAG.cpp",
100     "AArch64ISelLowering.cpp",
101     "AArch64InstrInfo.cpp",
102     "AArch64InstructionSelector.cpp",
103     "AArch64LegalizerInfo.cpp",
104     "AArch64LoadStoreOptimizer.cpp",
105     "AArch64MCInstLower.cpp",
106     "AArch64MacroFusion.cpp",
107     "AArch64PBQPRegAlloc.cpp",
108     "AArch64PreLegalizerCombiner.cpp",
109     "AArch64PromoteConstant.cpp",
110     "AArch64RedundantCopyElimination.cpp",
111     "AArch64RegisterBankInfo.cpp",
112     "AArch64RegisterInfo.cpp",
113     "AArch64SIMDInstrOpt.cpp",
114     "AArch64SelectionDAGInfo.cpp",
115     "AArch64SpeculationHardening.cpp",
116     "AArch64StackTagging.cpp",
117     "AArch64StackTaggingPreRA.cpp",
118     "AArch64StorePairSuppress.cpp",
119     "AArch64Subtarget.cpp",
120     "AArch64TargetMachine.cpp",
121     "AArch64TargetObjectFile.cpp",
122     "AArch64TargetTransformInfo.cpp",
123   ]
126 # This is a bit different from most build files: Due to this group
127 # having the directory's name, "//llvm/lib/Target/AArch64" will refer to this
128 # target, which pulls in the code in this directory *and all subdirectories*.
129 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
130 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
131 # different behavior.
132 group("AArch64") {
133   deps = [
134     ":LLVMAArch64CodeGen",
135     "AsmParser",
136     "Disassembler",
137     "MCTargetDesc",
138     "TargetInfo",
139     "Utils",
140   ]