Compile only the target architecture LLVM backend.
Reactor is a run-time code generator so it only needs to support the
CPU architecture for which it is being compiled. This reduces (static)
compile time and potentially the binary size.
Bug b/115344057
Change-Id: Id25dd986a888af5175d43c33e4c60bb3e4733eda
Reviewed-on: https://swiftshader-review.googlesource.com/c/22128
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 11ec1a0..fb94ffe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1317,228 +1317,6 @@
${LLVM_DIR}/lib/Target/TargetLoweringObjectFile.cpp
${LLVM_DIR}/lib/Target/TargetMachine.cpp
${LLVM_DIR}/lib/Target/TargetMachineC.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
- ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64ISelLowering.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64FastISel.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64InstrInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64PromoteConstant.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
- ${LLVM_DIR}/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64InstructionSelector.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64A53Fix835769.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetMachine.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64CallLowering.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64Subtarget.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetObjectFile.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64RegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
- ${LLVM_DIR}/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64ConditionalCompares.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64LegalizerInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64StorePairSuppress.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
- ${LLVM_DIR}/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64MCInstLower.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64CollectLOH.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64AsmPrinter.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64CondBrTuning.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64FrameLowering.cpp
- ${LLVM_DIR}/lib/Target/AArch64/AArch64MacroFusion.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMConstantIslandPass.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
- ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
- ${LLVM_DIR}/lib/Target/ARM/ThumbRegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMMachineFunctionInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMFrameLowering.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMBaseRegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMCallLowering.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMTargetMachine.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMBaseInstrInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/Thumb1FrameLowering.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMRegisterBankInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/Utils/ARMBaseInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMComputeBlockSize.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMSelectionDAGInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMInstructionSelector.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMTargetObjectFile.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMISelLowering.cpp
- ${LLVM_DIR}/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMExpandPseudoInsts.cpp
- ${LLVM_DIR}/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMInstrInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/MLxExpansionPass.cpp
- ${LLVM_DIR}/lib/Target/ARM/Thumb2SizeReduction.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMConstantPoolValue.cpp
- ${LLVM_DIR}/lib/Target/ARM/Thumb2InstrInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMRegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMSubtarget.cpp
- ${LLVM_DIR}/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMParallelDSP.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/ARM/A15SDOptimizer.cpp
- ${LLVM_DIR}/lib/Target/ARM/Thumb2ITBlockPass.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMFastISel.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMMacroFusion.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMAsmPrinter.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMMCInstLower.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMHazardRecognizer.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMCodeGenPrepare.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMTargetTransformInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/Thumb1InstrInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMLegalizerInfo.cpp
- ${LLVM_DIR}/lib/Target/ARM/ARMOptimizeBarriersPass.cpp
- ${LLVM_DIR}/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
- ${LLVM_DIR}/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
- ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16FrameLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16HardFloat.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16HardFloatInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16InstrInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16ISelLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/Mips16RegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsAnalyzeImmediate.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsAsmPrinter.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsCallLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsCCState.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsConstantIslandPass.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsDelaySlotFiller.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsExpandPseudo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsFastISel.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsInstrInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsInstructionSelector.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsISelLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsFrameLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsLegalizerInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsBranchExpansion.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsMCInstLower.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsMachineFunction.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsOptimizePICCall.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsOs16.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsRegisterBankInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsRegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSEFrameLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSEInstrInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSEISelLowering.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSERegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsSubtarget.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsTargetMachine.cpp
- ${LLVM_DIR}/lib/Target/Mips/MipsTargetObjectFile.cpp
- ${LLVM_DIR}/lib/Target/Mips/MicroMipsSizeReduction.cpp
- ${LLVM_DIR}/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
- ${LLVM_DIR}/lib/Target/X86/AsmParser/X86AsmParser.cpp
- ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
- ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86InstComments.cpp
- ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp
- ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
- ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
- ${LLVM_DIR}/lib/Target/X86/ShadowCallStack.cpp
- ${LLVM_DIR}/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/Utils/X86ShuffleDecode.cpp
- ${LLVM_DIR}/lib/Target/X86/X86AsmPrinter.cpp
- ${LLVM_DIR}/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
- ${LLVM_DIR}/lib/Target/X86/X86CallFrameOptimization.cpp
- ${LLVM_DIR}/lib/Target/X86/X86CallLowering.cpp
- ${LLVM_DIR}/lib/Target/X86/X86CallingConv.cpp
- ${LLVM_DIR}/lib/Target/X86/X86CmovConversion.cpp
- ${LLVM_DIR}/lib/Target/X86/X86DomainReassignment.cpp
- ${LLVM_DIR}/lib/Target/X86/X86EvexToVex.cpp
- ${LLVM_DIR}/lib/Target/X86/X86ExpandPseudo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FastISel.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FixupBWInsts.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FixupLEAs.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FixupSetCC.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FlagsCopyLowering.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FloatingPoint.cpp
- ${LLVM_DIR}/lib/Target/X86/X86FrameLowering.cpp
- ${LLVM_DIR}/lib/Target/X86/X86ISelDAGToDAG.cpp
- ${LLVM_DIR}/lib/Target/X86/X86ISelLowering.cpp
- ${LLVM_DIR}/lib/Target/X86/X86IndirectBranchTracking.cpp
- ${LLVM_DIR}/lib/Target/X86/X86InstrFMA3Info.cpp
- ${LLVM_DIR}/lib/Target/X86/X86InstrFoldTables.cpp
- ${LLVM_DIR}/lib/Target/X86/X86InstrInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86InstructionSelector.cpp
- ${LLVM_DIR}/lib/Target/X86/X86InterleavedAccess.cpp
- ${LLVM_DIR}/lib/Target/X86/X86LegalizerInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86MCInstLower.cpp
- ${LLVM_DIR}/lib/Target/X86/X86MachineFunctionInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86MacroFusion.cpp
- ${LLVM_DIR}/lib/Target/X86/X86OptimizeLEAs.cpp
- ${LLVM_DIR}/lib/Target/X86/X86PadShortFunction.cpp
- ${LLVM_DIR}/lib/Target/X86/X86RegisterBankInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86RegisterInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86RetpolineThunks.cpp
- ${LLVM_DIR}/lib/Target/X86/X86SelectionDAGInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
- ${LLVM_DIR}/lib/Target/X86/X86SpeculativeLoadHardening.cpp
- ${LLVM_DIR}/lib/Target/X86/X86Subtarget.cpp
- ${LLVM_DIR}/lib/Target/X86/X86TargetMachine.cpp
- ${LLVM_DIR}/lib/Target/X86/X86TargetObjectFile.cpp
- ${LLVM_DIR}/lib/Target/X86/X86TargetTransformInfo.cpp
- ${LLVM_DIR}/lib/Target/X86/X86VZeroUpper.cpp
- ${LLVM_DIR}/lib/Target/X86/X86WinAllocaExpander.cpp
- ${LLVM_DIR}/lib/Target/X86/X86WinEHState.cpp
${LLVM_DIR}/lib/Transforms/InstCombine/InstCombineAddSub.cpp
${LLVM_DIR}/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
${LLVM_DIR}/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -1681,6 +1459,242 @@
${LLVM_DIR}/lib/Transforms/Utils/ValueMapper.cpp
)
+if(ARCH STREQUAL "x86" OR ARCH STREQUAL "x86_64")
+ list(APPEND LLVM_LIST
+ ${LLVM_DIR}/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
+ ${LLVM_DIR}/lib/Target/X86/AsmParser/X86AsmParser.cpp
+ ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
+ ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86InstComments.cpp
+ ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp
+ ${LLVM_DIR}/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
+ ${LLVM_DIR}/lib/Target/X86/ShadowCallStack.cpp
+ ${LLVM_DIR}/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/Utils/X86ShuffleDecode.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86AsmPrinter.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86CallFrameOptimization.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86CallLowering.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86CallingConv.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86CmovConversion.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86DomainReassignment.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86EvexToVex.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86ExpandPseudo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FastISel.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FixupBWInsts.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FixupLEAs.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FixupSetCC.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FlagsCopyLowering.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FloatingPoint.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86FrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86ISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86ISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86IndirectBranchTracking.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86InstrFMA3Info.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86InstrFoldTables.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86InstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86InstructionSelector.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86InterleavedAccess.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86LegalizerInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86MCInstLower.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86MachineFunctionInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86MacroFusion.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86OptimizeLEAs.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86PadShortFunction.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86RegisterBankInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86RegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86RetpolineThunks.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86SelectionDAGInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86SpeculativeLoadHardening.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86Subtarget.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86TargetMachine.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86TargetObjectFile.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86TargetTransformInfo.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86VZeroUpper.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86WinAllocaExpander.cpp
+ ${LLVM_DIR}/lib/Target/X86/X86WinEHState.cpp
+ )
+elseif(ARCH STREQUAL "mipsel" OR ARCH STREQUAL "mips64el")
+ list(APPEND LLVM_LIST
+ ${LLVM_DIR}/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+ ${LLVM_DIR}/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16FrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16HardFloat.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16HardFloatInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16InstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16ISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/Mips16RegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsAnalyzeImmediate.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsAsmPrinter.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsCallLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsCCState.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsConstantIslandPass.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsDelaySlotFiller.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsExpandPseudo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsFastISel.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsInstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsInstructionSelector.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsFrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsLegalizerInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsBranchExpansion.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsMCInstLower.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsMachineFunction.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsOptimizePICCall.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsOs16.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsRegisterBankInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsRegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSEFrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSEInstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSEISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSERegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsSubtarget.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsTargetMachine.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MipsTargetObjectFile.cpp
+ ${LLVM_DIR}/lib/Target/Mips/MicroMipsSizeReduction.cpp
+ ${LLVM_DIR}/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
+ )
+elseif(ARCH STREQUAL "aarch64")
+ list(APPEND LLVM_LIST
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64ISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64FastISel.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64InstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64PromoteConstant.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64InstructionSelector.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64A53Fix835769.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetMachine.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64CallLowering.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64Subtarget.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetObjectFile.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64RegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64ConditionalCompares.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64LegalizerInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64StorePairSuppress.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64MCInstLower.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64CollectLOH.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64AsmPrinter.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64CondBrTuning.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64FrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/AArch64/AArch64MacroFusion.cpp
+ )
+elseif(ARCH STREQUAL "arm")
+ list(APPEND LLVM_LIST
+ ${LLVM_DIR}/lib/Target/ARM/ARMConstantIslandPass.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ThumbRegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMMachineFunctionInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMFrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMBaseRegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMCallLowering.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMTargetMachine.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMBaseInstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Thumb1FrameLowering.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMRegisterBankInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Utils/ARMBaseInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMComputeBlockSize.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMSelectionDAGInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMInstructionSelector.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMTargetObjectFile.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMISelLowering.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMExpandPseudoInsts.cpp
+ ${LLVM_DIR}/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMInstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/MLxExpansionPass.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Thumb2SizeReduction.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMConstantPoolValue.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Thumb2InstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMRegisterInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMSubtarget.cpp
+ ${LLVM_DIR}/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMParallelDSP.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMISelDAGToDAG.cpp
+ ${LLVM_DIR}/lib/Target/ARM/A15SDOptimizer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Thumb2ITBlockPass.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMFastISel.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMMacroFusion.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMAsmPrinter.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMMCInstLower.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMHazardRecognizer.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMCodeGenPrepare.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMTargetTransformInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/Thumb1InstrInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMLegalizerInfo.cpp
+ ${LLVM_DIR}/lib/Target/ARM/ARMOptimizeBarriersPass.cpp
+ )
+ endif()
+
set(LLVM_INCLUDE_DIR "")
if(WIN32)