1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("PPCGenCallingConv") {
4 visibility = [ ":LLVMPowerPCCodeGen" ]
5 args = [ "-gen-callingconv" ]
9 tablegen("PPCGenDAGISel") {
10 visibility = [ ":LLVMPowerPCCodeGen" ]
11 args = [ "-gen-dag-isel" ]
15 tablegen("PPCGenFastISel") {
16 visibility = [ ":LLVMPowerPCCodeGen" ]
17 args = [ "-gen-fast-isel" ]
21 static_library("LLVMPowerPCCodeGen") {
28 "//llvm/include/llvm/Config:llvm-config",
29 "//llvm/lib/Analysis",
31 "//llvm/lib/CodeGen/AsmPrinter",
32 "//llvm/lib/CodeGen/SelectionDAG",
37 "//llvm/lib/Transforms/Utils",
39 include_dirs = [ "." ]
42 "PPCBoolRetToInt.cpp",
43 "PPCBranchCoalescing.cpp",
44 "PPCBranchSelector.cpp",
51 "PPCFrameLowering.cpp",
52 "PPCHazardRecognizers.cpp",
53 "PPCISelDAGToDAG.cpp",
54 "PPCISelLowering.cpp",
56 "PPCLoopPreIncPrep.cpp",
59 "PPCMachineFunctionInfo.cpp",
60 "PPCMachineScheduler.cpp",
61 "PPCPreEmitPeephole.cpp",
62 "PPCQPXLoadSplat.cpp",
63 "PPCReduceCRLogicals.cpp",
64 "PPCRegisterInfo.cpp",
66 "PPCTLSDynamicCall.cpp",
68 "PPCTargetMachine.cpp",
69 "PPCTargetObjectFile.cpp",
70 "PPCTargetTransformInfo.cpp",
72 "PPCVSXFMAMutate.cpp",
73 "PPCVSXSwapRemoval.cpp",
77 # This is a bit different from most build files: Due to this group
78 # having the directory's name, "//llvm/lib/Target/PowerPC" will refer to this
79 # target, which pulls in the code in this directory *and all subdirectories*.
80 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
81 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
85 ":LLVMPowerPCCodeGen",