gn build: Merge r372706
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / WebAssembly / BUILD.gn
blob988e529b18461c12f2083b618d5b6c1ee15025f4
1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("WebAssemblyGenCallingConv") {
4   visibility = [ ":LLVMWebAssemblyCodeGen" ]
5   args = [ "-gen-callingconv" ]
6   td_file = "WebAssembly.td"
9 tablegen("WebAssemblyGenDAGISel") {
10   visibility = [ ":LLVMWebAssemblyCodeGen" ]
11   args = [ "-gen-dag-isel" ]
12   td_file = "WebAssembly.td"
15 tablegen("WebAssemblyGenFastISel") {
16   visibility = [ ":LLVMWebAssemblyCodeGen" ]
17   args = [ "-gen-fast-isel" ]
18   td_file = "WebAssembly.td"
21 tablegen("WebAssemblyGenGlobalISel") {
22   visibility = [ ":LLVMWebAssemblyCodeGen" ]
23   args = [ "-gen-global-isel" ]
24   td_file = "WebAssembly.td"
27 tablegen("WebAssemblyGenMCPseudoLowering") {
28   visibility = [ ":LLVMWebAssemblyCodeGen" ]
29   args = [ "-gen-pseudo-lowering" ]
30   td_file = "WebAssembly.td"
33 tablegen("WebAssemblyGenRegisterBank") {
34   visibility = [ ":LLVMWebAssemblyCodeGen" ]
35   args = [ "-gen-register-bank" ]
36   td_file = "WebAssembly.td"
39 static_library("LLVMWebAssemblyCodeGen") {
40   deps = [
41     ":WebAssemblyGenCallingConv",
42     ":WebAssemblyGenDAGISel",
43     ":WebAssemblyGenFastISel",
44     ":WebAssemblyGenGlobalISel",
45     ":WebAssemblyGenMCPseudoLowering",
46     ":WebAssemblyGenRegisterBank",
47     "MCTargetDesc",
48     "TargetInfo",
49     "//llvm/include/llvm/Config:llvm-config",
50     "//llvm/lib/Analysis",
51     "//llvm/lib/CodeGen",
52     "//llvm/lib/CodeGen/AsmPrinter",
53     "//llvm/lib/CodeGen/GlobalISel",
54     "//llvm/lib/CodeGen/SelectionDAG",
55     "//llvm/lib/IR",
56     "//llvm/lib/MC",
57     "//llvm/lib/Support",
58     "//llvm/lib/Target",
59   ]
60   include_dirs = [ "." ]
61   sources = [
62     "WebAssemblyAddMissingPrototypes.cpp",
63     "WebAssemblyArgumentMove.cpp",
64     "WebAssemblyAsmPrinter.cpp",
65     "WebAssemblyCFGSort.cpp",
66     "WebAssemblyCFGStackify.cpp",
67     "WebAssemblyCallIndirectFixup.cpp",
68     "WebAssemblyDebugValueManager.cpp",
69     "WebAssemblyExceptionInfo.cpp",
70     "WebAssemblyExplicitLocals.cpp",
71     "WebAssemblyFastISel.cpp",
72     "WebAssemblyFixFunctionBitcasts.cpp",
73     "WebAssemblyFixIrreducibleControlFlow.cpp",
74     "WebAssemblyFrameLowering.cpp",
75     "WebAssemblyISelDAGToDAG.cpp",
76     "WebAssemblyISelLowering.cpp",
77     "WebAssemblyInstrInfo.cpp",
78     "WebAssemblyLateEHPrepare.cpp",
79     "WebAssemblyLowerBrUnless.cpp",
80     "WebAssemblyLowerEmscriptenEHSjLj.cpp",
81     "WebAssemblyLowerGlobalDtors.cpp",
82     "WebAssemblyMCInstLower.cpp",
83     "WebAssemblyMachineFunctionInfo.cpp",
84     "WebAssemblyMemIntrinsicResults.cpp",
85     "WebAssemblyOptimizeLiveIntervals.cpp",
86     "WebAssemblyOptimizeReturned.cpp",
87     "WebAssemblyPeephole.cpp",
88     "WebAssemblyPrepareForLiveIntervals.cpp",
89     "WebAssemblyRegColoring.cpp",
90     "WebAssemblyRegNumbering.cpp",
91     "WebAssemblyRegStackify.cpp",
92     "WebAssemblyRegisterInfo.cpp",
93     "WebAssemblyReplacePhysRegs.cpp",
94     "WebAssemblyRuntimeLibcallSignatures.cpp",
95     "WebAssemblySelectionDAGInfo.cpp",
96     "WebAssemblySetP2AlignOperands.cpp",
97     "WebAssemblySubtarget.cpp",
98     "WebAssemblyTargetMachine.cpp",
99     "WebAssemblyTargetObjectFile.cpp",
100     "WebAssemblyTargetTransformInfo.cpp",
101     "WebAssemblyUtilities.cpp",
102   ]
105 # This is a bit different from most build files: Due to this group
106 # having the directory's name, "//llvm/lib/Target/AArch64" will refer to this
107 # target, which pulls in the code in this directory *and all subdirectories*.
108 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
109 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
110 # different behavior.
111 group("WebAssembly") {
112   deps = [
113     ":LLVMWebAssemblyCodeGen",
114     "AsmParser",
115     "Disassembler",
116     "MCTargetDesc",
117     "TargetInfo",
118   ]