1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("BPFGenCallingConv") {
4 visibility = [ ":LLVMBPFCodeGen" ]
5 args = [ "-gen-callingconv" ]
9 tablegen("BPFGenDAGISel") {
10 visibility = [ ":LLVMBPFCodeGen" ]
11 args = [ "-gen-dag-isel" ]
15 tablegen("BPFGenFastISel") {
16 visibility = [ ":LLVMBPFCodeGen" ]
17 args = [ "-gen-fast-isel" ]
21 tablegen("BPFGenGlobalISel") {
22 visibility = [ ":LLVMBPFCodeGen" ]
23 args = [ "-gen-global-isel" ]
27 tablegen("BPFGenMCPseudoLowering") {
28 visibility = [ ":LLVMBPFCodeGen" ]
29 args = [ "-gen-pseudo-lowering" ]
33 tablegen("BPFGenRegisterBank") {
34 visibility = [ ":LLVMBPFCodeGen" ]
35 args = [ "-gen-register-bank" ]
39 static_library("LLVMBPFCodeGen") {
45 ":BPFGenMCPseudoLowering",
46 ":BPFGenRegisterBank",
49 "//llvm/include/llvm/Config:llvm-config",
50 "//llvm/lib/Analysis",
52 "//llvm/lib/CodeGen/AsmPrinter",
53 "//llvm/lib/CodeGen/GlobalISel",
54 "//llvm/lib/CodeGen/SelectionDAG",
60 include_dirs = [ "." ]
62 "BPFAbstractMemberAccess.cpp",
64 "BPFFrameLowering.cpp",
65 "BPFISelDAGToDAG.cpp",
66 "BPFISelLowering.cpp",
71 "BPFMISimplifyPatchable.cpp",
72 "BPFRegisterInfo.cpp",
73 "BPFSelectionDAGInfo.cpp",
75 "BPFTargetMachine.cpp",
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