gn build: Merge r372706
[llvm-complete.git] / utils / gn / secondary / llvm / lib / Target / BPF / BUILD.gn
blob31350dcb06bbaaedd638b7842c575db72a339d86
1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("BPFGenCallingConv") {
4   visibility = [ ":LLVMBPFCodeGen" ]
5   args = [ "-gen-callingconv" ]
6   td_file = "BPF.td"
9 tablegen("BPFGenDAGISel") {
10   visibility = [ ":LLVMBPFCodeGen" ]
11   args = [ "-gen-dag-isel" ]
12   td_file = "BPF.td"
15 tablegen("BPFGenFastISel") {
16   visibility = [ ":LLVMBPFCodeGen" ]
17   args = [ "-gen-fast-isel" ]
18   td_file = "BPF.td"
21 tablegen("BPFGenGlobalISel") {
22   visibility = [ ":LLVMBPFCodeGen" ]
23   args = [ "-gen-global-isel" ]
24   td_file = "BPF.td"
27 tablegen("BPFGenMCPseudoLowering") {
28   visibility = [ ":LLVMBPFCodeGen" ]
29   args = [ "-gen-pseudo-lowering" ]
30   td_file = "BPF.td"
33 tablegen("BPFGenRegisterBank") {
34   visibility = [ ":LLVMBPFCodeGen" ]
35   args = [ "-gen-register-bank" ]
36   td_file = "BPF.td"
39 static_library("LLVMBPFCodeGen") {
40   deps = [
41     ":BPFGenCallingConv",
42     ":BPFGenDAGISel",
43     ":BPFGenFastISel",
44     ":BPFGenGlobalISel",
45     ":BPFGenMCPseudoLowering",
46     ":BPFGenRegisterBank",
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     "BPFAbstractMemberAccess.cpp",
63     "BPFAsmPrinter.cpp",
64     "BPFFrameLowering.cpp",
65     "BPFISelDAGToDAG.cpp",
66     "BPFISelLowering.cpp",
67     "BPFInstrInfo.cpp",
68     "BPFMCInstLower.cpp",
69     "BPFMIChecking.cpp",
70     "BPFMIPeephole.cpp",
71     "BPFMISimplifyPatchable.cpp",
72     "BPFRegisterInfo.cpp",
73     "BPFSelectionDAGInfo.cpp",
74     "BPFSubtarget.cpp",
75     "BPFTargetMachine.cpp",
76     "BTFDebug.cpp",
77   ]
80 # This is a bit different from most build files: Due to this group
81 # having the directory's name, "//llvm/lib/Target/BPF" will refer to this
82 # target, which pulls in the code in this directory *and all subdirectories*.
83 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
84 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
85 # different behavior.
86 group("BPF") {
87   deps = [
88     ":LLVMBPFCodeGen",
89     "AsmParser",
90     "Disassembler",
91     "MCTargetDesc",
92     "TargetInfo",
93   ]