Commit 155f802a by Nicolas Capens Committed by Nicolas Capens

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: I925875e33e3c24dfc41abc1c055353a4099be618 Reviewed-on: https://swiftshader-review.googlesource.com/c/22208Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
parent 2f490f06
...@@ -72,6 +72,7 @@ config("swiftshader_llvm_private_config") { ...@@ -72,6 +72,7 @@ config("swiftshader_llvm_private_config") {
"-Wno-unused-variable", "-Wno-unused-variable",
"-Wno-error=header-hygiene", "-Wno-error=header-hygiene",
] ]
defines = [ defines = [
"__STDC_CONSTANT_MACROS", "__STDC_CONSTANT_MACROS",
"__STDC_LIMIT_MACROS", "__STDC_LIMIT_MACROS",
...@@ -380,58 +381,104 @@ swiftshader_source_set("swiftshader_llvm") { ...@@ -380,58 +381,104 @@ swiftshader_source_set("swiftshader_llvm") {
"llvm/lib/Target/TargetLoweringObjectFile.cpp", "llvm/lib/Target/TargetLoweringObjectFile.cpp",
"llvm/lib/Target/TargetMachine.cpp", "llvm/lib/Target/TargetMachine.cpp",
"llvm/lib/Target/TargetMachineC.cpp", "llvm/lib/Target/TargetMachineC.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp", ]
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp", configs = [ ":swiftshader_llvm_private_config" ]
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp", include_dirs = llvm_include_dirs
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp", deps = [
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp", ":swiftshader_llvm_codegen",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp", ":swiftshader_llvm_ir",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp", ":swiftshader_llvm_support",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp", ":swiftshader_llvm_transforms",
"llvm/lib/Target/AArch64/AArch64ISelLowering.cpp", ]
"llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp",
"llvm/lib/Target/AArch64/AArch64FastISel.cpp", if (target_cpu == "x86" || target_cpu == "x64") {
"llvm/lib/Target/AArch64/AArch64InstrInfo.cpp", deps += [":swiftshader_llvm_x86"]
"llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp", } else if (target_cpu == "arm") {
"llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp", deps += [":swiftshader_llvm_arm"]
"llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp", } else if (target_cpu == "arm64") {
"llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp", deps += [":swiftshader_llvm_aarch64"]
"llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp", } else if (target_cpu == "mipsel" || target_cpu == "mips64el") {
"llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp", deps += [":swiftshader_llvm_mips"]
"llvm/lib/Target/AArch64/AArch64TargetMachine.cpp", } else {
"llvm/lib/Target/AArch64/AArch64CallLowering.cpp", assert(false, "Unsupported target_cpu")
"llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp", }
"llvm/lib/Target/AArch64/AArch64Subtarget.cpp", }
"llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp",
"llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp", swiftshader_source_set("swiftshader_llvm_x86") {
"llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp", sources = [
"llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp", "llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp",
"llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp", "llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp",
"llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp", "llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp",
"llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp", "llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp",
"llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp", "llvm/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp",
"llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp", "llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp",
"llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp",
"llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp",
"llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp",
"llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp",
"llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp",
"llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp",
"llvm/lib/Target/AArch64/AArch64MCInstLower.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp",
"llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp",
"llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp", "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp",
"llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp", "llvm/lib/Target/X86/ShadowCallStack.cpp",
"llvm/lib/Target/AArch64/AArch64CollectLOH.cpp", "llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp",
"llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp", "llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp",
"llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp", "llvm/lib/Target/X86/X86AsmPrinter.cpp",
"llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp", "llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp",
"llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp", "llvm/lib/Target/X86/X86CallFrameOptimization.cpp",
"llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp", "llvm/lib/Target/X86/X86CallLowering.cpp",
"llvm/lib/Target/AArch64/AArch64FrameLowering.cpp", "llvm/lib/Target/X86/X86CallingConv.cpp",
"llvm/lib/Target/AArch64/AArch64MacroFusion.cpp", "llvm/lib/Target/X86/X86CmovConversion.cpp",
"llvm/lib/Target/X86/X86DomainReassignment.cpp",
"llvm/lib/Target/X86/X86EvexToVex.cpp",
"llvm/lib/Target/X86/X86ExpandPseudo.cpp",
"llvm/lib/Target/X86/X86FastISel.cpp",
"llvm/lib/Target/X86/X86FixupBWInsts.cpp",
"llvm/lib/Target/X86/X86FixupLEAs.cpp",
"llvm/lib/Target/X86/X86FixupSetCC.cpp",
"llvm/lib/Target/X86/X86FlagsCopyLowering.cpp",
"llvm/lib/Target/X86/X86FloatingPoint.cpp",
"llvm/lib/Target/X86/X86FrameLowering.cpp",
"llvm/lib/Target/X86/X86ISelDAGToDAG.cpp",
"llvm/lib/Target/X86/X86ISelLowering.cpp",
"llvm/lib/Target/X86/X86IndirectBranchTracking.cpp",
"llvm/lib/Target/X86/X86InstrFMA3Info.cpp",
"llvm/lib/Target/X86/X86InstrFoldTables.cpp",
"llvm/lib/Target/X86/X86InstrInfo.cpp",
"llvm/lib/Target/X86/X86InstructionSelector.cpp",
"llvm/lib/Target/X86/X86InterleavedAccess.cpp",
"llvm/lib/Target/X86/X86LegalizerInfo.cpp",
"llvm/lib/Target/X86/X86MCInstLower.cpp",
"llvm/lib/Target/X86/X86MachineFunctionInfo.cpp",
"llvm/lib/Target/X86/X86MacroFusion.cpp",
"llvm/lib/Target/X86/X86OptimizeLEAs.cpp",
"llvm/lib/Target/X86/X86PadShortFunction.cpp",
"llvm/lib/Target/X86/X86RegisterBankInfo.cpp",
"llvm/lib/Target/X86/X86RegisterInfo.cpp",
"llvm/lib/Target/X86/X86RetpolineThunks.cpp",
"llvm/lib/Target/X86/X86SelectionDAGInfo.cpp",
"llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp",
"llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp",
"llvm/lib/Target/X86/X86Subtarget.cpp",
"llvm/lib/Target/X86/X86TargetMachine.cpp",
"llvm/lib/Target/X86/X86TargetObjectFile.cpp",
"llvm/lib/Target/X86/X86TargetTransformInfo.cpp",
"llvm/lib/Target/X86/X86VZeroUpper.cpp",
"llvm/lib/Target/X86/X86WinAllocaExpander.cpp",
"llvm/lib/Target/X86/X86WinEHState.cpp",
]
configs = [ ":swiftshader_llvm_private_config" ]
include_dirs = llvm_include_dirs
}
swiftshader_source_set("swiftshader_llvm_arm") {
sources = [
"llvm/lib/Target/ARM/ARMConstantIslandPass.cpp", "llvm/lib/Target/ARM/ARMConstantIslandPass.cpp",
"llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp", "llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp",
"llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp", "llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp",
...@@ -488,6 +535,76 @@ swiftshader_source_set("swiftshader_llvm") { ...@@ -488,6 +535,76 @@ swiftshader_source_set("swiftshader_llvm") {
"llvm/lib/Target/ARM/Thumb1InstrInfo.cpp", "llvm/lib/Target/ARM/Thumb1InstrInfo.cpp",
"llvm/lib/Target/ARM/ARMLegalizerInfo.cpp", "llvm/lib/Target/ARM/ARMLegalizerInfo.cpp",
"llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp", "llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp",
]
configs = [ ":swiftshader_llvm_private_config" ]
include_dirs = llvm_include_dirs
}
swiftshader_source_set("swiftshader_llvm_aarch64") {
sources = [
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp",
"llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp",
"llvm/lib/Target/AArch64/AArch64ISelLowering.cpp",
"llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp",
"llvm/lib/Target/AArch64/AArch64FastISel.cpp",
"llvm/lib/Target/AArch64/AArch64InstrInfo.cpp",
"llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp",
"llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp",
"llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp",
"llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp",
"llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp",
"llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp",
"llvm/lib/Target/AArch64/AArch64TargetMachine.cpp",
"llvm/lib/Target/AArch64/AArch64CallLowering.cpp",
"llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp",
"llvm/lib/Target/AArch64/AArch64Subtarget.cpp",
"llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp",
"llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp",
"llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp",
"llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp",
"llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp",
"llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp",
"llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp",
"llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp",
"llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp",
"llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp",
"llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp",
"llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp",
"llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp",
"llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp",
"llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp",
"llvm/lib/Target/AArch64/AArch64MCInstLower.cpp",
"llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp",
"llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp",
"llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp",
"llvm/lib/Target/AArch64/AArch64CollectLOH.cpp",
"llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp",
"llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp",
"llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp",
"llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp",
"llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp",
"llvm/lib/Target/AArch64/AArch64FrameLowering.cpp",
"llvm/lib/Target/AArch64/AArch64MacroFusion.cpp",
]
configs = [ ":swiftshader_llvm_private_config" ]
include_dirs = llvm_include_dirs
}
swiftshader_source_set("swiftshader_llvm_mips") {
sources = [
"llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp", "llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp",
"llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp", "llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp",
"llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp", "llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp",
...@@ -541,79 +658,11 @@ swiftshader_source_set("swiftshader_llvm") { ...@@ -541,79 +658,11 @@ swiftshader_source_set("swiftshader_llvm") {
"llvm/lib/Target/Mips/MipsTargetObjectFile.cpp", "llvm/lib/Target/Mips/MipsTargetObjectFile.cpp",
"llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp", "llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp",
"llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp", "llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp",
"llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp",
"llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp",
"llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp",
"llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp",
"llvm/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp",
"llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp",
"llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp",
"llvm/lib/Target/X86/ShadowCallStack.cpp",
"llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp",
"llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp",
"llvm/lib/Target/X86/X86AsmPrinter.cpp",
"llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp",
"llvm/lib/Target/X86/X86CallFrameOptimization.cpp",
"llvm/lib/Target/X86/X86CallLowering.cpp",
"llvm/lib/Target/X86/X86CallingConv.cpp",
"llvm/lib/Target/X86/X86CmovConversion.cpp",
"llvm/lib/Target/X86/X86DomainReassignment.cpp",
"llvm/lib/Target/X86/X86EvexToVex.cpp",
"llvm/lib/Target/X86/X86ExpandPseudo.cpp",
"llvm/lib/Target/X86/X86FastISel.cpp",
"llvm/lib/Target/X86/X86FixupBWInsts.cpp",
"llvm/lib/Target/X86/X86FixupLEAs.cpp",
"llvm/lib/Target/X86/X86FixupSetCC.cpp",
"llvm/lib/Target/X86/X86FlagsCopyLowering.cpp",
"llvm/lib/Target/X86/X86FloatingPoint.cpp",
"llvm/lib/Target/X86/X86FrameLowering.cpp",
"llvm/lib/Target/X86/X86ISelDAGToDAG.cpp",
"llvm/lib/Target/X86/X86ISelLowering.cpp",
"llvm/lib/Target/X86/X86IndirectBranchTracking.cpp",
"llvm/lib/Target/X86/X86InstrFMA3Info.cpp",
"llvm/lib/Target/X86/X86InstrFoldTables.cpp",
"llvm/lib/Target/X86/X86InstrInfo.cpp",
"llvm/lib/Target/X86/X86InstructionSelector.cpp",
"llvm/lib/Target/X86/X86InterleavedAccess.cpp",
"llvm/lib/Target/X86/X86LegalizerInfo.cpp",
"llvm/lib/Target/X86/X86MCInstLower.cpp",
"llvm/lib/Target/X86/X86MachineFunctionInfo.cpp",
"llvm/lib/Target/X86/X86MacroFusion.cpp",
"llvm/lib/Target/X86/X86OptimizeLEAs.cpp",
"llvm/lib/Target/X86/X86PadShortFunction.cpp",
"llvm/lib/Target/X86/X86RegisterBankInfo.cpp",
"llvm/lib/Target/X86/X86RegisterInfo.cpp",
"llvm/lib/Target/X86/X86RetpolineThunks.cpp",
"llvm/lib/Target/X86/X86SelectionDAGInfo.cpp",
"llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp",
"llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp",
"llvm/lib/Target/X86/X86Subtarget.cpp",
"llvm/lib/Target/X86/X86TargetMachine.cpp",
"llvm/lib/Target/X86/X86TargetObjectFile.cpp",
"llvm/lib/Target/X86/X86TargetTransformInfo.cpp",
"llvm/lib/Target/X86/X86VZeroUpper.cpp",
"llvm/lib/Target/X86/X86WinAllocaExpander.cpp",
"llvm/lib/Target/X86/X86WinEHState.cpp",
] ]
configs = [ ":swiftshader_llvm_private_config" ] configs = [ ":swiftshader_llvm_private_config" ]
include_dirs = llvm_include_dirs include_dirs = llvm_include_dirs
deps = [
":swiftshader_llvm_codegen",
":swiftshader_llvm_ir",
":swiftshader_llvm_support",
":swiftshader_llvm_transforms",
]
} }
swiftshader_source_set("swiftshader_llvm_codegen") { swiftshader_source_set("swiftshader_llvm_codegen") {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment