2014-05-24 20:50:23 +08:00
|
|
|
set(LLVM_TARGET_DEFINITIONS AArch64.td)
|
|
|
|
|
|
|
|
tablegen(LLVM AArch64GenRegisterInfo.inc -gen-register-info)
|
|
|
|
tablegen(LLVM AArch64GenInstrInfo.inc -gen-instr-info)
|
2014-09-03 06:28:02 +08:00
|
|
|
tablegen(LLVM AArch64GenMCCodeEmitter.inc -gen-emitter)
|
2014-05-24 20:50:23 +08:00
|
|
|
tablegen(LLVM AArch64GenMCPseudoLowering.inc -gen-pseudo-lowering)
|
|
|
|
tablegen(LLVM AArch64GenAsmWriter.inc -gen-asm-writer)
|
|
|
|
tablegen(LLVM AArch64GenAsmWriter1.inc -gen-asm-writer -asmwriternum=1)
|
|
|
|
tablegen(LLVM AArch64GenAsmMatcher.inc -gen-asm-matcher)
|
|
|
|
tablegen(LLVM AArch64GenDAGISel.inc -gen-dag-isel)
|
|
|
|
tablegen(LLVM AArch64GenFastISel.inc -gen-fast-isel)
|
|
|
|
tablegen(LLVM AArch64GenCallingConv.inc -gen-callingconv)
|
|
|
|
tablegen(LLVM AArch64GenSubtargetInfo.inc -gen-subtarget)
|
|
|
|
tablegen(LLVM AArch64GenDisassemblerTables.inc -gen-disassembler)
|
2016-07-06 05:23:04 +08:00
|
|
|
tablegen(LLVM AArch64GenSystemOperands.inc -gen-searchable-tables)
|
|
|
|
|
2014-05-24 20:50:23 +08:00
|
|
|
add_public_tablegen_target(AArch64CommonTableGen)
|
|
|
|
|
2016-04-07 01:38:12 +08:00
|
|
|
# List of all GlobalISel files.
|
2016-04-06 09:18:08 +08:00
|
|
|
set(GLOBAL_ISEL_FILES
|
2016-04-08 04:47:51 +08:00
|
|
|
AArch64CallLowering.cpp
|
2016-07-27 22:31:55 +08:00
|
|
|
AArch64InstructionSelector.cpp
|
2016-07-23 04:03:43 +08:00
|
|
|
AArch64MachineLegalizer.cpp
|
2016-04-07 01:38:12 +08:00
|
|
|
AArch64RegisterBankInfo.cpp
|
|
|
|
)
|
2016-04-06 09:18:08 +08:00
|
|
|
|
2016-04-07 01:38:12 +08:00
|
|
|
# Add GlobalISel files to the dependencies if the user wants to build it.
|
|
|
|
if(LLVM_BUILD_GLOBAL_ISEL)
|
|
|
|
set(GLOBAL_ISEL_BUILD_FILES ${GLOBAL_ISEL_FILES})
|
|
|
|
else()
|
|
|
|
set(GLOBAL_ISEL_BUILD_FILES"")
|
|
|
|
set(LLVM_OPTIONAL_SOURCES LLVMGlobalISel ${GLOBAL_ISEL_FILES})
|
2016-04-06 09:18:08 +08:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
2014-05-24 20:50:23 +08:00
|
|
|
add_llvm_target(AArch64CodeGen
|
2014-08-08 20:33:21 +08:00
|
|
|
AArch64A57FPLoadBalancing.cpp
|
2014-05-24 20:50:23 +08:00
|
|
|
AArch64AddressTypePromotion.cpp
|
|
|
|
AArch64AdvSIMDScalarPass.cpp
|
|
|
|
AArch64AsmPrinter.cpp
|
|
|
|
AArch64BranchRelaxation.cpp
|
|
|
|
AArch64CleanupLocalDynamicTLSPass.cpp
|
|
|
|
AArch64CollectLOH.cpp
|
|
|
|
AArch64ConditionalCompares.cpp
|
|
|
|
AArch64DeadRegisterDefinitionsPass.cpp
|
|
|
|
AArch64ExpandPseudoInsts.cpp
|
|
|
|
AArch64FastISel.cpp
|
2014-10-13 18:12:35 +08:00
|
|
|
AArch64A53Fix835769.cpp
|
2014-05-24 20:50:23 +08:00
|
|
|
AArch64FrameLowering.cpp
|
2014-09-05 10:55:24 +08:00
|
|
|
AArch64ConditionOptimizer.cpp
|
[AArch64] Add pass to remove redundant copy after RA
Summary:
This change will add a pass to remove unnecessary zero copies in target blocks
of cbz/cbnz instructions. E.g., the copy instruction in the code below can be
removed because the cbz jumps to BB1 when x0 is zero :
BB0:
cbz x0, .BB1
BB1:
mov x0, xzr
Jun
Reviewers: gberry, jmolloy, HaoLiu, MatzeB, mcrosier
Subscribers: mcrosier, mssimpso, haicheng, bmakam, llvm-commits, aemerson, rengolin
Differential Revision: http://reviews.llvm.org/D16203
llvm-svn: 261004
2016-02-17 04:02:39 +08:00
|
|
|
AArch64RedundantCopyElimination.cpp
|
2014-05-24 20:50:23 +08:00
|
|
|
AArch64ISelDAGToDAG.cpp
|
|
|
|
AArch64ISelLowering.cpp
|
|
|
|
AArch64InstrInfo.cpp
|
|
|
|
AArch64LoadStoreOptimizer.cpp
|
|
|
|
AArch64MCInstLower.cpp
|
|
|
|
AArch64PromoteConstant.cpp
|
2014-09-10 22:06:10 +08:00
|
|
|
AArch64PBQPRegAlloc.cpp
|
2014-05-24 20:50:23 +08:00
|
|
|
AArch64RegisterInfo.cpp
|
|
|
|
AArch64SelectionDAGInfo.cpp
|
|
|
|
AArch64StorePairSuppress.cpp
|
|
|
|
AArch64Subtarget.cpp
|
|
|
|
AArch64TargetMachine.cpp
|
|
|
|
AArch64TargetObjectFile.cpp
|
|
|
|
AArch64TargetTransformInfo.cpp
|
2016-04-07 01:38:12 +08:00
|
|
|
${GLOBAL_ISEL_BUILD_FILES}
|
2014-05-24 20:50:23 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
add_dependencies(LLVMAArch64CodeGen intrinsics_gen)
|
|
|
|
|
|
|
|
add_subdirectory(TargetInfo)
|
|
|
|
add_subdirectory(AsmParser)
|
|
|
|
add_subdirectory(Disassembler)
|
|
|
|
add_subdirectory(InstPrinter)
|
|
|
|
add_subdirectory(MCTargetDesc)
|
|
|
|
add_subdirectory(Utils)
|