blob: 2a3fa89fbe39ac877de52834240318c3bcf92673 [file] [log] [blame]
import("//llvm/utils/TableGen/tablegen.gni")
tablegen("AArch64GenAsmMatcher") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-asm-matcher" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenCallingConv") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-callingconv" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenDAGISel") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-dag-isel" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenFastISel") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-fast-isel" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenGlobalISel") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-global-isel" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenMCPseudoLowering") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-pseudo-lowering" ]
td_file = "AArch64.td"
}
tablegen("AArch64GenRegisterBank") {
visibility = [ ":LLVMAArch64CodeGen" ]
args = [ "-gen-register-bank" ]
td_file = "AArch64.td"
}
static_library("LLVMAArch64CodeGen") {
deps = [
":AArch64GenAsmMatcher",
":AArch64GenCallingConv",
":AArch64GenDAGISel",
":AArch64GenFastISel",
":AArch64GenGlobalISel",
":AArch64GenMCPseudoLowering",
":AArch64GenRegisterBank",
"InstPrinter",
"MCTargetDesc",
"TargetInfo",
"Utils",
"//llvm/lib/Analysis",
"//llvm/lib/CodeGen",
"//llvm/lib/CodeGen/AsmPrinter",
"//llvm/lib/CodeGen/GlobalISel",
"//llvm/lib/CodeGen/SelectionDAG",
"//llvm/lib/IR",
"//llvm/lib/MC",
"//llvm/lib/Support",
"//llvm/lib/Target",
"//llvm/lib/Transforms/Scalar",
]
include_dirs = [ "." ]
sources = [
"AArch64A53Fix835769.cpp",
"AArch64A57FPLoadBalancing.cpp",
"AArch64AdvSIMDScalarPass.cpp",
"AArch64AsmPrinter.cpp",
"AArch64BranchTargets.cpp",
"AArch64CallLowering.cpp",
"AArch64CallingConvention.cpp",
"AArch64CleanupLocalDynamicTLSPass.cpp",
"AArch64CollectLOH.cpp",
"AArch64CompressJumpTables.cpp",
"AArch64CondBrTuning.cpp",
"AArch64ConditionOptimizer.cpp",
"AArch64ConditionalCompares.cpp",
"AArch64DeadRegisterDefinitionsPass.cpp",
"AArch64ExpandPseudoInsts.cpp",
"AArch64FalkorHWPFFix.cpp",
"AArch64FastISel.cpp",
"AArch64FrameLowering.cpp",
"AArch64ISelDAGToDAG.cpp",
"AArch64ISelLowering.cpp",
"AArch64InstrInfo.cpp",
"AArch64InstructionSelector.cpp",
"AArch64LegalizerInfo.cpp",
"AArch64LoadStoreOptimizer.cpp",
"AArch64MCInstLower.cpp",
"AArch64MacroFusion.cpp",
"AArch64PBQPRegAlloc.cpp",
"AArch64PreLegalizerCombiner.cpp",
"AArch64PromoteConstant.cpp",
"AArch64RedundantCopyElimination.cpp",
"AArch64RegisterBankInfo.cpp",
"AArch64RegisterInfo.cpp",
"AArch64SIMDInstrOpt.cpp",
"AArch64SelectionDAGInfo.cpp",
"AArch64SpeculationHardening.cpp",
"AArch64StorePairSuppress.cpp",
"AArch64Subtarget.cpp",
"AArch64TargetMachine.cpp",
"AArch64TargetObjectFile.cpp",
"AArch64TargetTransformInfo.cpp",
]
}
# This is a bit different from most build files: Due to this group
# having the directory's name, "//llvm/lib/Target/AArch64" will refer to this
# target, which pulls in the code in this directory *and all subdirectories*.
# For most other directories, "//llvm/lib/Foo" only pulls in the code directly
# in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
# different behavior.
group("AArch64") {
deps = [
":LLVMAArch64CodeGen",
"AsmParser",
"Disassembler",
"InstPrinter",
"MCTargetDesc",
"TargetInfo",
"Utils",
]
}