[lit] Improve lit.Run class
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / ARM / BUILD.gn
blob7713da709d822d16f05001ddf6b0d230ca9b9272
1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("ARMGenCallingConv") {
4   visibility = [ ":LLVMARMCodeGen" ]
5   args = [ "-gen-callingconv" ]
6   td_file = "ARM.td"
9 tablegen("ARMGenDAGISel") {
10   visibility = [ ":LLVMARMCodeGen" ]
11   args = [ "-gen-dag-isel" ]
12   td_file = "ARM.td"
15 tablegen("ARMGenFastISel") {
16   visibility = [ ":LLVMARMCodeGen" ]
17   args = [ "-gen-fast-isel" ]
18   td_file = "ARM.td"
21 tablegen("ARMGenGlobalISel") {
22   visibility = [ ":LLVMARMCodeGen" ]
23   args = [ "-gen-global-isel" ]
24   td_file = "ARM.td"
27 tablegen("ARMGenMCPseudoLowering") {
28   visibility = [ ":LLVMARMCodeGen" ]
29   args = [ "-gen-pseudo-lowering" ]
30   td_file = "ARM.td"
33 tablegen("ARMGenRegisterBank") {
34   visibility = [ ":LLVMARMCodeGen" ]
35   args = [ "-gen-register-bank" ]
36   td_file = "ARM.td"
39 static_library("LLVMARMCodeGen") {
40   deps = [
41     ":ARMGenCallingConv",
42     ":ARMGenDAGISel",
43     ":ARMGenFastISel",
44     ":ARMGenGlobalISel",
45     ":ARMGenMCPseudoLowering",
46     ":ARMGenRegisterBank",
47     "MCTargetDesc",
48     "TargetInfo",
49     "Utils",
50     "//llvm/include/llvm/Config:llvm-config",
51     "//llvm/lib/Analysis",
52     "//llvm/lib/CodeGen",
53     "//llvm/lib/CodeGen/AsmPrinter",
54     "//llvm/lib/CodeGen/GlobalISel",
55     "//llvm/lib/CodeGen/SelectionDAG",
56     "//llvm/lib/IR",
57     "//llvm/lib/MC",
58     "//llvm/lib/Support",
59     "//llvm/lib/Target",
60   ]
61   include_dirs = [ "." ]
62   sources = [
63     "A15SDOptimizer.cpp",
64     "ARMAsmPrinter.cpp",
65     "ARMBaseInstrInfo.cpp",
66     "ARMBaseRegisterInfo.cpp",
67     "ARMBasicBlockInfo.cpp",
68     "ARMCallLowering.cpp",
69     "ARMCallingConv.cpp",
70     "ARMCodeGenPrepare.cpp",
71     "ARMConstantIslandPass.cpp",
72     "ARMConstantPoolValue.cpp",
73     "ARMExpandPseudoInsts.cpp",
74     "ARMFastISel.cpp",
75     "ARMFrameLowering.cpp",
76     "ARMHazardRecognizer.cpp",
77     "ARMISelDAGToDAG.cpp",
78     "ARMISelLowering.cpp",
79     "ARMInstrInfo.cpp",
80     "ARMInstructionSelector.cpp",
81     "ARMLegalizerInfo.cpp",
82     "ARMLoadStoreOptimizer.cpp",
83     "ARMLowOverheadLoops.cpp",
84     "ARMMCInstLower.cpp",
85     "ARMMachineFunctionInfo.cpp",
86     "ARMMacroFusion.cpp",
87     "ARMOptimizeBarriersPass.cpp",
88     "ARMParallelDSP.cpp",
89     "ARMRegisterBankInfo.cpp",
90     "ARMRegisterInfo.cpp",
91     "ARMSelectionDAGInfo.cpp",
92     "ARMSubtarget.cpp",
93     "ARMTargetMachine.cpp",
94     "ARMTargetObjectFile.cpp",
95     "ARMTargetTransformInfo.cpp",
96     "MLxExpansionPass.cpp",
97     "MVETailPredication.cpp",
98     "MVEVPTBlockPass.cpp",
99     "Thumb1FrameLowering.cpp",
100     "Thumb1InstrInfo.cpp",
101     "Thumb2ITBlockPass.cpp",
102     "Thumb2InstrInfo.cpp",
103     "Thumb2SizeReduction.cpp",
104     "ThumbRegisterInfo.cpp",
105   ]
108 # This is a bit different from most build files: Due to this group
109 # having the directory's name, "//llvm/lib/Target/ARM" will refer to this
110 # target, which pulls in the code in this directory *and all subdirectories*.
111 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
112 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
113 # different behavior.
114 group("ARM") {
115   deps = [
116     ":LLVMARMCodeGen",
117     "AsmParser",
118     "Disassembler",
119     "MCTargetDesc",
120     "TargetInfo",
121     "Utils",
122   ]