Add BUILD.gn for llvm 16 Tested by building Chrome on linux with Subzero disabled. Required disabling HAVE_MALLINFO2 in config.h. Bug: b/272710814 Change-Id: If1e0fabba6cdf559178cc05c8a94498dcba46f43 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/71328 Reviewed-by: Ben Clayton <bclayton@google.com> Tested-by: Jean-François Geyelin <jif@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Commit-Queue: Jean-François Geyelin <jif@google.com>
diff --git a/third_party/llvm-16.0/BUILD.gn b/third_party/llvm-16.0/BUILD.gn new file mode 100644 index 0000000..8723cd2 --- /dev/null +++ b/third_party/llvm-16.0/BUILD.gn
@@ -0,0 +1,1683 @@ +# Copyright 2023 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. + +# File generated by ./generate_build_files.py + +import("../../src/swiftshader.gni") + +# Need a separate config to ensure the warnings are added to the end. +config("swiftshader_llvm_private_config") { + cflags = [ + "-DBLAKE3_NO_AVX512", + "-DBLAKE3_NO_AVX2", + "-DBLAKE3_NO_SSE41", + "-DBLAKE3_NO_SSE2", + "-DBLAKE3_USE_NEON=0", + ] + + if (is_win) { + cflags += [ + "/wd4005", + "/wd4018", + "/wd4065", + "/wd4141", + "/wd4146", + "/wd4244", + "/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) { + # Ignore #warning for unimplemented features in Process.inc. + cflags += [ "-Wno-cpp" ] + } + + if (is_clang) { + cflags += [ + "-Wno-attributes", + "-Wno-bitwise-instead-of-logical", + "-Wno-deprecated-anon-enum-enum-conversion", + "-Wno-deprecated-declarations", + "-Wno-deprecated-pragma", + "-Wno-deprecated-enum-enum-conversion", + "-Wno-enum-compare", + "-Wno-header-hygiene", + "-Wno-range-loop-bind-reference", + "-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/RISCV/", + "llvm/lib/Target/X86/", + "configs/common/include/", + "configs/common/lib/ExecutionEngine/JITLink/", + "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/RISCV/", + "configs/common/lib/Target/X86/", + "configs/common/lib/Transforms/InstCombine/", +] + +if (is_linux || is_chromeos) { + 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-10.0 not configured for target platform") +} + +template("swiftshader_llvm_source_set") { + swiftshader_source_set(target_name) { + configs = [ ":swiftshader_llvm_private_config" ] + include_dirs = llvm_include_dirs + + forward_variables_from(invoker, "*", [ "configs" ]) + if (defined(invoker.configs)) { + configs += invoker.configs + } + } +} + +swiftshader_llvm_source_set("swiftshader_llvm") { + # 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/MC/MCWasmObjectTargetWriter.cpp", + "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp", + "llvm/lib/Target/TargetIntrinsicInfo.cpp", + ] + } + + deps = [ + ":swiftshader_llvm_source_set_0", + ":swiftshader_llvm_source_set_1", + + ] + + if (current_cpu == "arm64") { + deps += [ ":swiftshader_llvm_aarch64" ] + } else if (current_cpu == "arm") { + deps += [ ":swiftshader_llvm_arm" ] + } else if (current_cpu == "mipsel" || current_cpu == "mips64el") { + deps += [ ":swiftshader_llvm_mips" ] + } else if (current_cpu == "ppc64") { + deps += [ ":swiftshader_llvm_ppc" ] + } else if (current_cpu == "riscv64") { + deps += [ ":swiftshader_llvm_riscv64" ] + } else if (current_cpu == "x86" || current_cpu == "x64") { + deps += [ ":swiftshader_llvm_x86" ] + } 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" ] + } +} + +# This source_set would contain all source files, except that GN doesn't allow for duplicate source +# file names, even if they are in different subdirectories. Because of this, some files are +# split out into their own source_set. +swiftshader_llvm_source_set("swiftshader_llvm_source_set_0") { + sources = [ + "llvm/lib/Analysis/AliasAnalysis.cpp", + "llvm/lib/Analysis/AliasAnalysisEvaluator.cpp", + "llvm/lib/Analysis/AliasSetTracker.cpp", + "llvm/lib/Analysis/AssumeBundleQueries.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/CFG.cpp", + "llvm/lib/Analysis/CFGPrinter.cpp", + "llvm/lib/Analysis/CFGSCCPrinter.cpp", + "llvm/lib/Analysis/CGSCCPassManager.cpp", + "llvm/lib/Analysis/CallGraph.cpp", + "llvm/lib/Analysis/CallGraphSCCPass.cpp", + "llvm/lib/Analysis/CallPrinter.cpp", + "llvm/lib/Analysis/CaptureTracking.cpp", + "llvm/lib/Analysis/CmpInstAnalysis.cpp", + "llvm/lib/Analysis/CodeMetrics.cpp", + "llvm/lib/Analysis/ConstantFolding.cpp", + "llvm/lib/Analysis/ConstraintSystem.cpp", + "llvm/lib/Analysis/CostModel.cpp", + "llvm/lib/Analysis/CycleAnalysis.cpp", + "llvm/lib/Analysis/DDG.cpp", + "llvm/lib/Analysis/DDGPrinter.cpp", + "llvm/lib/Analysis/Delinearization.cpp", + "llvm/lib/Analysis/DemandedBits.cpp", + "llvm/lib/Analysis/DependenceAnalysis.cpp", + "llvm/lib/Analysis/DependenceGraphBuilder.cpp", + "llvm/lib/Analysis/DivergenceAnalysis.cpp", + "llvm/lib/Analysis/DomTreeUpdater.cpp", + "llvm/lib/Analysis/DominanceFrontier.cpp", + "llvm/lib/Analysis/EHPersonalities.cpp", + "llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp", + "llvm/lib/Analysis/GlobalsModRef.cpp", + "llvm/lib/Analysis/GuardUtils.cpp", + "llvm/lib/Analysis/HeatUtils.cpp", + "llvm/lib/Analysis/IRSimilarityIdentifier.cpp", + "llvm/lib/Analysis/IVDescriptors.cpp", + "llvm/lib/Analysis/IVUsers.cpp", + "llvm/lib/Analysis/ImportedFunctionsInliningStatistics.cpp", + "llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp", + "llvm/lib/Analysis/InlineAdvisor.cpp", + "llvm/lib/Analysis/InlineCost.cpp", + "llvm/lib/Analysis/InlineOrder.cpp", + "llvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp", + "llvm/lib/Analysis/InstCount.cpp", + "llvm/lib/Analysis/InstructionPrecedenceTracking.cpp", + "llvm/lib/Analysis/InstructionSimplify.cpp", + "llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp", + "llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp", + "llvm/lib/Analysis/LazyCallGraph.cpp", + "llvm/lib/Analysis/LazyValueInfo.cpp", + "llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp", + "llvm/lib/Analysis/Lint.cpp", + "llvm/lib/Analysis/Loads.cpp", + "llvm/lib/Analysis/Local.cpp", + "llvm/lib/Analysis/LoopAccessAnalysis.cpp", + "llvm/lib/Analysis/LoopAnalysisManager.cpp", + "llvm/lib/Analysis/LoopCacheAnalysis.cpp", + "llvm/lib/Analysis/LoopInfo.cpp", + "llvm/lib/Analysis/LoopNestAnalysis.cpp", + "llvm/lib/Analysis/LoopPass.cpp", + "llvm/lib/Analysis/LoopUnrollAnalyzer.cpp", + "llvm/lib/Analysis/MemDerefPrinter.cpp", + "llvm/lib/Analysis/MemoryBuiltins.cpp", + "llvm/lib/Analysis/MemoryDependenceAnalysis.cpp", + "llvm/lib/Analysis/MemoryLocation.cpp", + "llvm/lib/Analysis/MemoryProfileInfo.cpp", + "llvm/lib/Analysis/MemorySSA.cpp", + "llvm/lib/Analysis/MemorySSAUpdater.cpp", + "llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp", + "llvm/lib/Analysis/ModuleSummaryAnalysis.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/OverflowInstAnalysis.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/RegionInfo.cpp", + "llvm/lib/Analysis/RegionPass.cpp", + "llvm/lib/Analysis/ReplayInlineAdvisor.cpp", + "llvm/lib/Analysis/ScalarEvolution.cpp", + "llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp", + "llvm/lib/Analysis/ScalarEvolutionDivision.cpp", + "llvm/lib/Analysis/ScalarEvolutionNormalization.cpp", + "llvm/lib/Analysis/ScopedNoAliasAA.cpp", + "llvm/lib/Analysis/StackLifetime.cpp", + "llvm/lib/Analysis/StackSafetyAnalysis.cpp", + "llvm/lib/Analysis/SyncDependenceAnalysis.cpp", + "llvm/lib/Analysis/SyntheticCountsUtils.cpp", + "llvm/lib/Analysis/TargetLibraryInfo.cpp", + "llvm/lib/Analysis/TargetTransformInfo.cpp", + "llvm/lib/Analysis/TensorSpec.cpp", + "llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp", + "llvm/lib/Analysis/TypeMetadataUtils.cpp", + "llvm/lib/Analysis/UniformityAnalysis.cpp", + "llvm/lib/Analysis/VFABIDemangling.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/COFF.cpp", + "llvm/lib/BinaryFormat/Dwarf.cpp", + "llvm/lib/BinaryFormat/MachO.cpp", + "llvm/lib/BinaryFormat/Magic.cpp", + "llvm/lib/BinaryFormat/Wasm.cpp", + "llvm/lib/BinaryFormat/XCOFF.cpp", + "llvm/lib/Bitcode/Reader/BitcodeReader.cpp", + "llvm/lib/Bitcode/Reader/MetadataLoader.cpp", + "llvm/lib/Bitcode/Reader/ValueList.cpp", + "llvm/lib/Bitcode/Writer/BitcodeWriter.cpp", + "llvm/lib/Bitcode/Writer/ValueEnumerator.cpp", + "llvm/lib/Bitstream/Reader/BitstreamReader.cpp", + "llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp", + "llvm/lib/CodeGen/AllocationOrder.cpp", + "llvm/lib/CodeGen/Analysis.cpp", + "llvm/lib/CodeGen/AsmPrinter/AIXException.cpp", + "llvm/lib/CodeGen/AsmPrinter/ARMException.cpp", + "llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp", + "llvm/lib/CodeGen/AsmPrinter/AddressPool.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/DIE.cpp", + "llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp", + "llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp", + "llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp", + "llvm/lib/CodeGen/AsmPrinter/DebugLocStream.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/PseudoProbePrinter.cpp", + "llvm/lib/CodeGen/AsmPrinter/WasmException.cpp", + "llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp", + "llvm/lib/CodeGen/AsmPrinter/WinException.cpp", + "llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp", + "llvm/lib/CodeGen/AtomicExpandPass.cpp", + "llvm/lib/CodeGen/BasicBlockSections.cpp", + "llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp", + "llvm/lib/CodeGen/BasicTargetTransformInfo.cpp", + "llvm/lib/CodeGen/BranchFolding.cpp", + "llvm/lib/CodeGen/BranchRelaxation.cpp", + "llvm/lib/CodeGen/BreakFalseDeps.cpp", + "llvm/lib/CodeGen/CFGuardLongjmp.cpp", + "llvm/lib/CodeGen/CFIFixup.cpp", + "llvm/lib/CodeGen/CFIInstrInserter.cpp", + "llvm/lib/CodeGen/CalcSpillWeights.cpp", + "llvm/lib/CodeGen/CallingConvLower.cpp", + "llvm/lib/CodeGen/CodeGen.cpp", + "llvm/lib/CodeGen/CodeGenCommonISel.cpp", + "llvm/lib/CodeGen/CodeGenPrepare.cpp", + "llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp", + "llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp", + "llvm/lib/CodeGen/DFAPacketizer.cpp", + "llvm/lib/CodeGen/DeadMachineInstructionElim.cpp", + "llvm/lib/CodeGen/DetectDeadLanes.cpp", + "llvm/lib/CodeGen/DwarfEHPrepare.cpp", + "llvm/lib/CodeGen/EHContGuardCatchret.cpp", + "llvm/lib/CodeGen/EarlyIfConversion.cpp", + "llvm/lib/CodeGen/EdgeBundles.cpp", + "llvm/lib/CodeGen/ExecutionDomainFix.cpp", + "llvm/lib/CodeGen/ExpandLargeDivRem.cpp", + "llvm/lib/CodeGen/ExpandLargeFpConvert.cpp", + "llvm/lib/CodeGen/ExpandMemCmp.cpp", + "llvm/lib/CodeGen/ExpandPostRAPseudos.cpp", + "llvm/lib/CodeGen/ExpandReductions.cpp", + "llvm/lib/CodeGen/ExpandVectorPredication.cpp", + "llvm/lib/CodeGen/FEntryInserter.cpp", + "llvm/lib/CodeGen/FaultMaps.cpp", + "llvm/lib/CodeGen/FinalizeISel.cpp", + "llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp", + "llvm/lib/CodeGen/FuncletLayout.cpp", + "llvm/lib/CodeGen/GCMetadata.cpp", + "llvm/lib/CodeGen/GCMetadataPrinter.cpp", + "llvm/lib/CodeGen/GCRootLowering.cpp", + "llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp", + "llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp", + "llvm/lib/CodeGen/GlobalISel/CallLowering.cpp", + "llvm/lib/CodeGen/GlobalISel/Combiner.cpp", + "llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp", + "llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp", + "llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp", + "llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp", + "llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp", + "llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp", + "llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp", + "llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp", + "llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.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/LoadStoreOpt.cpp", + "llvm/lib/CodeGen/GlobalISel/Localizer.cpp", + "llvm/lib/CodeGen/GlobalISel/LostDebugLocObserver.cpp", + "llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp", + "llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp", + "llvm/lib/CodeGen/GlobalISel/Utils.cpp", + "llvm/lib/CodeGen/GlobalMerge.cpp", + "llvm/lib/CodeGen/HardwareLoops.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/InterleavedLoadCombinePass.cpp", + "llvm/lib/CodeGen/IntrinsicLowering.cpp", + "llvm/lib/CodeGen/JMCInstrumenter.cpp", + "llvm/lib/CodeGen/LLVMTargetMachine.cpp", + "llvm/lib/CodeGen/LatencyPriorityQueue.cpp", + "llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp", + "llvm/lib/CodeGen/LexicalScopes.cpp", + "llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp", + "llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp", + "llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp", + "llvm/lib/CodeGen/LiveDebugVariables.cpp", + "llvm/lib/CodeGen/LiveInterval.cpp", + "llvm/lib/CodeGen/LiveIntervalCalc.cpp", + "llvm/lib/CodeGen/LiveIntervalUnion.cpp", + "llvm/lib/CodeGen/LiveIntervals.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/LocalStackSlotAllocation.cpp", + "llvm/lib/CodeGen/LoopTraversal.cpp", + "llvm/lib/CodeGen/LowLevelType.cpp", + "llvm/lib/CodeGen/LowerEmuTLS.cpp", + "llvm/lib/CodeGen/MBFIWrapper.cpp", + "llvm/lib/CodeGen/MIRCanonicalizerPass.cpp", + "llvm/lib/CodeGen/MIRFSDiscriminator.cpp", + "llvm/lib/CodeGen/MIRNamerPass.cpp", + "llvm/lib/CodeGen/MIRPrinter.cpp", + "llvm/lib/CodeGen/MIRPrintingPass.cpp", + "llvm/lib/CodeGen/MIRSampleProfile.cpp", + "llvm/lib/CodeGen/MIRVRegNamerUtils.cpp", + "llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp", + "llvm/lib/CodeGen/MachineBasicBlock.cpp", + "llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp", + "llvm/lib/CodeGen/MachineBlockPlacement.cpp", + "llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp", + "llvm/lib/CodeGen/MachineCFGPrinter.cpp", + "llvm/lib/CodeGen/MachineCSE.cpp", + "llvm/lib/CodeGen/MachineCheckDebugify.cpp", + "llvm/lib/CodeGen/MachineCombiner.cpp", + "llvm/lib/CodeGen/MachineCopyPropagation.cpp", + "llvm/lib/CodeGen/MachineCycleAnalysis.cpp", + "llvm/lib/CodeGen/MachineDebugify.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/MachineFunctionSplitter.cpp", + "llvm/lib/CodeGen/MachineInstr.cpp", + "llvm/lib/CodeGen/MachineInstrBundle.cpp", + "llvm/lib/CodeGen/MachineLICM.cpp", + "llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp", + "llvm/lib/CodeGen/MachineLoopInfo.cpp", + "llvm/lib/CodeGen/MachineLoopUtils.cpp", + "llvm/lib/CodeGen/MachineModuleInfo.cpp", + "llvm/lib/CodeGen/MachineModuleInfoImpls.cpp", + "llvm/lib/CodeGen/MachineModuleSlotTracker.cpp", + "llvm/lib/CodeGen/MachineOperand.cpp", + "llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp", + "llvm/lib/CodeGen/MachineOutliner.cpp", + "llvm/lib/CodeGen/MachinePipeliner.cpp", + "llvm/lib/CodeGen/MachinePostDominators.cpp", + "llvm/lib/CodeGen/MachineRegionInfo.cpp", + "llvm/lib/CodeGen/MachineRegisterInfo.cpp", + "llvm/lib/CodeGen/MachineSSAContext.cpp", + "llvm/lib/CodeGen/MachineSSAUpdater.cpp", + "llvm/lib/CodeGen/MachineScheduler.cpp", + "llvm/lib/CodeGen/MachineSink.cpp", + "llvm/lib/CodeGen/MachineSizeOpts.cpp", + "llvm/lib/CodeGen/MachineStableHash.cpp", + "llvm/lib/CodeGen/MachineStripDebug.cpp", + "llvm/lib/CodeGen/MachineTraceMetrics.cpp", + "llvm/lib/CodeGen/MachineUniformityAnalysis.cpp", + "llvm/lib/CodeGen/MachineVerifier.cpp", + "llvm/lib/CodeGen/MacroFusion.cpp", + "llvm/lib/CodeGen/ModuloSchedule.cpp", + "llvm/lib/CodeGen/OptimizePHIs.cpp", + "llvm/lib/CodeGen/PHIElimination.cpp", + "llvm/lib/CodeGen/PHIEliminationUtils.cpp", + "llvm/lib/CodeGen/PatchableFunction.cpp", + "llvm/lib/CodeGen/PeepholeOptimizer.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/PseudoProbeInserter.cpp", + "llvm/lib/CodeGen/PseudoSourceValue.cpp", + "llvm/lib/CodeGen/RDFGraph.cpp", + "llvm/lib/CodeGen/RDFLiveness.cpp", + "llvm/lib/CodeGen/RDFRegisters.cpp", + "llvm/lib/CodeGen/ReachingDefAnalysis.cpp", + "llvm/lib/CodeGen/RegAllocBase.cpp", + "llvm/lib/CodeGen/RegAllocBasic.cpp", + "llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp", + "llvm/lib/CodeGen/RegAllocFast.cpp", + "llvm/lib/CodeGen/RegAllocGreedy.cpp", + "llvm/lib/CodeGen/RegAllocPBQP.cpp", + "llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp", + "llvm/lib/CodeGen/RegUsageInfoCollector.cpp", + "llvm/lib/CodeGen/RegUsageInfoPropagate.cpp", + "llvm/lib/CodeGen/RegisterBank.cpp", + "llvm/lib/CodeGen/RegisterBankInfo.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/RemoveRedundantDebugValues.cpp", + "llvm/lib/CodeGen/RenameIndependentSubregs.cpp", + "llvm/lib/CodeGen/ReplaceWithVeclib.cpp", + "llvm/lib/CodeGen/ResetMachineFunctionPass.cpp", + "llvm/lib/CodeGen/SafeStack.cpp", + "llvm/lib/CodeGen/SafeStackLayout.cpp", + "llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp", + "llvm/lib/CodeGen/ScheduleDAG.cpp", + "llvm/lib/CodeGen/ScheduleDAGInstrs.cpp", + "llvm/lib/CodeGen/ScheduleDAGPrinter.cpp", + "llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp", + "llvm/lib/CodeGen/SelectOptimize.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/ScheduleDAGFast.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/StackFrameLayoutAnalysisPass.cpp", + "llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp", + "llvm/lib/CodeGen/StackMaps.cpp", + "llvm/lib/CodeGen/StackProtector.cpp", + "llvm/lib/CodeGen/StackSlotColoring.cpp", + "llvm/lib/CodeGen/SwiftErrorValueTracking.cpp", + "llvm/lib/CodeGen/SwitchLoweringUtils.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/TypePromotion.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", + "llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp", + "llvm/lib/DebugInfo/CodeView/CodeViewError.cpp", + "llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp", + "llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp", + "llvm/lib/DebugInfo/CodeView/EnumTables.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/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/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFContext.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFDie.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp", + "llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp", + "llvm/lib/Demangle/DLangDemangle.cpp", + "llvm/lib/Demangle/Demangle.cpp", + "llvm/lib/Demangle/ItaniumDemangle.cpp", + "llvm/lib/Demangle/MicrosoftDemangle.cpp", + "llvm/lib/Demangle/MicrosoftDemangleNodes.cpp", + "llvm/lib/Demangle/RustDemangle.cpp", + "llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp", + "llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp", + "llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp", + "llvm/lib/ExecutionEngine/JITLink/DWARFRecordSectionSplitter.cpp", + "llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp", + "llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp", + "llvm/lib/ExecutionEngine/JITLink/JITLink.cpp", + "llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp", + "llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp", + "llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp", + "llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp", + "llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp", + "llvm/lib/ExecutionEngine/JITLink/aarch64.cpp", + "llvm/lib/ExecutionEngine/JITLink/i386.cpp", + "llvm/lib/ExecutionEngine/JITLink/loongarch.cpp", + "llvm/lib/ExecutionEngine/JITLink/riscv.cpp", + "llvm/lib/ExecutionEngine/JITLink/x86_64.cpp", + "llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp", + "llvm/lib/ExecutionEngine/Orc/Core.cpp", + "llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp", + "llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp", + "llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp", + "llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp", + "llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp", + "llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp", + "llvm/lib/ExecutionEngine/Orc/Layer.cpp", + "llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp", + "llvm/lib/ExecutionEngine/Orc/Mangling.cpp", + "llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp", + "llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp", + "llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp", + "llvm/lib/ExecutionEngine/Orc/Shared/AllocationActions.cpp", + "llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp", + "llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp", + "llvm/lib/ExecutionEngine/Orc/TargetProcess/TargetExecutionUtils.cpp", + "llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp", + "llvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp", + "llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp", + "llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp", + "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.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/Frontend/OpenMP/OMPIRBuilder.cpp", + "llvm/lib/IR/AbstractCallSite.cpp", + "llvm/lib/IR/AsmWriter.cpp", + "llvm/lib/IR/Assumptions.cpp", + "llvm/lib/IR/Attributes.cpp", + "llvm/lib/IR/AutoUpgrade.cpp", + "llvm/lib/IR/BasicBlock.cpp", + "llvm/lib/IR/BuiltinGCs.cpp", + "llvm/lib/IR/Comdat.cpp", + "llvm/lib/IR/ConstantFold.cpp", + "llvm/lib/IR/ConstantRange.cpp", + "llvm/lib/IR/Constants.cpp", + "llvm/lib/IR/DIBuilder.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/Dominators.cpp", + "llvm/lib/IR/FPEnv.cpp", + "llvm/lib/IR/Function.cpp", + "llvm/lib/IR/GCStrategy.cpp", + "llvm/lib/IR/GVMaterializer.cpp", + "llvm/lib/IR/Globals.cpp", + "llvm/lib/IR/IRBuilder.cpp", + "llvm/lib/IR/IRPrintingPasses.cpp", + "llvm/lib/IR/InlineAsm.cpp", + "llvm/lib/IR/Instruction.cpp", + "llvm/lib/IR/Instructions.cpp", + "llvm/lib/IR/IntrinsicInst.cpp", + "llvm/lib/IR/LLVMContext.cpp", + "llvm/lib/IR/LLVMContextImpl.cpp", + "llvm/lib/IR/LLVMRemarkStreamer.cpp", + "llvm/lib/IR/LegacyPassManager.cpp", + "llvm/lib/IR/MDBuilder.cpp", + "llvm/lib/IR/Mangler.cpp", + "llvm/lib/IR/Metadata.cpp", + "llvm/lib/IR/Module.cpp", + "llvm/lib/IR/ModuleSummaryIndex.cpp", + "llvm/lib/IR/Operator.cpp", + "llvm/lib/IR/OptBisect.cpp", + "llvm/lib/IR/Pass.cpp", + "llvm/lib/IR/PassInstrumentation.cpp", + "llvm/lib/IR/PassManager.cpp", + "llvm/lib/IR/PassRegistry.cpp", + "llvm/lib/IR/PassTimingInfo.cpp", + "llvm/lib/IR/PrintPasses.cpp", + "llvm/lib/IR/ProfDataUtils.cpp", + "llvm/lib/IR/ProfileSummary.cpp", + "llvm/lib/IR/PseudoProbe.cpp", + "llvm/lib/IR/SSAContext.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", + "llvm/lib/IRReader/IRReader.cpp", + "llvm/lib/Linker/IRMover.cpp", + "llvm/lib/MC/ELFObjectWriter.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/MCCodeView.cpp", + "llvm/lib/MC/MCContext.cpp", + "llvm/lib/MC/MCDXContainerStreamer.cpp", + "llvm/lib/MC/MCDXContainerWriter.cpp", + "llvm/lib/MC/MCDisassembler/MCRelocationInfo.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/MCMachOStreamer.cpp", + "llvm/lib/MC/MCMachObjectTargetWriter.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/GOFFAsmParser.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/MCParser/WasmAsmParser.cpp", + "llvm/lib/MC/MCParser/XCOFFAsmParser.cpp", + "llvm/lib/MC/MCPseudoProbe.cpp", + "llvm/lib/MC/MCRegisterInfo.cpp", + "llvm/lib/MC/MCSPIRVStreamer.cpp", + "llvm/lib/MC/MCSchedule.cpp", + "llvm/lib/MC/MCSection.cpp", + "llvm/lib/MC/MCSectionCOFF.cpp", + "llvm/lib/MC/MCSectionDXContainer.cpp", + "llvm/lib/MC/MCSectionELF.cpp", + "llvm/lib/MC/MCSectionMachO.cpp", + "llvm/lib/MC/MCSectionWasm.cpp", + "llvm/lib/MC/MCSectionXCOFF.cpp", + "llvm/lib/MC/MCStreamer.cpp", + "llvm/lib/MC/MCSubtargetInfo.cpp", + "llvm/lib/MC/MCSymbol.cpp", + "llvm/lib/MC/MCSymbolELF.cpp", + "llvm/lib/MC/MCSymbolXCOFF.cpp", + "llvm/lib/MC/MCTargetOptions.cpp", + "llvm/lib/MC/MCValue.cpp", + "llvm/lib/MC/MCWasmStreamer.cpp", + "llvm/lib/MC/MCWin64EH.cpp", + "llvm/lib/MC/MCWinCOFFStreamer.cpp", + "llvm/lib/MC/MCWinEH.cpp", + "llvm/lib/MC/MCXCOFFStreamer.cpp", + "llvm/lib/MC/MachObjectWriter.cpp", + "llvm/lib/MC/SPIRVObjectWriter.cpp", + "llvm/lib/MC/StringTableBuilder.cpp", + "llvm/lib/MC/SubtargetFeature.cpp", + "llvm/lib/MC/TargetRegistry.cpp", + "llvm/lib/MC/WasmObjectWriter.cpp", + "llvm/lib/MC/WinCOFFObjectWriter.cpp", + "llvm/lib/MC/XCOFFObjectWriter.cpp", + "llvm/lib/Object/Archive.cpp", + "llvm/lib/Object/Binary.cpp", + "llvm/lib/Object/COFFObjectFile.cpp", + "llvm/lib/Object/Decompressor.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/Minidump.cpp", + "llvm/lib/Object/ModuleSymbolTable.cpp", + "llvm/lib/Object/ObjectFile.cpp", + "llvm/lib/Object/OffloadBinary.cpp", + "llvm/lib/Object/RecordStreamer.cpp", + "llvm/lib/Object/RelocationResolver.cpp", + "llvm/lib/Object/SymbolicFile.cpp", + "llvm/lib/Object/TapiFile.cpp", + "llvm/lib/Object/TapiUniversal.cpp", + "llvm/lib/Object/WasmObjectFile.cpp", + "llvm/lib/Object/WindowsResource.cpp", + "llvm/lib/Object/XCOFFObjectFile.cpp", + "llvm/lib/Option/Arg.cpp", + "llvm/lib/Option/ArgList.cpp", + "llvm/lib/Option/OptTable.cpp", + "llvm/lib/Option/Option.cpp", + "llvm/lib/Passes/OptimizationLevel.cpp", + "llvm/lib/Passes/PassBuilder.cpp", + "llvm/lib/Passes/PassBuilderPipelines.cpp", + "llvm/lib/ProfileData/InstrProf.cpp", + "llvm/lib/ProfileData/InstrProfCorrelator.cpp", + "llvm/lib/ProfileData/InstrProfReader.cpp", + "llvm/lib/ProfileData/MemProf.cpp", + "llvm/lib/ProfileData/ProfileSummaryBuilder.cpp", + "llvm/lib/ProfileData/SampleProf.cpp", + "llvm/lib/ProfileData/SampleProfReader.cpp", + "llvm/lib/Remarks/BitstreamRemarkParser.cpp", + "llvm/lib/Remarks/BitstreamRemarkSerializer.cpp", + "llvm/lib/Remarks/RemarkFormat.cpp", + "llvm/lib/Remarks/RemarkParser.cpp", + "llvm/lib/Remarks/RemarkSerializer.cpp", + "llvm/lib/Remarks/RemarkStreamer.cpp", + "llvm/lib/Remarks/RemarkStringTable.cpp", + "llvm/lib/Remarks/YAMLRemarkParser.cpp", + "llvm/lib/Remarks/YAMLRemarkSerializer.cpp", + "llvm/lib/Support/ABIBreak.cpp", + "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/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/CRC.cpp", + "llvm/lib/Support/Chrono.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/CrashRecoveryContext.cpp", + "llvm/lib/Support/DJB.cpp", + "llvm/lib/Support/DataExtractor.cpp", + "llvm/lib/Support/Debug.cpp", + "llvm/lib/Support/DebugCounter.cpp", + "llvm/lib/Support/DivisionByConstantInfo.cpp", + "llvm/lib/Support/DynamicLibrary.cpp", + "llvm/lib/Support/ELFAttributeParser.cpp", + "llvm/lib/Support/ELFAttributes.cpp", + "llvm/lib/Support/Errno.cpp", + "llvm/lib/Support/ErrorHandling.cpp", + "llvm/lib/Support/ExtensibleRTTI.cpp", + "llvm/lib/Support/FoldingSet.cpp", + "llvm/lib/Support/FormatVariadic.cpp", + "llvm/lib/Support/FormattedStream.cpp", + "llvm/lib/Support/GlobPattern.cpp", + "llvm/lib/Support/GraphWriter.cpp", + "llvm/lib/Support/Hashing.cpp", + "llvm/lib/Support/InstructionCost.cpp", + "llvm/lib/Support/IntEqClasses.cpp", + "llvm/lib/Support/IntervalMap.cpp", + "llvm/lib/Support/ItaniumManglingCanonicalizer.cpp", + "llvm/lib/Support/JSON.cpp", + "llvm/lib/Support/KnownBits.cpp", + "llvm/lib/Support/LEB128.cpp", + "llvm/lib/Support/LineIterator.cpp", + "llvm/lib/Support/Locale.cpp", + "llvm/lib/Support/MD5.cpp", + "llvm/lib/Support/ManagedStatic.cpp", + "llvm/lib/Support/MathExtras.cpp", + "llvm/lib/Support/MemAlloc.cpp", + "llvm/lib/Support/Memory.cpp", + "llvm/lib/Support/MemoryBuffer.cpp", + "llvm/lib/Support/MemoryBufferRef.cpp", + "llvm/lib/Support/NativeFormatting.cpp", + "llvm/lib/Support/OptimizedStructLayout.cpp", + "llvm/lib/Support/Optional.cpp", + "llvm/lib/Support/Path.cpp", + "llvm/lib/Support/PrettyStackTrace.cpp", + "llvm/lib/Support/Process.cpp", + "llvm/lib/Support/Program.cpp", + "llvm/lib/Support/RISCVAttributeParser.cpp", + "llvm/lib/Support/RISCVAttributes.cpp", + "llvm/lib/Support/RISCVISAInfo.cpp", + "llvm/lib/Support/RandomNumberGenerator.cpp", + "llvm/lib/Support/Regex.cpp", + "llvm/lib/Support/SHA1.cpp", + "llvm/lib/Support/ScaledNumber.cpp", + "llvm/lib/Support/ScopedPrinter.cpp", + "llvm/lib/Support/Signals.cpp", + "llvm/lib/Support/Signposts.cpp", + "llvm/lib/Support/SmallPtrSet.cpp", + "llvm/lib/Support/SmallVector.cpp", + "llvm/lib/Support/SourceMgr.cpp", + "llvm/lib/Support/SpecialCaseList.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/SuffixTree.cpp", + "llvm/lib/Support/SymbolRemappingReader.cpp", + "llvm/lib/Support/Threading.cpp", + "llvm/lib/Support/TimeProfiler.cpp", + "llvm/lib/Support/Timer.cpp", + "llvm/lib/Support/ToolOutputFile.cpp", + "llvm/lib/Support/TrigramIndex.cpp", + "llvm/lib/Support/Twine.cpp", + "llvm/lib/Support/TypeSize.cpp", + "llvm/lib/Support/Unicode.cpp", + "llvm/lib/Support/UnicodeCaseFold.cpp", + "llvm/lib/Support/Valgrind.cpp", + "llvm/lib/Support/VersionTuple.cpp", + "llvm/lib/Support/VirtualFileSystem.cpp", + "llvm/lib/Support/WithColor.cpp", + "llvm/lib/Support/YAMLParser.cpp", + "llvm/lib/Support/YAMLTraits.cpp", + "llvm/lib/Support/circular_raw_ostream.cpp", + "llvm/lib/Support/raw_ostream.cpp", + "llvm/lib/Support/regcomp.c", + "llvm/lib/Support/regerror.c", + "llvm/lib/Support/regexec.c", + "llvm/lib/Support/regfree.c", + "llvm/lib/Support/regstrlcpy.c", + "llvm/lib/Support/xxhash.cpp", + "llvm/lib/TargetParser/AArch64TargetParser.cpp", + "llvm/lib/TargetParser/ARMTargetParser.cpp", + "llvm/lib/TargetParser/ARMTargetParserCommon.cpp", + "llvm/lib/TargetParser/Host.cpp", + "llvm/lib/TargetParser/Triple.cpp", + "llvm/lib/TextAPI/Architecture.cpp", + "llvm/lib/TextAPI/ArchitectureSet.cpp", + "llvm/lib/TextAPI/InterfaceFile.cpp", + "llvm/lib/TextAPI/PackedVersion.cpp", + "llvm/lib/TextAPI/Platform.cpp", + "llvm/lib/TextAPI/Target.cpp", + "llvm/lib/TextAPI/TextStub.cpp", + "llvm/lib/TextAPI/TextStubCommon.cpp", + "llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp", + "llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp", + "llvm/lib/Transforms/CFGuard/CFGuard.cpp", + "llvm/lib/Transforms/Coroutines/CoroCleanup.cpp", + "llvm/lib/Transforms/Coroutines/CoroConditionalWrapper.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/IPO/AlwaysInliner.cpp", + "llvm/lib/Transforms/IPO/Annotation2Metadata.cpp", + "llvm/lib/Transforms/IPO/ArgumentPromotion.cpp", + "llvm/lib/Transforms/IPO/Attributor.cpp", + "llvm/lib/Transforms/IPO/AttributorAttributes.cpp", + "llvm/lib/Transforms/IPO/BlockExtractor.cpp", + "llvm/lib/Transforms/IPO/CalledValuePropagation.cpp", + "llvm/lib/Transforms/IPO/ConstantMerge.cpp", + "llvm/lib/Transforms/IPO/CrossDSOCFI.cpp", + "llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp", + "llvm/lib/Transforms/IPO/ElimAvailExtern.cpp", + "llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp", + "llvm/lib/Transforms/IPO/FunctionAttrs.cpp", + "llvm/lib/Transforms/IPO/FunctionImport.cpp", + "llvm/lib/Transforms/IPO/FunctionSpecialization.cpp", + "llvm/lib/Transforms/IPO/GlobalDCE.cpp", + "llvm/lib/Transforms/IPO/GlobalOpt.cpp", + "llvm/lib/Transforms/IPO/GlobalSplit.cpp", + "llvm/lib/Transforms/IPO/HotColdSplitting.cpp", + "llvm/lib/Transforms/IPO/IROutliner.cpp", + "llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp", + "llvm/lib/Transforms/IPO/Inliner.cpp", + "llvm/lib/Transforms/IPO/Internalize.cpp", + "llvm/lib/Transforms/IPO/LoopExtractor.cpp", + "llvm/lib/Transforms/IPO/LowerTypeTests.cpp", + "llvm/lib/Transforms/IPO/MergeFunctions.cpp", + "llvm/lib/Transforms/IPO/ModuleInliner.cpp", + "llvm/lib/Transforms/IPO/OpenMPOpt.cpp", + "llvm/lib/Transforms/IPO/PartialInlining.cpp", + "llvm/lib/Transforms/IPO/SCCP.cpp", + "llvm/lib/Transforms/IPO/SampleContextTracker.cpp", + "llvm/lib/Transforms/IPO/SampleProfile.cpp", + "llvm/lib/Transforms/IPO/SampleProfileProbe.cpp", + "llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp", + "llvm/lib/Transforms/IPO/StripSymbols.cpp", + "llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp", + "llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp", + "llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp", + "llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp", + "llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.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/InstCombineNegator.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/Instrumentation/AddressSanitizer.cpp", + "llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp", + "llvm/lib/Transforms/Instrumentation/CGProfile.cpp", + "llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp", + "llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp", + "llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp", + "llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp", + "llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp", + "llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp", + "llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp", + "llvm/lib/Transforms/Instrumentation/Instrumentation.cpp", + "llvm/lib/Transforms/Instrumentation/KCFI.cpp", + "llvm/lib/Transforms/Instrumentation/MemProfiler.cpp", + "llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp", + "llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp", + "llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp", + "llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp", + "llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp", + "llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp", + "llvm/lib/Transforms/Instrumentation/ValueProfileCollector.cpp", + "llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp", + "llvm/lib/Transforms/ObjCARC/ObjCARC.cpp", + "llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp", + "llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp", + "llvm/lib/Transforms/ObjCARC/ObjCARCExpand.cpp", + "llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp", + "llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp", + "llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp", + "llvm/lib/Transforms/ObjCARC/PtrState.cpp", + "llvm/lib/Transforms/Scalar/ADCE.cpp", + "llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp", + "llvm/lib/Transforms/Scalar/AnnotationRemarks.cpp", + "llvm/lib/Transforms/Scalar/BDCE.cpp", + "llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp", + "llvm/lib/Transforms/Scalar/ConstantHoisting.cpp", + "llvm/lib/Transforms/Scalar/ConstraintElimination.cpp", + "llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp", + "llvm/lib/Transforms/Scalar/DCE.cpp", + "llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp", + "llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp", + "llvm/lib/Transforms/Scalar/DivRemPairs.cpp", + "llvm/lib/Transforms/Scalar/EarlyCSE.cpp", + "llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp", + "llvm/lib/Transforms/Scalar/Float2Int.cpp", + "llvm/lib/Transforms/Scalar/GVN.cpp", + "llvm/lib/Transforms/Scalar/GVNHoist.cpp", + "llvm/lib/Transforms/Scalar/GVNSink.cpp", + "llvm/lib/Transforms/Scalar/GuardWidening.cpp", + "llvm/lib/Transforms/Scalar/IVUsersPrinter.cpp", + "llvm/lib/Transforms/Scalar/IndVarSimplify.cpp", + "llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp", + "llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp", + "llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp", + "llvm/lib/Transforms/Scalar/JumpThreading.cpp", + "llvm/lib/Transforms/Scalar/LICM.cpp", + "llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp", + "llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp", + "llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp", + "llvm/lib/Transforms/Scalar/LoopDeletion.cpp", + "llvm/lib/Transforms/Scalar/LoopDistribute.cpp", + "llvm/lib/Transforms/Scalar/LoopFlatten.cpp", + "llvm/lib/Transforms/Scalar/LoopFuse.cpp", + "llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp", + "llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp", + "llvm/lib/Transforms/Scalar/LoopInterchange.cpp", + "llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp", + "llvm/lib/Transforms/Scalar/LoopPassManager.cpp", + "llvm/lib/Transforms/Scalar/LoopPredication.cpp", + "llvm/lib/Transforms/Scalar/LoopRerollPass.cpp", + "llvm/lib/Transforms/Scalar/LoopRotation.cpp", + "llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp", + "llvm/lib/Transforms/Scalar/LoopSink.cpp", + "llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp", + "llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp", + "llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp", + "llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp", + "llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp", + "llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp", + "llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp", + "llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp", + "llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp", + "llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp", + "llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp", + "llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp", + "llvm/lib/Transforms/Scalar/MergeICmps.cpp", + "llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp", + "llvm/lib/Transforms/Scalar/NaryReassociate.cpp", + "llvm/lib/Transforms/Scalar/NewGVN.cpp", + "llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp", + "llvm/lib/Transforms/Scalar/Reassociate.cpp", + "llvm/lib/Transforms/Scalar/Reg2Mem.cpp", + "llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp", + "llvm/lib/Transforms/Scalar/SROA.cpp", + "llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp", + "llvm/lib/Transforms/Scalar/Scalarizer.cpp", + "llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp", + "llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp", + "llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp", + "llvm/lib/Transforms/Scalar/Sink.cpp", + "llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp", + "llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp", + "llvm/lib/Transforms/Scalar/StructurizeCFG.cpp", + "llvm/lib/Transforms/Scalar/TLSVariableHoist.cpp", + "llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp", + "llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp", + "llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp", + "llvm/lib/Transforms/Utils/AddDiscriminators.cpp", + "llvm/lib/Transforms/Utils/AssumeBundleBuilder.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/CallGraphUpdater.cpp", + "llvm/lib/Transforms/Utils/CallPromotionUtils.cpp", + "llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp", + "llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp", + "llvm/lib/Transforms/Utils/CloneFunction.cpp", + "llvm/lib/Transforms/Utils/CloneModule.cpp", + "llvm/lib/Transforms/Utils/CodeExtractor.cpp", + "llvm/lib/Transforms/Utils/CodeLayout.cpp", + "llvm/lib/Transforms/Utils/CodeMoverUtils.cpp", + "llvm/lib/Transforms/Utils/CtorUtils.cpp", + "llvm/lib/Transforms/Utils/Debugify.cpp", + "llvm/lib/Transforms/Utils/DemoteRegToStack.cpp", + "llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp", + "llvm/lib/Transforms/Utils/EscapeEnumerator.cpp", + "llvm/lib/Transforms/Utils/Evaluator.cpp", + "llvm/lib/Transforms/Utils/FixIrreducible.cpp", + "llvm/lib/Transforms/Utils/FlattenCFG.cpp", + "llvm/lib/Transforms/Utils/FunctionComparator.cpp", + "llvm/lib/Transforms/Utils/FunctionImportUtils.cpp", + "llvm/lib/Transforms/Utils/GlobalStatus.cpp", + "llvm/lib/Transforms/Utils/HelloWorld.cpp", + "llvm/lib/Transforms/Utils/InjectTLIMappings.cpp", + "llvm/lib/Transforms/Utils/InlineFunction.cpp", + "llvm/lib/Transforms/Utils/InstructionNamer.cpp", + "llvm/lib/Transforms/Utils/IntegerDivision.cpp", + "llvm/lib/Transforms/Utils/LCSSA.cpp", + "llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp", + "llvm/lib/Transforms/Utils/LoopPeel.cpp", + "llvm/lib/Transforms/Utils/LoopRotationUtils.cpp", + "llvm/lib/Transforms/Utils/LoopSimplify.cpp", + "llvm/lib/Transforms/Utils/LoopUnroll.cpp", + "llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp", + "llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp", + "llvm/lib/Transforms/Utils/LoopUtils.cpp", + "llvm/lib/Transforms/Utils/LoopVersioning.cpp", + "llvm/lib/Transforms/Utils/LowerAtomic.cpp", + "llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp", + "llvm/lib/Transforms/Utils/LowerIFunc.cpp", + "llvm/lib/Transforms/Utils/LowerInvoke.cpp", + "llvm/lib/Transforms/Utils/LowerSwitch.cpp", + "llvm/lib/Transforms/Utils/MatrixUtils.cpp", + "llvm/lib/Transforms/Utils/Mem2Reg.cpp", + "llvm/lib/Transforms/Utils/MemoryOpRemark.cpp", + "llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp", + "llvm/lib/Transforms/Utils/MetaRenamer.cpp", + "llvm/lib/Transforms/Utils/MisExpect.cpp", + "llvm/lib/Transforms/Utils/ModuleUtils.cpp", + "llvm/lib/Transforms/Utils/NameAnonGlobals.cpp", + "llvm/lib/Transforms/Utils/PredicateInfo.cpp", + "llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp", + "llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp", + "llvm/lib/Transforms/Utils/SCCPSolver.cpp", + "llvm/lib/Transforms/Utils/SSAUpdater.cpp", + "llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp", + "llvm/lib/Transforms/Utils/SampleProfileInference.cpp", + "llvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp", + "llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp", + "llvm/lib/Transforms/Utils/SimplifyCFG.cpp", + "llvm/lib/Transforms/Utils/SimplifyIndVar.cpp", + "llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp", + "llvm/lib/Transforms/Utils/SizeOpts.cpp", + "llvm/lib/Transforms/Utils/StripGCRelocates.cpp", + "llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp", + "llvm/lib/Transforms/Utils/SymbolRewriter.cpp", + "llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp", + "llvm/lib/Transforms/Utils/UnifyLoopExits.cpp", + "llvm/lib/Transforms/Utils/VNCoercion.cpp", + "llvm/lib/Transforms/Utils/ValueMapper.cpp", + "llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp", + "llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp", + "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp", + "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp", + "llvm/lib/Transforms/Vectorize/VPlan.cpp", + "llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp", + "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp", + "llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp", + "llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp", + "llvm/lib/Transforms/Vectorize/VectorCombine.cpp", + "llvm/lib/Target/TargetLoweringObjectFile.cpp", + "llvm/lib/Target/TargetMachine.cpp", + "llvm/lib/Support/BLAKE3/blake3.c", + "llvm/lib/Support/BLAKE3/blake3_dispatch.c", + "llvm/lib/Support/BLAKE3/blake3_portable.c", + ] +} +swiftshader_llvm_source_set("swiftshader_llvm_source_set_1") { + sources = [ + "llvm/lib/ExecutionEngine/JITLink/COFF.cpp", + "llvm/lib/ExecutionEngine/JITLink/MachO.cpp", + "llvm/lib/IRPrinter/IRPrintingPasses.cpp", + "llvm/lib/Object/ELF.cpp", + "llvm/lib/Support/Error.cpp", + "llvm/lib/Support/LowLevelType.cpp", + "llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp", + "llvm/lib/Transforms/Scalar/SCCP.cpp", + "llvm/lib/Transforms/Utils/GuardUtils.cpp", + "llvm/lib/Transforms/Utils/Local.cpp", + ] +} + + +swiftshader_llvm_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/AArch64BranchTargets.cpp", + "llvm/lib/Target/AArch64/AArch64CallingConvention.cpp", + "llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp", + "llvm/lib/Target/AArch64/AArch64CollectLOH.cpp", + "llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp", + "llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp", + "llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp", + "llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp", + "llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp", + "llvm/lib/Target/AArch64/AArch64ExpandImm.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/AArch64ISelDAGToDAG.cpp", + "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp", + "llvm/lib/Target/AArch64/AArch64InstrInfo.cpp", + "llvm/lib/Target/AArch64/AArch64KCFI.cpp", + "llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp", + "llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp", + "llvm/lib/Target/AArch64/AArch64MCInstLower.cpp", + "llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp", + "llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp", + "llvm/lib/Target/AArch64/AArch64MachineScheduler.cpp", + "llvm/lib/Target/AArch64/AArch64MacroFusion.cpp", + "llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp", + "llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp", + "llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp", + "llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp", + "llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp", + "llvm/lib/Target/AArch64/AArch64SLSHardening.cpp", + "llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp", + "llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp", + "llvm/lib/Target/AArch64/AArch64StackTagging.cpp", + "llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.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/GISel/AArch64CallLowering.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp", + "llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.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/AArch64InstPrinter.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/AArch64MachObjectWriter.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/SMEABIPass.cpp", + "llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp", + "llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp", + "llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp", + "llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp", + ] +} + +swiftshader_llvm_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/ARMBasicBlockInfo.cpp", + "llvm/lib/Target/ARM/ARMBlockPlacement.cpp", + "llvm/lib/Target/ARM/ARMBranchTargets.cpp", + "llvm/lib/Target/ARM/ARMCallLowering.cpp", + "llvm/lib/Target/ARM/ARMCallingConv.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/ARMFixCortexA57AES1742098Pass.cpp", + "llvm/lib/Target/ARM/ARMFrameLowering.cpp", + "llvm/lib/Target/ARM/ARMHazardRecognizer.cpp", + "llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp", + "llvm/lib/Target/ARM/ARMISelLowering.cpp", + "llvm/lib/Target/ARM/ARMInstrInfo.cpp", + "llvm/lib/Target/ARM/ARMInstructionSelector.cpp", + "llvm/lib/Target/ARM/ARMLegalizerInfo.cpp", + "llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp", + "llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp", + "llvm/lib/Target/ARM/ARMMCInstLower.cpp", + "llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp", + "llvm/lib/Target/ARM/ARMMacroFusion.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/ARMSLSHardening.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/MCTargetDesc/ARMAsmBackend.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.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/ARMMachORelocationInfo.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.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/MVEGatherScatterLowering.cpp", + "llvm/lib/Target/ARM/MVELaneInterleavingPass.cpp", + "llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp", + "llvm/lib/Target/ARM/MVETailPredication.cpp", + "llvm/lib/Target/ARM/MVEVPTBlockPass.cpp", + "llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp", + "llvm/lib/Target/ARM/Thumb1FrameLowering.cpp", + "llvm/lib/Target/ARM/Thumb1InstrInfo.cpp", + "llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp", + "llvm/lib/Target/ARM/Thumb2InstrInfo.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" ] + } +} + +swiftshader_llvm_source_set("swiftshader_llvm_mips") { + sources = [ + "llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp", + "llvm/lib/Target/Mips/Disassembler/MipsDisassembler.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/MipsInstPrinter.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/Mips16ISelDAGToDAG.cpp", + "llvm/lib/Target/Mips/Mips16ISelLowering.cpp", + "llvm/lib/Target/Mips/Mips16InstrInfo.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/MipsCCState.cpp", + "llvm/lib/Target/Mips/MipsCallLowering.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/MipsISelDAGToDAG.cpp", + "llvm/lib/Target/Mips/MipsISelLowering.cpp", + "llvm/lib/Target/Mips/MipsInstrInfo.cpp", + "llvm/lib/Target/Mips/MipsInstructionSelector.cpp", + "llvm/lib/Target/Mips/MipsLegalizerInfo.cpp", + "llvm/lib/Target/Mips/MipsMCInstLower.cpp", + "llvm/lib/Target/Mips/MipsMachineFunction.cpp", + "llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp", + "llvm/lib/Target/Mips/MipsMulMulBugPass.cpp", + "llvm/lib/Target/Mips/MipsOptimizePICCall.cpp", + "llvm/lib/Target/Mips/MipsOs16.cpp", + "llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp", + "llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp", + "llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp", + "llvm/lib/Target/Mips/MipsRegisterInfo.cpp", + "llvm/lib/Target/Mips/MipsSEFrameLowering.cpp", + "llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp", + "llvm/lib/Target/Mips/MipsSEISelLowering.cpp", + "llvm/lib/Target/Mips/MipsSEInstrInfo.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/MipsTargetTransformInfo.cpp", + "llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp", + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_ppc") { + sources = [ + "llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp", + "llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp", + "llvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp", + "llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp", + "llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp", + "llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp", + "llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp", + "llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp", + "llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp", + "llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.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/MCTargetDesc/PPCXCOFFObjectWriter.cpp", + "llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.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/PPCCTRLoopsVerify.cpp", + "llvm/lib/Target/PowerPC/PPCCallingConv.cpp", + "llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp", + "llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp", + "llvm/lib/Target/PowerPC/PPCExpandISEL.cpp", + "llvm/lib/Target/PowerPC/PPCFastISel.cpp", + "llvm/lib/Target/PowerPC/PPCFrameLowering.cpp", + "llvm/lib/Target/PowerPC/PPCGenScalarMASSEntries.cpp", + "llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp", + "llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp", + "llvm/lib/Target/PowerPC/PPCISelLowering.cpp", + "llvm/lib/Target/PowerPC/PPCInstrInfo.cpp", + "llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp", + "llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp", + "llvm/lib/Target/PowerPC/PPCMCInstLower.cpp", + "llvm/lib/Target/PowerPC/PPCMIPeephole.cpp", + "llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp", + "llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp", + "llvm/lib/Target/PowerPC/PPCMacroFusion.cpp", + "llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp", + "llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp", + "llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp", + "llvm/lib/Target/PowerPC/PPCSubtarget.cpp", + "llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp", + "llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp", + "llvm/lib/Target/PowerPC/PPCTargetMachine.cpp", + "llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp", + "llvm/lib/Target/PowerPC/PPCTargetTransformInfo.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", + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_x86") { + sources = [ + "llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp", + "llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp", + "llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86InstrRelaxTables.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86MnemonicTables.cpp", + "llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.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/TargetInfo/X86TargetInfo.cpp", + "llvm/lib/Target/X86/X86AsmPrinter.cpp", + "llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp", + "llvm/lib/Target/X86/X86AvoidTrailingCall.cpp", + "llvm/lib/Target/X86/X86CallFrameOptimization.cpp", + "llvm/lib/Target/X86/X86CallLowering.cpp", + "llvm/lib/Target/X86/X86CallingConv.cpp", + "llvm/lib/Target/X86/X86CmovConversion.cpp", + "llvm/lib/Target/X86/X86DiscriminateMemOps.cpp", + "llvm/lib/Target/X86/X86DomainReassignment.cpp", + "llvm/lib/Target/X86/X86DynAllocaExpander.cpp", + "llvm/lib/Target/X86/X86EvexToVex.cpp", + "llvm/lib/Target/X86/X86ExpandPseudo.cpp", + "llvm/lib/Target/X86/X86FastISel.cpp", + "llvm/lib/Target/X86/X86FastPreTileConfig.cpp", + "llvm/lib/Target/X86/X86FastTileConfig.cpp", + "llvm/lib/Target/X86/X86FixupBWInsts.cpp", + "llvm/lib/Target/X86/X86FixupLEAs.cpp", + "llvm/lib/Target/X86/X86FixupSetCC.cpp", + "llvm/lib/Target/X86/X86FlagsCopyLowering.cpp", + "llvm/lib/Target/X86/X86FloatingPoint.cpp", + "llvm/lib/Target/X86/X86FrameLowering.cpp", + "llvm/lib/Target/X86/X86ISelDAGToDAG.cpp", + "llvm/lib/Target/X86/X86ISelLowering.cpp", + "llvm/lib/Target/X86/X86IndirectBranchTracking.cpp", + "llvm/lib/Target/X86/X86IndirectThunks.cpp", + "llvm/lib/Target/X86/X86InsertPrefetch.cpp", + "llvm/lib/Target/X86/X86InsertWait.cpp", + "llvm/lib/Target/X86/X86InstCombineIntrinsic.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/X86KCFI.cpp", + "llvm/lib/Target/X86/X86LegalizerInfo.cpp", + "llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp", + "llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp", + "llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp", + "llvm/lib/Target/X86/X86LowerAMXType.cpp", + "llvm/lib/Target/X86/X86LowerTileCopy.cpp", + "llvm/lib/Target/X86/X86MCInstLower.cpp", + "llvm/lib/Target/X86/X86MachineFunctionInfo.cpp", + "llvm/lib/Target/X86/X86MacroFusion.cpp", + "llvm/lib/Target/X86/X86OptimizeLEAs.cpp", + "llvm/lib/Target/X86/X86PadShortFunction.cpp", + "llvm/lib/Target/X86/X86PartialReduction.cpp", + "llvm/lib/Target/X86/X86PreAMXConfig.cpp", + "llvm/lib/Target/X86/X86PreTileConfig.cpp", + "llvm/lib/Target/X86/X86RegisterBankInfo.cpp", + "llvm/lib/Target/X86/X86RegisterInfo.cpp", + "llvm/lib/Target/X86/X86ReturnThunks.cpp", + "llvm/lib/Target/X86/X86SelectionDAGInfo.cpp", + "llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp", + "llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.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/X86TileConfig.cpp", + "llvm/lib/Target/X86/X86VZeroUpper.cpp", + "llvm/lib/Target/X86/X86WinEHState.cpp", + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_riscv64") { + sources = [ + "llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp", + "llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp", + "llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp", + "llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp", + "llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp", + "llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp", + "llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCObjectFileInfo.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp", + "llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp", + "llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp", + "llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp", + "llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp", + "llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp", + "llvm/lib/Target/RISCV/RISCVFrameLowering.cpp", + "llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp", + "llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp", + "llvm/lib/Target/RISCV/RISCVISelLowering.cpp", + "llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp", + "llvm/lib/Target/RISCV/RISCVInstrInfo.cpp", + "llvm/lib/Target/RISCV/RISCVMCInstLower.cpp", + "llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp", + "llvm/lib/Target/RISCV/RISCVMacroFusion.cpp", + "llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp", + "llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp", + "llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp", + "llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp", + "llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp", + "llvm/lib/Target/RISCV/RISCVStripWSuffix.cpp", + "llvm/lib/Target/RISCV/RISCVSubtarget.cpp", + "llvm/lib/Target/RISCV/RISCVTargetMachine.cpp", + "llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp", + "llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp", + "llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp", + ] +}
diff --git a/third_party/llvm-16.0/configs/linux/include/llvm/Config/config.h b/third_party/llvm-16.0/configs/linux/include/llvm/Config/config.h index f55ba1f..5e169c0 100644 --- a/third_party/llvm-16.0/configs/linux/include/llvm/Config/config.h +++ b/third_party/llvm-16.0/configs/linux/include/llvm/Config/config.h
@@ -138,7 +138,7 @@ #define HAVE_MALLINFO 1 /* Define to 1 if you have the `mallinfo2' function. */ -#define HAVE_MALLINFO2 1 +/* #undef HAVE_MALLINFO2 */ /* Define to 1 if you have the <malloc/malloc.h> header file. */ /* #undef HAVE_MALLOC_MALLOC_H */
diff --git a/third_party/llvm-16.0/scripts/generate_build_files.py b/third_party/llvm-16.0/scripts/generate_build_files.py index 09782cc..eafd7a1 100755 --- a/third_party/llvm-16.0/scripts/generate_build_files.py +++ b/third_party/llvm-16.0/scripts/generate_build_files.py
@@ -19,7 +19,7 @@ import sys from string import Template -## Generates `CMakeLists.txt` and `Android.bp` +## Generates `CMakeLists.txt`, `Android.bp`, and `BUILD.gn` CMAKE_TEMPLATE_PATH = "template_CMakeLists.txt" DESTINATION_CMAKELISTS_PATH = "../CMakeLists.txt" @@ -27,6 +27,9 @@ ANDROID_BP_TEMPLATE_PATH = "template_Android.bp" DESTINATION_ANDROID_BP_PATH = "../Android.bp" +BUILD_GN_TEMPLATE_PATH = "template_BUILD.gn" +DESTINATION_BUILD_GN_PATH = "../BUILD.gn" + # This custom template class changes the delimiter from '$' to # '%$%'. # This is needed because CMake build files use '$' extensively. @@ -401,3 +404,77 @@ result = android_bp_template.substitute(android_bp_template_data) cmake_output = open(DESTINATION_ANDROID_BP_PATH, "w") cmake_output.write(result) + +# Generate BUILD.gn + +# Remove 3 files that are special cases. +# They are dealt with in the template file. +files_llvm_build_gn = exclude_files_with_prefixes(files_llvm, ['/lib/MC/MCWasmObjectTargetWriter.cpp', '/lib/MC/MCXCOFFObjectTargetWriter.cpp']) +files_ARM_build_gn = exclude_files_with_prefixes(files_ARM, ['/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp']) + +# GN doesn't allow for duplicate source file names, even if they are +# in different subdirectories. Because of this, `files_llvm_build_gn` is +# partitionned into multiple targets. +def get_filename(path): + return path.split("/")[-1] +# Takes a list of paths and returns multiple lists of paths. +# Every list will contain a unique set of filenames. +def partition_paths(filepaths): + partitions = [] + for path in filepaths: + filename = get_filename(path) + inserted = False + for partition in partitions: + if not filename in partition: + partition[filename] = path + inserted = True + break + if not inserted: + new_partition = {filename : path} + partitions.append(new_partition) + return [[p for f, p in partition.items()] for partition in partitions] +# Returns a string containing a GN source set containing the filepaths +def create_source_set(source_set_name, filepaths): + s = 'swiftshader_llvm_source_set("%s") {\n' % source_set_name + s += ' sources = [\n' + for filepath in filepaths: + s += ' "llvm%s",\n' % filepath + s += ' ]\n' + s += '}\n' + return s +def source_set_name(i): + return 'swiftshader_llvm_source_set_%i' % i + +# Generate the GN source set code +files_llvm_partitions = partition_paths(files_llvm_build_gn) +source_set_code = "" +i = 0 +for partition in files_llvm_partitions: + source_set_code += create_source_set(source_set_name(i), partition) + i = i+1 + +# Generate the GN deps code +deps_code = '' +i = 0 +for partition in files_llvm_partitions: + deps_code += ' ":%s",\n' % source_set_name(i) + i = i+1 + +def format_file_list_for_build_gn(files): + return '\n'.join([" \"llvm" + s + "\"," for s in files]) +build_gn_template_data = { + 'generated_file_comment' : "# " + generated_file_comment, + 'llvm_source_sets' : source_set_code, + 'llvm_deps' : deps_code, + 'files_x86' : format_file_list_for_build_gn(files_x86), + 'files_AArch64' : format_file_list_for_build_gn(files_AArch64), + 'files_ARM' : format_file_list_for_build_gn(files_ARM_build_gn), + 'files_Mips' : format_file_list_for_build_gn(files_Mips), + 'files_PowerPC' : format_file_list_for_build_gn(files_PowerPC), + 'files_RISCV' : format_file_list_for_build_gn(files_RISCV), +} +with open(BUILD_GN_TEMPLATE_PATH, 'r') as f: + build_gn_template = CustomTemplate(f.read()) + result = build_gn_template.substitute(build_gn_template_data) + cmake_output = open(DESTINATION_BUILD_GN_PATH, "w") + cmake_output.write(result) \ No newline at end of file
diff --git a/third_party/llvm-16.0/scripts/template_BUILD.gn b/third_party/llvm-16.0/scripts/template_BUILD.gn new file mode 100644 index 0000000..72c21f5 --- /dev/null +++ b/third_party/llvm-16.0/scripts/template_BUILD.gn
@@ -0,0 +1,228 @@ +# Copyright 2023 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. + +%$%generated_file_comment + +import("../../src/swiftshader.gni") + +# Need a separate config to ensure the warnings are added to the end. +config("swiftshader_llvm_private_config") { + cflags = [ + "-DBLAKE3_NO_AVX512", + "-DBLAKE3_NO_AVX2", + "-DBLAKE3_NO_SSE41", + "-DBLAKE3_NO_SSE2", + "-DBLAKE3_USE_NEON=0", + ] + + if (is_win) { + cflags += [ + "/wd4005", + "/wd4018", + "/wd4065", + "/wd4141", + "/wd4146", + "/wd4244", + "/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) { + # Ignore #warning for unimplemented features in Process.inc. + cflags += [ "-Wno-cpp" ] + } + + if (is_clang) { + cflags += [ + "-Wno-attributes", + "-Wno-bitwise-instead-of-logical", + "-Wno-deprecated-anon-enum-enum-conversion", + "-Wno-deprecated-declarations", + "-Wno-deprecated-pragma", + "-Wno-deprecated-enum-enum-conversion", + "-Wno-enum-compare", + "-Wno-header-hygiene", + "-Wno-range-loop-bind-reference", + "-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/RISCV/", + "llvm/lib/Target/X86/", + "configs/common/include/", + "configs/common/lib/ExecutionEngine/JITLink/", + "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/RISCV/", + "configs/common/lib/Target/X86/", + "configs/common/lib/Transforms/InstCombine/", +] + +if (is_linux || is_chromeos) { + 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-10.0 not configured for target platform") +} + +template("swiftshader_llvm_source_set") { + swiftshader_source_set(target_name) { + configs = [ ":swiftshader_llvm_private_config" ] + include_dirs = llvm_include_dirs + + forward_variables_from(invoker, "*", [ "configs" ]) + if (defined(invoker.configs)) { + configs += invoker.configs + } + } +} + +swiftshader_llvm_source_set("swiftshader_llvm") { + # 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/MC/MCWasmObjectTargetWriter.cpp", + "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp", + "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp", + "llvm/lib/Target/TargetIntrinsicInfo.cpp", + ] + } + + deps = [ +%$%llvm_deps + ] + + if (current_cpu == "arm64") { + deps += [ ":swiftshader_llvm_aarch64" ] + } else if (current_cpu == "arm") { + deps += [ ":swiftshader_llvm_arm" ] + } else if (current_cpu == "mipsel" || current_cpu == "mips64el") { + deps += [ ":swiftshader_llvm_mips" ] + } else if (current_cpu == "ppc64") { + deps += [ ":swiftshader_llvm_ppc" ] + } else if (current_cpu == "riscv64") { + deps += [ ":swiftshader_llvm_riscv64" ] + } else if (current_cpu == "x86" || current_cpu == "x64") { + deps += [ ":swiftshader_llvm_x86" ] + } 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" ] + } +} + +# This source_set would contain all source files, except that GN doesn't allow for duplicate source +# file names, even if they are in different subdirectories. Because of this, some files are +# split out into their own source_set. +%$%llvm_source_sets + +swiftshader_llvm_source_set("swiftshader_llvm_aarch64") { + sources = [ +%$%files_AArch64 + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_arm") { + sources = [ +%$%files_ARM + ] + + # 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" ] + } +} + +swiftshader_llvm_source_set("swiftshader_llvm_mips") { + sources = [ +%$%files_Mips + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_ppc") { + sources = [ +%$%files_PowerPC + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_x86") { + sources = [ +%$%files_x86 + ] +} + +swiftshader_llvm_source_set("swiftshader_llvm_riscv64") { + sources = [ +%$%files_RISCV + ] +}