[lit] Improve lit.Run class
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / X86 / BUILD.gn
blob4306c3631e904c6754efb124d7516e58474b2b80
1 import("//llvm/utils/TableGen/tablegen.gni")
3 declare_args() {
4   # Buggy, only use if you know what you're doing.
5   x86_gen_fold_tables = false
8 tablegen("X86GenCallingConv") {
9   visibility = [ ":LLVMX86CodeGen" ]
10   args = [ "-gen-callingconv" ]
11   td_file = "X86.td"
14 tablegen("X86GenDAGISel") {
15   visibility = [ ":LLVMX86CodeGen" ]
16   args = [ "-gen-dag-isel" ]
17   td_file = "X86.td"
20 tablegen("X86GenEVEX2VEXTables") {
21   visibility = [ ":LLVMX86CodeGen" ]
22   args = [ "-gen-x86-EVEX2VEX-tables" ]
23   td_file = "X86.td"
26 tablegen("X86GenFastISel") {
27   visibility = [ ":LLVMX86CodeGen" ]
28   args = [ "-gen-fast-isel" ]
29   td_file = "X86.td"
32 tablegen("X86GenGlobalISel") {
33   visibility = [ ":LLVMX86CodeGen" ]
34   args = [ "-gen-global-isel" ]
35   td_file = "X86.td"
38 tablegen("X86GenRegisterBank") {
39   visibility = [ ":LLVMX86CodeGen" ]
40   args = [ "-gen-register-bank" ]
41   td_file = "X86.td"
44 if (x86_gen_fold_tables) {
45   tablegen("X86GenFoldTables") {
46     visibility = [ ":LLVMX86CodeGen" ]
47     args = [ "-gen-x86-fold-tables" ]
48     td_file = "X86.td"
49   }
52 static_library("LLVMX86CodeGen") {
53   deps = [
54     ":X86GenCallingConv",
55     ":X86GenDAGISel",
56     ":X86GenEVEX2VEXTables",
57     ":X86GenFastISel",
58     ":X86GenGlobalISel",
59     ":X86GenRegisterBank",
60     "MCTargetDesc",
61     "TargetInfo",
62     "Utils",
63     "//llvm/include/llvm/Config:llvm-config",
64     "//llvm/lib/Analysis",
65     "//llvm/lib/CodeGen",
66     "//llvm/lib/CodeGen/AsmPrinter",
67     "//llvm/lib/CodeGen/GlobalISel",
68     "//llvm/lib/CodeGen/SelectionDAG",
69     "//llvm/lib/IR",
70     "//llvm/lib/MC",
71     "//llvm/lib/Support",
72     "//llvm/lib/Target",
73   ]
74   if (x86_gen_fold_tables) {
75     deps += [ ":X86GenFoldTables" ]
76   }
77   sources = [
78     "X86AsmPrinter.cpp",
79     "X86AvoidStoreForwardingBlocks.cpp",
80     "X86AvoidTrailingCall.cpp",
81     "X86CallFrameOptimization.cpp",
82     "X86CallLowering.cpp",
83     "X86CallingConv.cpp",
84     "X86CmovConversion.cpp",
85     "X86CondBrFolding.cpp",
86     "X86DiscriminateMemOps.cpp",
87     "X86DomainReassignment.cpp",
88     "X86EvexToVex.cpp",
89     "X86ExpandPseudo.cpp",
90     "X86FastISel.cpp",
91     "X86FixupBWInsts.cpp",
92     "X86FixupLEAs.cpp",
93     "X86FixupSetCC.cpp",
94     "X86FlagsCopyLowering.cpp",
95     "X86FloatingPoint.cpp",
96     "X86FrameLowering.cpp",
97     "X86ISelDAGToDAG.cpp",
98     "X86ISelLowering.cpp",
99     "X86IndirectBranchTracking.cpp",
100     "X86InsertPrefetch.cpp",
101     "X86InstrFMA3Info.cpp",
102     "X86InstrFoldTables.cpp",
103     "X86InstrInfo.cpp",
104     "X86InstructionSelector.cpp",
105     "X86InterleavedAccess.cpp",
106     "X86LegalizerInfo.cpp",
107     "X86MCInstLower.cpp",
108     "X86MachineFunctionInfo.cpp",
109     "X86MacroFusion.cpp",
110     "X86OptimizeLEAs.cpp",
111     "X86PadShortFunction.cpp",
112     "X86RegisterBankInfo.cpp",
113     "X86RegisterInfo.cpp",
114     "X86RetpolineThunks.cpp",
115     "X86SelectionDAGInfo.cpp",
116     "X86ShuffleDecodeConstantPool.cpp",
117     "X86SpeculativeLoadHardening.cpp",
118     "X86Subtarget.cpp",
119     "X86TargetMachine.cpp",
120     "X86TargetObjectFile.cpp",
121     "X86TargetTransformInfo.cpp",
122     "X86VZeroUpper.cpp",
123     "X86WinAllocaExpander.cpp",
124     "X86WinEHState.cpp",
125   ]
128 # This is a bit different from most build files: Due to this group
129 # having the directory's name, "//llvm/lib/Target/X86" will refer to this
130 # target, which pulls in the code in this directory *and all subdirectories*.
131 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
132 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
133 # different behavior.
134 group("X86") {
135   deps = [
136     ":LLVMX86CodeGen",
137     "AsmParser",
138     "Disassembler",
139     "MCTargetDesc",
140     "TargetInfo",
141     "Utils",
142   ]