1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("MipsGenCallingConv") {
4 visibility = [ ":LLVMMipsCodeGen" ]
5 args = [ "-gen-callingconv" ]
9 tablegen("MipsGenDAGISel") {
10 visibility = [ ":LLVMMipsCodeGen" ]
11 args = [ "-gen-dag-isel" ]
15 tablegen("MipsGenFastISel") {
16 visibility = [ ":LLVMMipsCodeGen" ]
17 args = [ "-gen-fast-isel" ]
21 tablegen("MipsGenGlobalISel") {
22 visibility = [ ":LLVMMipsCodeGen" ]
23 args = [ "-gen-global-isel" ]
27 tablegen("MipsGenMCPseudoLowering") {
28 visibility = [ ":LLVMMipsCodeGen" ]
29 args = [ "-gen-pseudo-lowering" ]
33 tablegen("MipsGenRegisterBank") {
34 visibility = [ ":LLVMMipsCodeGen" ]
35 args = [ "-gen-register-bank" ]
39 static_library("LLVMMipsCodeGen") {
41 ":MipsGenCallingConv",
45 ":MipsGenMCPseudoLowering",
46 ":MipsGenRegisterBank",
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 "MicroMipsSizeReduction.cpp",
63 "Mips16FrameLowering.cpp",
64 "Mips16HardFloat.cpp",
65 "Mips16HardFloatInfo.cpp",
66 "Mips16ISelDAGToDAG.cpp",
67 "Mips16ISelLowering.cpp",
68 "Mips16InstrInfo.cpp",
69 "Mips16RegisterInfo.cpp",
70 "MipsAnalyzeImmediate.cpp",
72 "MipsBranchExpansion.cpp",
74 "MipsCallLowering.cpp",
75 "MipsConstantIslandPass.cpp",
76 "MipsDelaySlotFiller.cpp",
77 "MipsExpandPseudo.cpp",
79 "MipsFrameLowering.cpp",
80 "MipsISelDAGToDAG.cpp",
81 "MipsISelLowering.cpp",
83 "MipsInstructionSelector.cpp",
84 "MipsLegalizerInfo.cpp",
85 "MipsMCInstLower.cpp",
86 "MipsMachineFunction.cpp",
87 "MipsModuleISelDAGToDAG.cpp",
88 "MipsOptimizePICCall.cpp",
90 "MipsPreLegalizerCombiner.cpp",
91 "MipsRegisterBankInfo.cpp",
92 "MipsRegisterInfo.cpp",
93 "MipsSEFrameLowering.cpp",
94 "MipsSEISelDAGToDAG.cpp",
95 "MipsSEISelLowering.cpp",
96 "MipsSEInstrInfo.cpp",
97 "MipsSERegisterInfo.cpp",
99 "MipsTargetMachine.cpp",
100 "MipsTargetObjectFile.cpp",
104 # This is a bit different from most build files: Due to this group
105 # having the directory's name, "//llvm/lib/Target/Mips" will refer to this
106 # target, which pulls in the code in this directory *and all subdirectories*.
107 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
108 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
109 # different behavior.