# 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",
      "/wd4146",
      "/wd4245",
      "/wd4267",
      "/wd4310",
      "/wd4319",
      "/wd4334",
      "/wd4389",
      "/wd4624",
      "/wd4701",
      "/wd4702",
      "/wd4703",
      "/wd4706",
      "/wd4800",
    ]

    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-header-hygiene" ]
    if (target_cpu == "x86" || target_cpu == "x64") {
      cflags += [ "-msse2" ]
    }
  }

  cflags += [
    "-Wno-attributes",
    "-Wno-deprecated-declarations",
    "-Wno-enum-compare",
    "-Wno-unused-function",
    "-Wno-unused-local-typedef",
    "-Wno-unused-private-field",
    "-Wno-unused-result",
    "-Wno-unused-variable",
  ]

  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/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 (target_cpu == "x86" || target_cpu == "x64") {
    deps += [":swiftshader_llvm_x86"]
  } else if (target_cpu == "arm") {
    deps += [":swiftshader_llvm_arm"]
  } else if (target_cpu == "arm64") {
    deps += [":swiftshader_llvm_aarch64"]
  } else if (target_cpu == "mipsel" || target_cpu == "mips64el") {
    deps += [":swiftshader_llvm_mips"]
  } else if (target_cpu == "ppc64") {
    deps += [":swiftshader_llvm_ppc"]
  } else {
    assert(false, "Unsupported target_cpu")
  }

  if (target_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 && target_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/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
}
