# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("../../src/swiftshader.gni")

# Need a separate config to ensure the warnings are added to the end.
config("swiftshader_llvm_private_config") {
  cflags = []

  if (is_win) {
    cflags += [
      "/wd4005",
      "/wd4065",
      "/wd4141",
      "/wd4146",
      "/wd4245",
      "/wd4267",
      "/wd4310",
      "/wd4319",
      "/wd4334",
      "/wd4389",
      "/wd4624",
      "/wd4701",
      "/wd4702",
      "/wd4703",
      "/wd4706",
      "/wd4800",
      "/wd4805",
      "/wd4828",
    ]

    if (!is_debug) {
      cflags += [ "/wd4324" ]
    }

    if (is_clang) {
      cflags += [
        "-Wno-format",
        "-Wno-sign-compare",
        "-Wno-macro-redefined",
      ]
    }
  }

  if (is_fuchsia) {
    cflags += [ "-Wno-error" ]
  }

  if (is_clang) {
    cflags += [
      "-Wno-attributes",
      "-Wno-deprecated-declarations",
      "-Wno-enum-compare",
      "-Wno-header-hygiene",
      "-Wno-unused-function",
      "-Wno-unused-local-typedef",
      "-Wno-unused-private-field",
      "-Wno-unused-result",
      "-Wno-unused-variable",
    ]
    if (current_cpu == "x86" || current_cpu == "x64") {
      cflags += [ "-msse2" ]
    }
  }

  defines = [
    "__STDC_CONSTANT_MACROS",
    "__STDC_LIMIT_MACROS",
  ]
}

llvm_include_dirs = [
  "llvm/include/",
  "llvm/lib/Target/AArch64/",
  "llvm/lib/Target/ARM/",
  "llvm/lib/Target/Mips/",
  "llvm/lib/Target/PowerPC/",
  "llvm/lib/Target/X86/",
  "configs/common/include/",
  "configs/common/lib/IR/",
  "configs/common/lib/Target/AArch64/",
  "configs/common/lib/Target/ARM/",
  "configs/common/lib/Target/Mips/",
  "configs/common/lib/Target/PowerPC/",
  "configs/common/lib/Target/X86/",
  "configs/common/lib/Transforms/InstCombine/",
]

if (is_linux) {
  llvm_include_dirs += [ "configs/linux/include/" ]
} else if (is_fuchsia) {
  llvm_include_dirs += [ "configs/fuchsia/include/" ]
} else if (is_win) {
  llvm_include_dirs += [ "configs/windows/include/" ]
} else if (is_android) {
  llvm_include_dirs += [ "configs/android/include/" ]
} else if (is_mac) {
  llvm_include_dirs += [ "configs/darwin/include/" ]
} else {
  assert(false, "llvm-7.0 not configured for target platform")
}

swiftshader_source_set("swiftshader_llvm") {
  sources = [
    "llvm/lib/Analysis/AliasAnalysis.cpp",
    "llvm/lib/Analysis/AliasAnalysisSummary.cpp",
    "llvm/lib/Analysis/AliasSetTracker.cpp",
    "llvm/lib/Analysis/AssumptionCache.cpp",
    "llvm/lib/Analysis/BasicAliasAnalysis.cpp",
    "llvm/lib/Analysis/BlockFrequencyInfo.cpp",
    "llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp",
    "llvm/lib/Analysis/BranchProbabilityInfo.cpp",
    "llvm/lib/Analysis/CallGraph.cpp",
    "llvm/lib/Analysis/CallGraphSCCPass.cpp",
    "llvm/lib/Analysis/CaptureTracking.cpp",
    "llvm/lib/Analysis/CFG.cpp",
    "llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp",
    "llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp",
    "llvm/lib/Analysis/CmpInstAnalysis.cpp",
    "llvm/lib/Analysis/CodeMetrics.cpp",
    "llvm/lib/Analysis/ConstantFolding.cpp",
    "llvm/lib/Analysis/DemandedBits.cpp",
    "llvm/lib/Analysis/DependenceAnalysis.cpp",
    "llvm/lib/Analysis/DivergenceAnalysis.cpp",
    "llvm/lib/Analysis/DominanceFrontier.cpp",
    "llvm/lib/Analysis/EHPersonalities.cpp",
    "llvm/lib/Analysis/GlobalsModRef.cpp",
    "llvm/lib/Analysis/InlineCost.cpp",
    "llvm/lib/Analysis/InstructionSimplify.cpp",
    "llvm/lib/Analysis/IteratedDominanceFrontier.cpp",
    "llvm/lib/Analysis/IVUsers.cpp",
    "llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp",
    "llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp",
    "llvm/lib/Analysis/LazyValueInfo.cpp",
    "llvm/lib/Analysis/Loads.cpp",
    "llvm/lib/Analysis/LoopAccessAnalysis.cpp",
    "llvm/lib/Analysis/LoopAnalysisManager.cpp",
    "llvm/lib/Analysis/LoopInfo.cpp",
    "llvm/lib/Analysis/LoopPass.cpp",
    "llvm/lib/Analysis/MemoryBuiltins.cpp",
    "llvm/lib/Analysis/MemoryDependenceAnalysis.cpp",
    "llvm/lib/Analysis/MemoryLocation.cpp",
    "llvm/lib/Analysis/MemorySSA.cpp",
    "llvm/lib/Analysis/MemorySSAUpdater.cpp",
    "llvm/lib/Analysis/MustExecute.cpp",
    "llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp",
    "llvm/lib/Analysis/ObjCARCAnalysisUtils.cpp",
    "llvm/lib/Analysis/ObjCARCInstKind.cpp",
    "llvm/lib/Analysis/OptimizationRemarkEmitter.cpp",
    "llvm/lib/Analysis/OrderedBasicBlock.cpp",
    "llvm/lib/Analysis/PHITransAddr.cpp",
    "llvm/lib/Analysis/PhiValues.cpp",
    "llvm/lib/Analysis/PostDominators.cpp",
    "llvm/lib/Analysis/ProfileSummaryInfo.cpp",
    "llvm/lib/Analysis/PtrUseVisitor.cpp",
    "llvm/lib/Analysis/ScalarEvolution.cpp",
    "llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp",
    "llvm/lib/Analysis/ScalarEvolutionExpander.cpp",
    "llvm/lib/Analysis/ScalarEvolutionNormalization.cpp",
    "llvm/lib/Analysis/ScopedNoAliasAA.cpp",
    "llvm/lib/Analysis/TargetLibraryInfo.cpp",
    "llvm/lib/Analysis/TargetTransformInfo.cpp",
    "llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp",
    "llvm/lib/Analysis/ValueLattice.cpp",
    "llvm/lib/Analysis/ValueLatticeUtils.cpp",
    "llvm/lib/Analysis/ValueTracking.cpp",
    "llvm/lib/Analysis/VectorUtils.cpp",
    "llvm/lib/AsmParser/LLLexer.cpp",
    "llvm/lib/AsmParser/LLParser.cpp",
    "llvm/lib/AsmParser/Parser.cpp",
    "llvm/lib/BinaryFormat/Dwarf.cpp",
    "llvm/lib/BinaryFormat/Magic.cpp",
    "llvm/lib/BinaryFormat/Wasm.cpp",
    "llvm/lib/Bitcode/Reader/BitcodeReader.cpp",
    "llvm/lib/Bitcode/Reader/BitstreamReader.cpp",
    "llvm/lib/Bitcode/Reader/MetadataLoader.cpp",
    "llvm/lib/Bitcode/Reader/ValueList.cpp",
    "llvm/lib/DebugInfo/CodeView/CodeViewError.cpp",
    "llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp",
    "llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp",
    "llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp",
    "llvm/lib/DebugInfo/CodeView/Formatters.cpp",
    "llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp",
    "llvm/lib/DebugInfo/CodeView/Line.cpp",
    "llvm/lib/DebugInfo/CodeView/RecordName.cpp",
    "llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp",
    "llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp",
    "llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeHashing.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeIndex.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp",
    "llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp",
    "llvm/lib/ExecutionEngine/ExecutionEngine.cpp",
    "llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp",
    "llvm/lib/ExecutionEngine/Orc/Core.cpp",
    "llvm/lib/ExecutionEngine/Orc/Legacy.cpp",
    "llvm/lib/ExecutionEngine/Orc/OrcError.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp",
    "llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp",
    "llvm/lib/ExecutionEngine/SectionMemoryManager.cpp",
    "llvm/lib/ExecutionEngine/TargetSelect.cpp",
    "llvm/lib/MC/ConstantPools.cpp",
    "llvm/lib/MC/ELFObjectWriter.cpp",
    "llvm/lib/MC/MachObjectWriter.cpp",
    "llvm/lib/MC/MCAsmBackend.cpp",
    "llvm/lib/MC/MCAsmInfo.cpp",
    "llvm/lib/MC/MCAsmInfoCOFF.cpp",
    "llvm/lib/MC/MCAsmInfoDarwin.cpp",
    "llvm/lib/MC/MCAsmInfoELF.cpp",
    "llvm/lib/MC/MCAsmMacro.cpp",
    "llvm/lib/MC/MCAsmStreamer.cpp",
    "llvm/lib/MC/MCAssembler.cpp",
    "llvm/lib/MC/MCCodeEmitter.cpp",
    "llvm/lib/MC/MCCodePadder.cpp",
    "llvm/lib/MC/MCCodeView.cpp",
    "llvm/lib/MC/MCContext.cpp",
    "llvm/lib/MC/MCDisassembler/MCDisassembler.cpp",
    "llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp",
    "llvm/lib/MC/MCDisassembler/MCRelocationInfo.cpp",
    "llvm/lib/MC/MCDisassembler/MCSymbolizer.cpp",
    "llvm/lib/MC/MCDwarf.cpp",
    "llvm/lib/MC/MCELFObjectTargetWriter.cpp",
    "llvm/lib/MC/MCELFStreamer.cpp",
    "llvm/lib/MC/MCExpr.cpp",
    "llvm/lib/MC/MCFragment.cpp",
    "llvm/lib/MC/MCInst.cpp",
    "llvm/lib/MC/MCInstPrinter.cpp",
    "llvm/lib/MC/MCInstrAnalysis.cpp",
    "llvm/lib/MC/MCInstrDesc.cpp",
    "llvm/lib/MC/MCLinkerOptimizationHint.cpp",
    "llvm/lib/MC/MCMachObjectTargetWriter.cpp",
    "llvm/lib/MC/MCMachOStreamer.cpp",
    "llvm/lib/MC/MCNullStreamer.cpp",
    "llvm/lib/MC/MCObjectFileInfo.cpp",
    "llvm/lib/MC/MCObjectStreamer.cpp",
    "llvm/lib/MC/MCObjectWriter.cpp",
    "llvm/lib/MC/MCParser/AsmLexer.cpp",
    "llvm/lib/MC/MCParser/AsmParser.cpp",
    "llvm/lib/MC/MCParser/COFFAsmParser.cpp",
    "llvm/lib/MC/MCParser/DarwinAsmParser.cpp",
    "llvm/lib/MC/MCParser/ELFAsmParser.cpp",
    "llvm/lib/MC/MCParser/MCAsmLexer.cpp",
    "llvm/lib/MC/MCParser/MCAsmParser.cpp",
    "llvm/lib/MC/MCParser/MCAsmParserExtension.cpp",
    "llvm/lib/MC/MCParser/MCTargetAsmParser.cpp",
    "llvm/lib/MC/MCRegisterInfo.cpp",
    "llvm/lib/MC/MCSchedule.cpp",
    "llvm/lib/MC/MCSection.cpp",
    "llvm/lib/MC/MCSectionCOFF.cpp",
    "llvm/lib/MC/MCSectionELF.cpp",
    "llvm/lib/MC/MCSectionMachO.cpp",
    "llvm/lib/MC/MCSectionWasm.cpp",
    "llvm/lib/MC/MCStreamer.cpp",
    "llvm/lib/MC/MCSubtargetInfo.cpp",
    "llvm/lib/MC/MCSymbol.cpp",
    "llvm/lib/MC/MCSymbolELF.cpp",
    "llvm/lib/MC/MCTargetOptions.cpp",
    "llvm/lib/MC/MCValue.cpp",
    "llvm/lib/MC/MCWasmObjectTargetWriter.cpp",
    "llvm/lib/MC/MCWasmStreamer.cpp",
    "llvm/lib/MC/MCWin64EH.cpp",
    "llvm/lib/MC/MCWinCOFFStreamer.cpp",
    "llvm/lib/MC/MCWinEH.cpp",
    "llvm/lib/MC/StringTableBuilder.cpp",
    "llvm/lib/MC/SubtargetFeature.cpp",
    "llvm/lib/MC/WasmObjectWriter.cpp",
    "llvm/lib/MC/WinCOFFObjectWriter.cpp",
    "llvm/lib/Object/Archive.cpp",
    "llvm/lib/Object/Binary.cpp",
    "llvm/lib/Object/COFFObjectFile.cpp",
    "llvm/lib/Object/ELF.cpp",
    "llvm/lib/Object/ELFObjectFile.cpp",
    "llvm/lib/Object/Error.cpp",
    "llvm/lib/Object/IRObjectFile.cpp",
    "llvm/lib/Object/IRSymtab.cpp",
    "llvm/lib/Object/MachOObjectFile.cpp",
    "llvm/lib/Object/MachOUniversal.cpp",
    "llvm/lib/Object/ModuleSymbolTable.cpp",
    "llvm/lib/Object/ObjectFile.cpp",
    "llvm/lib/Object/RecordStreamer.cpp",
    "llvm/lib/Object/SymbolicFile.cpp",
    "llvm/lib/Object/WasmObjectFile.cpp",
    "llvm/lib/Object/WindowsResource.cpp",
    "llvm/lib/ProfileData/InstrProf.cpp",
    "llvm/lib/Target/TargetIntrinsicInfo.cpp",
    "llvm/lib/Target/TargetLoweringObjectFile.cpp",
    "llvm/lib/Target/TargetMachine.cpp",
    "stubs/Stubs.cpp",
  ]

  # This class is declared on all platforms but only used on ARM. UBSanVPtr
  # builds require that all declared classes have a definition even if they're
  # not used.
  if (is_ubsan_vptr) {
    sources += [ "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp" ]
  }

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs

  deps = [
    ":swiftshader_llvm_codegen",
    ":swiftshader_llvm_ir",
    ":swiftshader_llvm_support",
    ":swiftshader_llvm_transforms",
  ]

  if (current_cpu == "x86" || current_cpu == "x64") {
    deps += [":swiftshader_llvm_x86"]
  } else if (current_cpu == "arm") {
    deps += [":swiftshader_llvm_arm"]
  } else if (current_cpu == "arm64") {
    deps += [":swiftshader_llvm_aarch64"]
  } else if (current_cpu == "mipsel" || current_cpu == "mips64el") {
    deps += [":swiftshader_llvm_mips"]
  } else if (current_cpu == "ppc64") {
    deps += [":swiftshader_llvm_ppc"]
  } else {
    assert(false, "Unsupported current_cpu")
  }

  if (current_cpu != current_cpu &&
      (current_cpu == "x86" || current_cpu == "x64") ||
      # Windows ARM64 does cross compilation on Windows x64 host, and requires native
      # x86 target.
      (is_win && current_cpu == "arm64")) {
    deps += [ ":swiftshader_llvm_x86" ]
  }
}

swiftshader_source_set("swiftshader_llvm_x86") {
  sources = [
    "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/X86MachObjectWriter.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/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/X86CallingConv.cpp",
    "llvm/lib/Target/X86/X86CallLowering.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/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/X86ISelDAGToDAG.cpp",
    "llvm/lib/Target/X86/X86ISelLowering.cpp",
    "llvm/lib/Target/X86/X86LegalizerInfo.cpp",
    "llvm/lib/Target/X86/X86MachineFunctionInfo.cpp",
    "llvm/lib/Target/X86/X86MacroFusion.cpp",
    "llvm/lib/Target/X86/X86MCInstLower.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/A15SDOptimizer.cpp",
    "llvm/lib/Target/ARM/ARMAsmPrinter.cpp",
    "llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp",
    "llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp",
    "llvm/lib/Target/ARM/ARMCallLowering.cpp",
    "llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp",
    "llvm/lib/Target/ARM/ARMComputeBlockSize.cpp",
    "llvm/lib/Target/ARM/ARMConstantIslandPass.cpp",
    "llvm/lib/Target/ARM/ARMConstantPoolValue.cpp",
    "llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp",
    "llvm/lib/Target/ARM/ARMFastISel.cpp",
    "llvm/lib/Target/ARM/ARMFrameLowering.cpp",
    "llvm/lib/Target/ARM/ARMHazardRecognizer.cpp",
    "llvm/lib/Target/ARM/ARMInstrInfo.cpp",
    "llvm/lib/Target/ARM/ARMInstructionSelector.cpp",
    "llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp",
    "llvm/lib/Target/ARM/ARMISelLowering.cpp",
    "llvm/lib/Target/ARM/ARMLegalizerInfo.cpp",
    "llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp",
    "llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp",
    "llvm/lib/Target/ARM/ARMMacroFusion.cpp",
    "llvm/lib/Target/ARM/ARMMCInstLower.cpp",
    "llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp",
    "llvm/lib/Target/ARM/ARMParallelDSP.cpp",
    "llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp",
    "llvm/lib/Target/ARM/ARMRegisterInfo.cpp",
    "llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp",
    "llvm/lib/Target/ARM/ARMSubtarget.cpp",
    "llvm/lib/Target/ARM/ARMTargetMachine.cpp",
    "llvm/lib/Target/ARM/ARMTargetObjectFile.cpp",
    "llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp",
    "llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp",
    "llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp",
    "llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp",
    "llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp",
    "llvm/lib/Target/ARM/MLxExpansionPass.cpp",
    "llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp",
    "llvm/lib/Target/ARM/Thumb1FrameLowering.cpp",
    "llvm/lib/Target/ARM/Thumb1InstrInfo.cpp",
    "llvm/lib/Target/ARM/Thumb2InstrInfo.cpp",
    "llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp",
    "llvm/lib/Target/ARM/Thumb2SizeReduction.cpp",
    "llvm/lib/Target/ARM/ThumbRegisterInfo.cpp",
    "llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp",
  ]

  # When is_ubsan_vptr is true, this file is added to swiftshader_llvm instead.
  if (!is_ubsan_vptr) {
    sources += [ "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp" ]
  }

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_aarch64") {
  sources = [
    "llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp",
    "llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp",
    "llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp",
    "llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp",
    "llvm/lib/Target/AArch64/AArch64CallLowering.cpp",
    "llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp",
    "llvm/lib/Target/AArch64/AArch64CollectLOH.cpp",
    "llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp",
    "llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp",
    "llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp",
    "llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp",
    "llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp",
    "llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp",
    "llvm/lib/Target/AArch64/AArch64FastISel.cpp",
    "llvm/lib/Target/AArch64/AArch64FrameLowering.cpp",
    "llvm/lib/Target/AArch64/AArch64InstrInfo.cpp",
    "llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp",
    "llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp",
    "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp",
    "llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp",
    "llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp",
    "llvm/lib/Target/AArch64/AArch64MacroFusion.cpp",
    "llvm/lib/Target/AArch64/AArch64MCInstLower.cpp",
    "llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp",
    "llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp",
    "llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp",
    "llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp",
    "llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp",
    "llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp",
    "llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp",
    "llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp",
    "llvm/lib/Target/AArch64/AArch64Subtarget.cpp",
    "llvm/lib/Target/AArch64/AArch64TargetMachine.cpp",
    "llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp",
    "llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp",
    "llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp",
    "llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp",
    "llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp",
    "llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp",
    "llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp",
    "llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp",
    "llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.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/InstPrinter/MipsInstPrinter.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp",
    "llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp",
    "llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp",
    "llvm/lib/Target/Mips/Mips16FrameLowering.cpp",
    "llvm/lib/Target/Mips/Mips16HardFloat.cpp",
    "llvm/lib/Target/Mips/Mips16HardFloatInfo.cpp",
    "llvm/lib/Target/Mips/Mips16InstrInfo.cpp",
    "llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp",
    "llvm/lib/Target/Mips/Mips16ISelLowering.cpp",
    "llvm/lib/Target/Mips/Mips16RegisterInfo.cpp",
    "llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp",
    "llvm/lib/Target/Mips/MipsAsmPrinter.cpp",
    "llvm/lib/Target/Mips/MipsBranchExpansion.cpp",
    "llvm/lib/Target/Mips/MipsCallLowering.cpp",
    "llvm/lib/Target/Mips/MipsCCState.cpp",
    "llvm/lib/Target/Mips/MipsConstantIslandPass.cpp",
    "llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp",
    "llvm/lib/Target/Mips/MipsExpandPseudo.cpp",
    "llvm/lib/Target/Mips/MipsFastISel.cpp",
    "llvm/lib/Target/Mips/MipsFrameLowering.cpp",
    "llvm/lib/Target/Mips/MipsInstrInfo.cpp",
    "llvm/lib/Target/Mips/MipsInstructionSelector.cpp",
    "llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp",
    "llvm/lib/Target/Mips/MipsISelLowering.cpp",
    "llvm/lib/Target/Mips/MipsLegalizerInfo.cpp",
    "llvm/lib/Target/Mips/MipsMachineFunction.cpp",
    "llvm/lib/Target/Mips/MipsMCInstLower.cpp",
    "llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp",
    "llvm/lib/Target/Mips/MipsOptimizePICCall.cpp",
    "llvm/lib/Target/Mips/MipsOs16.cpp",
    "llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp",
    "llvm/lib/Target/Mips/MipsRegisterInfo.cpp",
    "llvm/lib/Target/Mips/MipsSEFrameLowering.cpp",
    "llvm/lib/Target/Mips/MipsSEInstrInfo.cpp",
    "llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp",
    "llvm/lib/Target/Mips/MipsSEISelLowering.cpp",
    "llvm/lib/Target/Mips/MipsSERegisterInfo.cpp",
    "llvm/lib/Target/Mips/MipsSubtarget.cpp",
    "llvm/lib/Target/Mips/MipsTargetMachine.cpp",
    "llvm/lib/Target/Mips/MipsTargetObjectFile.cpp",
    "llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_ppc") {
  sources = [
    "llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp",
    "llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp",
    "llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp",
    "llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.cpp",
    "llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp",
    "llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp",
    "llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp",
    "llvm/lib/Target/PowerPC/PPCBranchSelector.cpp",
    "llvm/lib/Target/PowerPC/PPCCCState.cpp",
    "llvm/lib/Target/PowerPC/PPCCTRLoops.cpp",
    "llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp",
    "llvm/lib/Target/PowerPC/PPCExpandISEL.cpp",
    "llvm/lib/Target/PowerPC/PPCFastISel.cpp",
    "llvm/lib/Target/PowerPC/PPCFrameLowering.cpp",
    "llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp",
    "llvm/lib/Target/PowerPC/PPCInstrInfo.cpp",
    "llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp",
    "llvm/lib/Target/PowerPC/PPCISelLowering.cpp",
    "llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp",
    "llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp",
    "llvm/lib/Target/PowerPC/PPCMCInstLower.cpp",
    "llvm/lib/Target/PowerPC/PPCMIPeephole.cpp",
    "llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp",
    "llvm/lib/Target/PowerPC/PPCQPXLoadSplat.cpp",
    "llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp",
    "llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp",
    "llvm/lib/Target/PowerPC/PPCSubtarget.cpp",
    "llvm/lib/Target/PowerPC/PPCTargetMachine.cpp",
    "llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp",
    "llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp",
    "llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp",
    "llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp",
    "llvm/lib/Target/PowerPC/PPCVSXCopy.cpp",
    "llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
    "llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",
    "llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_codegen") {
  sources = [
    "llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp",
    "llvm/lib/CodeGen/AllocationOrder.cpp",
    "llvm/lib/CodeGen/Analysis.cpp",
    "llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp",
    "llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp",
    "llvm/lib/CodeGen/AsmPrinter/ARMException.cpp",
    "llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp",
    "llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp",
    "llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp",
    "llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DebugLocStream.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DIE.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp",
    "llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp",
    "llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp",
    "llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp",
    "llvm/lib/CodeGen/AsmPrinter/WinException.cpp",
    "llvm/lib/CodeGen/AtomicExpandPass.cpp",
    "llvm/lib/CodeGen/BasicTargetTransformInfo.cpp",
    "llvm/lib/CodeGen/BranchFolding.cpp",
    "llvm/lib/CodeGen/BranchRelaxation.cpp",
    "llvm/lib/CodeGen/BreakFalseDeps.cpp",
    "llvm/lib/CodeGen/CalcSpillWeights.cpp",
    "llvm/lib/CodeGen/CallingConvLower.cpp",
    "llvm/lib/CodeGen/CFIInstrInserter.cpp",
    "llvm/lib/CodeGen/CodeGen.cpp",
    "llvm/lib/CodeGen/CodeGenPrepare.cpp",
    "llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp",
    "llvm/lib/CodeGen/DeadMachineInstructionElim.cpp",
    "llvm/lib/CodeGen/DetectDeadLanes.cpp",
    "llvm/lib/CodeGen/DFAPacketizer.cpp",
    "llvm/lib/CodeGen/DwarfEHPrepare.cpp",
    "llvm/lib/CodeGen/EarlyIfConversion.cpp",
    "llvm/lib/CodeGen/EdgeBundles.cpp",
    "llvm/lib/CodeGen/ExecutionDomainFix.cpp",
    "llvm/lib/CodeGen/ExpandISelPseudos.cpp",
    "llvm/lib/CodeGen/ExpandMemCmp.cpp",
    "llvm/lib/CodeGen/ExpandPostRAPseudos.cpp",
    "llvm/lib/CodeGen/ExpandReductions.cpp",
    "llvm/lib/CodeGen/FaultMaps.cpp",
    "llvm/lib/CodeGen/FEntryInserter.cpp",
    "llvm/lib/CodeGen/FuncletLayout.cpp",
    "llvm/lib/CodeGen/GCMetadata.cpp",
    "llvm/lib/CodeGen/GCMetadataPrinter.cpp",
    "llvm/lib/CodeGen/GCRootLowering.cpp",
    "llvm/lib/CodeGen/GCStrategy.cpp",
    "llvm/lib/CodeGen/GlobalISel/CallLowering.cpp",
    "llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp",
    "llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp",
    "llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp",
    "llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp",
    "llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp",
    "llvm/lib/CodeGen/GlobalISel/LegalizeMutations.cpp",
    "llvm/lib/CodeGen/GlobalISel/Legalizer.cpp",
    "llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp",
    "llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp",
    "llvm/lib/CodeGen/GlobalISel/Localizer.cpp",
    "llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp",
    "llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp",
    "llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp",
    "llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp",
    "llvm/lib/CodeGen/GlobalISel/Utils.cpp",
    "llvm/lib/CodeGen/GlobalMerge.cpp",
    "llvm/lib/CodeGen/IfConversion.cpp",
    "llvm/lib/CodeGen/ImplicitNullChecks.cpp",
    "llvm/lib/CodeGen/IndirectBrExpandPass.cpp",
    "llvm/lib/CodeGen/InlineSpiller.cpp",
    "llvm/lib/CodeGen/InterferenceCache.cpp",
    "llvm/lib/CodeGen/InterleavedAccessPass.cpp",
    "llvm/lib/CodeGen/IntrinsicLowering.cpp",
    "llvm/lib/CodeGen/LatencyPriorityQueue.cpp",
    "llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp",
    "llvm/lib/CodeGen/LexicalScopes.cpp",
    "llvm/lib/CodeGen/LiveDebugValues.cpp",
    "llvm/lib/CodeGen/LiveDebugVariables.cpp",
    "llvm/lib/CodeGen/LiveInterval.cpp",
    "llvm/lib/CodeGen/LiveIntervals.cpp",
    "llvm/lib/CodeGen/LiveIntervalUnion.cpp",
    "llvm/lib/CodeGen/LivePhysRegs.cpp",
    "llvm/lib/CodeGen/LiveRangeCalc.cpp",
    "llvm/lib/CodeGen/LiveRangeEdit.cpp",
    "llvm/lib/CodeGen/LiveRangeShrink.cpp",
    "llvm/lib/CodeGen/LiveRegMatrix.cpp",
    "llvm/lib/CodeGen/LiveRegUnits.cpp",
    "llvm/lib/CodeGen/LiveStacks.cpp",
    "llvm/lib/CodeGen/LiveVariables.cpp",
    "llvm/lib/CodeGen/LLVMTargetMachine.cpp",
    "llvm/lib/CodeGen/LocalStackSlotAllocation.cpp",
    "llvm/lib/CodeGen/LoopTraversal.cpp",
    "llvm/lib/CodeGen/LowerEmuTLS.cpp",
    "llvm/lib/CodeGen/LowLevelType.cpp",
    "llvm/lib/CodeGen/MachineBasicBlock.cpp",
    "llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp",
    "llvm/lib/CodeGen/MachineBlockPlacement.cpp",
    "llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp",
    "llvm/lib/CodeGen/MachineCombiner.cpp",
    "llvm/lib/CodeGen/MachineCopyPropagation.cpp",
    "llvm/lib/CodeGen/MachineCSE.cpp",
    "llvm/lib/CodeGen/MachineDominanceFrontier.cpp",
    "llvm/lib/CodeGen/MachineDominators.cpp",
    "llvm/lib/CodeGen/MachineFrameInfo.cpp",
    "llvm/lib/CodeGen/MachineFunction.cpp",
    "llvm/lib/CodeGen/MachineFunctionPass.cpp",
    "llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp",
    "llvm/lib/CodeGen/MachineInstr.cpp",
    "llvm/lib/CodeGen/MachineInstrBundle.cpp",
    "llvm/lib/CodeGen/MachineLICM.cpp",
    "llvm/lib/CodeGen/MachineLoopInfo.cpp",
    "llvm/lib/CodeGen/MachineModuleInfo.cpp",
    "llvm/lib/CodeGen/MachineModuleInfoImpls.cpp",
    "llvm/lib/CodeGen/MachineOperand.cpp",
    "llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp",
    "llvm/lib/CodeGen/MachineOutliner.cpp",
    "llvm/lib/CodeGen/MachinePassRegistry.cpp",
    "llvm/lib/CodeGen/MachinePipeliner.cpp",
    "llvm/lib/CodeGen/MachinePostDominators.cpp",
    "llvm/lib/CodeGen/MachineRegionInfo.cpp",
    "llvm/lib/CodeGen/MachineRegisterInfo.cpp",
    "llvm/lib/CodeGen/MachineScheduler.cpp",
    "llvm/lib/CodeGen/MachineSink.cpp",
    "llvm/lib/CodeGen/MachineSSAUpdater.cpp",
    "llvm/lib/CodeGen/MachineTraceMetrics.cpp",
    "llvm/lib/CodeGen/MachineVerifier.cpp",
    "llvm/lib/CodeGen/MacroFusion.cpp",
    "llvm/lib/CodeGen/MIRCanonicalizerPass.cpp",
    "llvm/lib/CodeGen/MIRPrinter.cpp",
    "llvm/lib/CodeGen/MIRPrintingPass.cpp",
    "llvm/lib/CodeGen/OptimizePHIs.cpp",
    "llvm/lib/CodeGen/PatchableFunction.cpp",
    "llvm/lib/CodeGen/PeepholeOptimizer.cpp",
    "llvm/lib/CodeGen/PHIElimination.cpp",
    "llvm/lib/CodeGen/PHIEliminationUtils.cpp",
    "llvm/lib/CodeGen/PostRAHazardRecognizer.cpp",
    "llvm/lib/CodeGen/PostRASchedulerList.cpp",
    "llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp",
    "llvm/lib/CodeGen/ProcessImplicitDefs.cpp",
    "llvm/lib/CodeGen/PrologEpilogInserter.cpp",
    "llvm/lib/CodeGen/PseudoSourceValue.cpp",
    "llvm/lib/CodeGen/ReachingDefAnalysis.cpp",
    "llvm/lib/CodeGen/RegAllocBase.cpp",
    "llvm/lib/CodeGen/RegAllocBasic.cpp",
    "llvm/lib/CodeGen/RegAllocFast.cpp",
    "llvm/lib/CodeGen/RegAllocGreedy.cpp",
    "llvm/lib/CodeGen/RegAllocPBQP.cpp",
    "llvm/lib/CodeGen/RegisterClassInfo.cpp",
    "llvm/lib/CodeGen/RegisterCoalescer.cpp",
    "llvm/lib/CodeGen/RegisterPressure.cpp",
    "llvm/lib/CodeGen/RegisterScavenging.cpp",
    "llvm/lib/CodeGen/RegisterUsageInfo.cpp",
    "llvm/lib/CodeGen/RegUsageInfoCollector.cpp",
    "llvm/lib/CodeGen/RegUsageInfoPropagate.cpp",
    "llvm/lib/CodeGen/RenameIndependentSubregs.cpp",
    "llvm/lib/CodeGen/ResetMachineFunctionPass.cpp",
    "llvm/lib/CodeGen/SafeStack.cpp",
    "llvm/lib/CodeGen/SafeStackColoring.cpp",
    "llvm/lib/CodeGen/SafeStackLayout.cpp",
    "llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp",
    "llvm/lib/CodeGen/ScheduleDAG.cpp",
    "llvm/lib/CodeGen/ScheduleDAGInstrs.cpp",
    "llvm/lib/CodeGen/ScheduleDAGPrinter.cpp",
    "llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp",
    "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
    "llvm/lib/CodeGen/SelectionDAG/FastISel.cpp",
    "llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp",
    "llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp",
    "llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp",
    "llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp",
    "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp",
    "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp",
    "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp",
    "llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp",
    "llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp",
    "llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp",
    "llvm/lib/CodeGen/ShadowStackGCLowering.cpp",
    "llvm/lib/CodeGen/ShrinkWrap.cpp",
    "llvm/lib/CodeGen/SjLjEHPrepare.cpp",
    "llvm/lib/CodeGen/SlotIndexes.cpp",
    "llvm/lib/CodeGen/SpillPlacement.cpp",
    "llvm/lib/CodeGen/SplitKit.cpp",
    "llvm/lib/CodeGen/StackColoring.cpp",
    "llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp",
    "llvm/lib/CodeGen/StackMaps.cpp",
    "llvm/lib/CodeGen/StackProtector.cpp",
    "llvm/lib/CodeGen/StackSlotColoring.cpp",
    "llvm/lib/CodeGen/TailDuplication.cpp",
    "llvm/lib/CodeGen/TailDuplicator.cpp",
    "llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp",
    "llvm/lib/CodeGen/TargetInstrInfo.cpp",
    "llvm/lib/CodeGen/TargetLoweringBase.cpp",
    "llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp",
    "llvm/lib/CodeGen/TargetOptionsImpl.cpp",
    "llvm/lib/CodeGen/TargetPassConfig.cpp",
    "llvm/lib/CodeGen/TargetRegisterInfo.cpp",
    "llvm/lib/CodeGen/TargetSchedule.cpp",
    "llvm/lib/CodeGen/TargetSubtargetInfo.cpp",
    "llvm/lib/CodeGen/TwoAddressInstructionPass.cpp",
    "llvm/lib/CodeGen/UnreachableBlockElim.cpp",
    "llvm/lib/CodeGen/ValueTypes.cpp",
    "llvm/lib/CodeGen/VirtRegMap.cpp",
    "llvm/lib/CodeGen/WasmEHPrepare.cpp",
    "llvm/lib/CodeGen/WinEHPrepare.cpp",
    "llvm/lib/CodeGen/XRayInstrumentation.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_ir") {
  sources = [
    "llvm/lib/IR/AsmWriter.cpp",
    "llvm/lib/IR/Attributes.cpp",
    "llvm/lib/IR/AutoUpgrade.cpp",
    "llvm/lib/IR/BasicBlock.cpp",
    "llvm/lib/IR/Comdat.cpp",
    "llvm/lib/IR/ConstantFold.cpp",
    "llvm/lib/IR/ConstantRange.cpp",
    "llvm/lib/IR/Constants.cpp",
    "llvm/lib/IR/Core.cpp",
    "llvm/lib/IR/DataLayout.cpp",
    "llvm/lib/IR/DebugInfo.cpp",
    "llvm/lib/IR/DebugInfoMetadata.cpp",
    "llvm/lib/IR/DebugLoc.cpp",
    "llvm/lib/IR/DiagnosticHandler.cpp",
    "llvm/lib/IR/DiagnosticInfo.cpp",
    "llvm/lib/IR/DiagnosticPrinter.cpp",
    "llvm/lib/IR/DIBuilder.cpp",
    "llvm/lib/IR/Dominators.cpp",
    "llvm/lib/IR/Function.cpp",
    "llvm/lib/IR/Globals.cpp",
    "llvm/lib/IR/GVMaterializer.cpp",
    "llvm/lib/IR/InlineAsm.cpp",
    "llvm/lib/IR/Instruction.cpp",
    "llvm/lib/IR/Instructions.cpp",
    "llvm/lib/IR/IntrinsicInst.cpp",
    "llvm/lib/IR/IRBuilder.cpp",
    "llvm/lib/IR/IRPrintingPasses.cpp",
    "llvm/lib/IR/LegacyPassManager.cpp",
    "llvm/lib/IR/LLVMContext.cpp",
    "llvm/lib/IR/LLVMContextImpl.cpp",
    "llvm/lib/IR/Mangler.cpp",
    "llvm/lib/IR/MDBuilder.cpp",
    "llvm/lib/IR/Metadata.cpp",
    "llvm/lib/IR/Module.cpp",
    "llvm/lib/IR/Operator.cpp",
    "llvm/lib/IR/OptBisect.cpp",
    "llvm/lib/IR/Pass.cpp",
    "llvm/lib/IR/PassManager.cpp",
    "llvm/lib/IR/PassRegistry.cpp",
    "llvm/lib/IR/ProfileSummary.cpp",
    "llvm/lib/IR/SafepointIRVerifier.cpp",
    "llvm/lib/IR/Statepoint.cpp",
    "llvm/lib/IR/Type.cpp",
    "llvm/lib/IR/TypeFinder.cpp",
    "llvm/lib/IR/Use.cpp",
    "llvm/lib/IR/User.cpp",
    "llvm/lib/IR/Value.cpp",
    "llvm/lib/IR/ValueSymbolTable.cpp",
    "llvm/lib/IR/Verifier.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_support") {
  sources = [
    "llvm/lib/Support/APFloat.cpp",
    "llvm/lib/Support/APInt.cpp",
    "llvm/lib/Support/APSInt.cpp",
    "llvm/lib/Support/ARMAttributeParser.cpp",
    "llvm/lib/Support/ARMBuildAttrs.cpp",
    "llvm/lib/Support/Atomic.cpp",
    "llvm/lib/Support/BinaryStreamError.cpp",
    "llvm/lib/Support/BinaryStreamReader.cpp",
    "llvm/lib/Support/BinaryStreamRef.cpp",
    "llvm/lib/Support/BinaryStreamWriter.cpp",
    "llvm/lib/Support/BlockFrequency.cpp",
    "llvm/lib/Support/BranchProbability.cpp",
    "llvm/lib/Support/Chrono.cpp",
    "llvm/lib/Support/circular_raw_ostream.cpp",
    "llvm/lib/Support/CodeGenCoverage.cpp",
    "llvm/lib/Support/CommandLine.cpp",
    "llvm/lib/Support/Compression.cpp",
    "llvm/lib/Support/ConvertUTF.cpp",
    "llvm/lib/Support/ConvertUTFWrapper.cpp",
    "llvm/lib/Support/DataExtractor.cpp",
    "llvm/lib/Support/Debug.cpp",
    "llvm/lib/Support/DebugCounter.cpp",
    "llvm/lib/Support/DJB.cpp",
    "llvm/lib/Support/DynamicLibrary.cpp",
    "llvm/lib/Support/Errno.cpp",
    "llvm/lib/Support/Error.cpp",
    "llvm/lib/Support/ErrorHandling.cpp",
    "llvm/lib/Support/FoldingSet.cpp",
    "llvm/lib/Support/FormattedStream.cpp",
    "llvm/lib/Support/FormatVariadic.cpp",
    "llvm/lib/Support/GraphWriter.cpp",
    "llvm/lib/Support/Hashing.cpp",
    "llvm/lib/Support/Host.cpp",
    "llvm/lib/Support/IntEqClasses.cpp",
    "llvm/lib/Support/IntervalMap.cpp",
    "llvm/lib/Support/JamCRC.cpp",
    "llvm/lib/Support/KnownBits.cpp",
    "llvm/lib/Support/LEB128.cpp",
    "llvm/lib/Support/LineIterator.cpp",
    "llvm/lib/Support/Locale.cpp",
    "llvm/lib/Support/LowLevelType.cpp",
    "llvm/lib/Support/ManagedStatic.cpp",
    "llvm/lib/Support/MathExtras.cpp",
    "llvm/lib/Support/MD5.cpp",
    "llvm/lib/Support/Memory.cpp",
    "llvm/lib/Support/MemoryBuffer.cpp",
    "llvm/lib/Support/Mutex.cpp",
    "llvm/lib/Support/NativeFormatting.cpp",
    "llvm/lib/Support/Path.cpp",
    "llvm/lib/Support/PrettyStackTrace.cpp",
    "llvm/lib/Support/Process.cpp",
    "llvm/lib/Support/Program.cpp",
    "llvm/lib/Support/RandomNumberGenerator.cpp",
    "llvm/lib/Support/raw_ostream.cpp",
    "llvm/lib/Support/regcomp.c",
    "llvm/lib/Support/regerror.c",
    "llvm/lib/Support/Regex.cpp",
    "llvm/lib/Support/regexec.c",
    "llvm/lib/Support/regfree.c",
    "llvm/lib/Support/regstrlcpy.c",
    "llvm/lib/Support/RWMutex.cpp",
    "llvm/lib/Support/ScaledNumber.cpp",
    "llvm/lib/Support/ScopedPrinter.cpp",
    "llvm/lib/Support/SHA1.cpp",
    "llvm/lib/Support/Signals.cpp",
    "llvm/lib/Support/SmallPtrSet.cpp",
    "llvm/lib/Support/SmallVector.cpp",
    "llvm/lib/Support/SourceMgr.cpp",
    "llvm/lib/Support/Statistic.cpp",
    "llvm/lib/Support/StringExtras.cpp",
    "llvm/lib/Support/StringMap.cpp",
    "llvm/lib/Support/StringRef.cpp",
    "llvm/lib/Support/StringSaver.cpp",
    "llvm/lib/Support/TargetParser.cpp",
    "llvm/lib/Support/TargetRegistry.cpp",
    "llvm/lib/Support/Threading.cpp",
    "llvm/lib/Support/Timer.cpp",
    "llvm/lib/Support/ToolOutputFile.cpp",
    "llvm/lib/Support/Triple.cpp",
    "llvm/lib/Support/Twine.cpp",
    "llvm/lib/Support/Unicode.cpp",
    "llvm/lib/Support/UnicodeCaseFold.cpp",
    "llvm/lib/Support/Valgrind.cpp",
    "llvm/lib/Support/YAMLParser.cpp",
    "llvm/lib/Support/YAMLTraits.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}

swiftshader_source_set("swiftshader_llvm_transforms") {
  sources = [
    "llvm/lib/Transforms/Coroutines/CoroCleanup.cpp",
    "llvm/lib/Transforms/Coroutines/CoroEarly.cpp",
    "llvm/lib/Transforms/Coroutines/CoroElide.cpp",
    "llvm/lib/Transforms/Coroutines/CoroFrame.cpp",
    "llvm/lib/Transforms/Coroutines/CoroSplit.cpp",
    "llvm/lib/Transforms/Coroutines/Coroutines.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp",
    "llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp",
    "llvm/lib/Transforms/InstCombine/InstructionCombining.cpp",
    "llvm/lib/Transforms/IPO/BarrierNoopPass.cpp",
    "llvm/lib/Transforms/Scalar/ADCE.cpp",
    "llvm/lib/Transforms/Scalar/ConstantHoisting.cpp",
    "llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp",
    "llvm/lib/Transforms/Scalar/EarlyCSE.cpp",
    "llvm/lib/Transforms/Scalar/GVN.cpp",
    "llvm/lib/Transforms/Scalar/LICM.cpp",
    "llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp",
    "llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp",
    "llvm/lib/Transforms/Scalar/LowerAtomic.cpp",
    "llvm/lib/Transforms/Scalar/MergeICmps.cpp",
    "llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp",
    "llvm/lib/Transforms/Scalar/Reassociate.cpp",
    "llvm/lib/Transforms/Scalar/SCCP.cpp",
    "llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp",
    "llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp",
    "llvm/lib/Transforms/Scalar/SROA.cpp",
    "llvm/lib/Transforms/Utils/BasicBlockUtils.cpp",
    "llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp",
    "llvm/lib/Transforms/Utils/BuildLibCalls.cpp",
    "llvm/lib/Transforms/Utils/BypassSlowDivision.cpp",
    "llvm/lib/Transforms/Utils/CloneFunction.cpp",
    "llvm/lib/Transforms/Utils/DemoteRegToStack.cpp",
    "llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp",
    "llvm/lib/Transforms/Utils/EscapeEnumerator.cpp",
    "llvm/lib/Transforms/Utils/InlineFunction.cpp",
    "llvm/lib/Transforms/Utils/LCSSA.cpp",
    "llvm/lib/Transforms/Utils/Local.cpp",
    "llvm/lib/Transforms/Utils/LoopSimplify.cpp",
    "llvm/lib/Transforms/Utils/LoopUtils.cpp",
    "llvm/lib/Transforms/Utils/LowerInvoke.cpp",
    "llvm/lib/Transforms/Utils/OrderedInstructions.cpp",
    "llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp",
    "llvm/lib/Transforms/Utils/SimplifyCFG.cpp",
    "llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp",
    "llvm/lib/Transforms/Utils/SSAUpdater.cpp",
    "llvm/lib/Transforms/Utils/SymbolRewriter.cpp",
    "llvm/lib/Transforms/Utils/ValueMapper.cpp",
    "llvm/lib/Transforms/Utils/VNCoercion.cpp",
  ]

  configs = [ ":swiftshader_llvm_private_config" ]

  include_dirs = llvm_include_dirs
}
