1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("LanaiGenCallingConv") {
4 visibility = [ ":LLVMLanaiCodeGen" ]
5 args = [ "-gen-callingconv" ]
9 tablegen("LanaiGenDAGISel") {
10 visibility = [ ":LLVMLanaiCodeGen" ]
11 args = [ "-gen-dag-isel" ]
15 static_library("LLVMLanaiCodeGen") {
17 ":LanaiGenCallingConv",
21 "//llvm/include/llvm/Config:llvm-config",
22 "//llvm/lib/Analysis",
24 "//llvm/lib/CodeGen/AsmPrinter",
25 "//llvm/lib/CodeGen/SelectionDAG",
31 include_dirs = [ "." ]
33 "LanaiAsmPrinter.cpp",
34 "LanaiDelaySlotFiller.cpp",
35 "LanaiFrameLowering.cpp",
36 "LanaiISelDAGToDAG.cpp",
37 "LanaiISelLowering.cpp",
39 "LanaiMCInstLower.cpp",
40 "LanaiMachineFunctionInfo.cpp",
41 "LanaiMemAluCombiner.cpp",
42 "LanaiRegisterInfo.cpp",
43 "LanaiSelectionDAGInfo.cpp",
45 "LanaiTargetMachine.cpp",
46 "LanaiTargetObjectFile.cpp",
50 # This is a bit different from most build files: Due to this group
51 # having the directory's name, "//llvm/lib/Target/Lanai" will refer to this
52 # target, which pulls in the code in this directory *and all subdirectories*.
53 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
54 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this