1set(LLVM_TARGET_DEFINITIONS AArch64.td) 2 3tablegen(LLVM AArch64GenRegisterInfo.inc -gen-register-info) 4tablegen(LLVM AArch64GenInstrInfo.inc -gen-instr-info) 5tablegen(LLVM AArch64GenMCCodeEmitter.inc -gen-emitter) 6tablegen(LLVM AArch64GenMCPseudoLowering.inc -gen-pseudo-lowering) 7tablegen(LLVM AArch64GenAsmWriter.inc -gen-asm-writer) 8tablegen(LLVM AArch64GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1) 9tablegen(LLVM AArch64GenAsmMatcher.inc -gen-asm-matcher) 10tablegen(LLVM AArch64GenDAGISel.inc -gen-dag-isel) 11tablegen(LLVM AArch64GenFastISel.inc -gen-fast-isel) 12tablegen(LLVM AArch64GenCallingConv.inc -gen-callingconv) 13tablegen(LLVM AArch64GenSubtargetInfo.inc -gen-subtarget) 14tablegen(LLVM AArch64GenDisassemblerTables.inc -gen-disassembler) 15tablegen(LLVM AArch64GenSystemOperands.inc -gen-searchable-tables) 16 17add_public_tablegen_target(AArch64CommonTableGen) 18 19# List of all GlobalISel files. 20set(GLOBAL_ISEL_FILES 21 AArch64CallLowering.cpp 22 AArch64RegisterBankInfo.cpp 23 ) 24 25# Add GlobalISel files to the dependencies if the user wants to build it. 26if(LLVM_BUILD_GLOBAL_ISEL) 27 set(GLOBAL_ISEL_BUILD_FILES ${GLOBAL_ISEL_FILES}) 28else() 29 set(GLOBAL_ISEL_BUILD_FILES"") 30 set(LLVM_OPTIONAL_SOURCES LLVMGlobalISel ${GLOBAL_ISEL_FILES}) 31endif() 32 33 34add_llvm_target(AArch64CodeGen 35 AArch64A57FPLoadBalancing.cpp 36 AArch64AddressTypePromotion.cpp 37 AArch64AdvSIMDScalarPass.cpp 38 AArch64AsmPrinter.cpp 39 AArch64BranchRelaxation.cpp 40 AArch64CleanupLocalDynamicTLSPass.cpp 41 AArch64CollectLOH.cpp 42 AArch64ConditionalCompares.cpp 43 AArch64DeadRegisterDefinitionsPass.cpp 44 AArch64ExpandPseudoInsts.cpp 45 AArch64FastISel.cpp 46 AArch64A53Fix835769.cpp 47 AArch64FrameLowering.cpp 48 AArch64ConditionOptimizer.cpp 49 AArch64RedundantCopyElimination.cpp 50 AArch64ISelDAGToDAG.cpp 51 AArch64ISelLowering.cpp 52 AArch64InstrInfo.cpp 53 AArch64LoadStoreOptimizer.cpp 54 AArch64MCInstLower.cpp 55 AArch64PromoteConstant.cpp 56 AArch64PBQPRegAlloc.cpp 57 AArch64RegisterInfo.cpp 58 AArch64SelectionDAGInfo.cpp 59 AArch64StorePairSuppress.cpp 60 AArch64Subtarget.cpp 61 AArch64TargetMachine.cpp 62 AArch64TargetObjectFile.cpp 63 AArch64TargetTransformInfo.cpp 64 ${GLOBAL_ISEL_BUILD_FILES} 65) 66 67add_dependencies(LLVMAArch64CodeGen intrinsics_gen) 68 69add_subdirectory(TargetInfo) 70add_subdirectory(AsmParser) 71add_subdirectory(Disassembler) 72add_subdirectory(InstPrinter) 73add_subdirectory(MCTargetDesc) 74add_subdirectory(Utils) 75