1import("//llvm/utils/TableGen/tablegen.gni") 2 3tablegen("SparcGenCallingConv") { 4 visibility = [ ":LLVMSparcCodeGen" ] 5 args = [ "-gen-callingconv" ] 6 td_file = "Sparc.td" 7} 8 9tablegen("SparcGenDAGISel") { 10 visibility = [ ":LLVMSparcCodeGen" ] 11 args = [ "-gen-dag-isel" ] 12 td_file = "Sparc.td" 13} 14 15static_library("LLVMSparcCodeGen") { 16 deps = [ 17 ":SparcGenCallingConv", 18 ":SparcGenDAGISel", 19 "MCTargetDesc", 20 "TargetInfo", 21 "//llvm/include/llvm/Config:llvm-config", 22 "//llvm/lib/CodeGen", 23 "//llvm/lib/CodeGen/AsmPrinter", 24 "//llvm/lib/CodeGen/SelectionDAG", 25 "//llvm/lib/IR", 26 "//llvm/lib/MC", 27 "//llvm/lib/Support", 28 "//llvm/lib/Target", 29 ] 30 include_dirs = [ "." ] 31 sources = [ 32 "DelaySlotFiller.cpp", 33 "LeonPasses.cpp", 34 "SparcAsmPrinter.cpp", 35 "SparcFrameLowering.cpp", 36 "SparcISelDAGToDAG.cpp", 37 "SparcISelLowering.cpp", 38 "SparcInstrInfo.cpp", 39 "SparcMCInstLower.cpp", 40 "SparcMachineFunctionInfo.cpp", 41 "SparcRegisterInfo.cpp", 42 "SparcSubtarget.cpp", 43 "SparcTargetMachine.cpp", 44 "SparcTargetObjectFile.cpp", 45 ] 46} 47 48# This is a bit different from most build files: Due to this group 49# having the directory's name, "//llvm/lib/Target/Sparc" will refer to this 50# target, which pulls in the code in this directory *and all subdirectories*. 51# For most other directories, "//llvm/lib/Foo" only pulls in the code directly 52# in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this 53# different behavior. 54group("Sparc") { 55 deps = [ 56 ":LLVMSparcCodeGen", 57 "AsmParser", 58 "Disassembler", 59 "MCTargetDesc", 60 "TargetInfo", 61 ] 62} 63