gn build: Merge r372706
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / SystemZ / BUILD.gn
blob51f65f954c90896ea07739669ad1dc4c6579b275
1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("SystemZGenCallingConv") {
4   visibility = [ ":LLVMSystemZCodeGen" ]
5   args = [ "-gen-callingconv" ]
6   td_file = "SystemZ.td"
9 tablegen("SystemZGenDAGISel") {
10   visibility = [ ":LLVMSystemZCodeGen" ]
11   args = [ "-gen-dag-isel" ]
12   td_file = "SystemZ.td"
15 static_library("LLVMSystemZCodeGen") {
16   deps = [
17     ":SystemZGenCallingConv",
18     ":SystemZGenDAGISel",
19     "MCTargetDesc",
20     "TargetInfo",
21     "//llvm/include/llvm/Config:llvm-config",
22     "//llvm/lib/Analysis",
23     "//llvm/lib/CodeGen",
24     "//llvm/lib/CodeGen/AsmPrinter",
25     "//llvm/lib/CodeGen/SelectionDAG",
26     "//llvm/lib/IR",
27     "//llvm/lib/MC",
28     "//llvm/lib/Support",
29     "//llvm/lib/Target",
30     "//llvm/lib/Transforms/Scalar",
31   ]
32   include_dirs = [ "." ]
33   sources = [
34     "SystemZAsmPrinter.cpp",
35     "SystemZCallingConv.cpp",
36     "SystemZConstantPoolValue.cpp",
37     "SystemZElimCompare.cpp",
38     "SystemZFrameLowering.cpp",
39     "SystemZHazardRecognizer.cpp",
40     "SystemZISelDAGToDAG.cpp",
41     "SystemZISelLowering.cpp",
42     "SystemZInstrInfo.cpp",
43     "SystemZLDCleanup.cpp",
44     "SystemZLongBranch.cpp",
45     "SystemZMCInstLower.cpp",
46     "SystemZMachineFunctionInfo.cpp",
47     "SystemZMachineScheduler.cpp",
48     "SystemZPostRewrite.cpp",
49     "SystemZRegisterInfo.cpp",
50     "SystemZSelectionDAGInfo.cpp",
51     "SystemZShortenInst.cpp",
52     "SystemZSubtarget.cpp",
53     "SystemZTDC.cpp",
54     "SystemZTargetMachine.cpp",
55     "SystemZTargetTransformInfo.cpp",
56   ]
59 # This is a bit different from most build files: Due to this group
60 # having the directory's name, "//llvm/lib/Target/SystemZ" will refer to this
61 # target, which pulls in the code in this directory *and all subdirectories*.
62 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
63 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
64 # different behavior.
65 group("SystemZ") {
66   deps = [
67     ":LLVMSystemZCodeGen",
68     "AsmParser",
69     "Disassembler",
70     "MCTargetDesc",
71     "TargetInfo",
72   ]