From 0b3eb950ce1038fd161e795d29dff74de77af766 Mon Sep 17 00:00:00 2001 From: David Shao Date: Sat, 23 Feb 2019 20:59:03 -0800 Subject: [PATCH] llvm-dfbsd: Import llvm-7.0.1 as wip/llvm-dfbsd CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON required for some builds of new MesaLib and a patch for DragonFly --- llvm-dfbsd/DESCR | 22 + llvm-dfbsd/Makefile | 116 ++ llvm-dfbsd/PLIST | 1460 +++++++++++++++++ llvm-dfbsd/buildlink3.mk | 22 + llvm-dfbsd/distinfo | 15 + llvm-dfbsd/options.mk | 55 + llvm-dfbsd/patches/patch-CMakeLists.txt | 15 + .../patches/patch-cmake_config-ix.cmake | 15 + .../patches/patch-cmake_modules_AddLLVM.cmake | 36 + .../patch-cmake_modules_CheckAtomic.cmake | 38 + ...atch-cmake_modules_HandleLLVMOptions.cmake | 14 + .../patches/patch-include_llvm-c_DataTypes.h | 34 + ...ch-include_llvm_Analysis_ConstantFolding.h | 17 + .../patches/patch-lib_Support_Unix_Path.inc | 22 + .../patch-tools_llvm-shlib_CMakeLists.txt | 33 + 15 files changed, 1914 insertions(+) create mode 100644 llvm-dfbsd/DESCR create mode 100644 llvm-dfbsd/Makefile create mode 100644 llvm-dfbsd/PLIST create mode 100644 llvm-dfbsd/buildlink3.mk create mode 100644 llvm-dfbsd/distinfo create mode 100644 llvm-dfbsd/options.mk create mode 100644 llvm-dfbsd/patches/patch-CMakeLists.txt create mode 100644 llvm-dfbsd/patches/patch-cmake_config-ix.cmake create mode 100644 llvm-dfbsd/patches/patch-cmake_modules_AddLLVM.cmake create mode 100644 llvm-dfbsd/patches/patch-cmake_modules_CheckAtomic.cmake create mode 100644 llvm-dfbsd/patches/patch-cmake_modules_HandleLLVMOptions.cmake create mode 100644 llvm-dfbsd/patches/patch-include_llvm-c_DataTypes.h create mode 100644 llvm-dfbsd/patches/patch-include_llvm_Analysis_ConstantFolding.h create mode 100644 llvm-dfbsd/patches/patch-lib_Support_Unix_Path.inc create mode 100644 llvm-dfbsd/patches/patch-tools_llvm-shlib_CMakeLists.txt diff --git a/llvm-dfbsd/DESCR b/llvm-dfbsd/DESCR new file mode 100644 index 0000000000..f00fcdbf80 --- /dev/null +++ b/llvm-dfbsd/DESCR @@ -0,0 +1,22 @@ +Low Level Virtual Machine (LLVM) is: + +A compilation strategy designed to enable effective program optimization across +the entire lifetime of a program. LLVM supports effective optimization at +compile time, link-time (particularly interprocedural), run-time and offline +(i.e., after software is installed), while remaining transparent to developers +and maintaining compatibility with existing build scripts. + +A virtual instruction set - LLVM is a low-level object code representation that +uses simple RISC-like instructions, but provides rich, language-independent, +type information and dataflow (SSA) information about operands. This combination +enables sophisticated transformations on object code, while remaining +light-weight enough to be attached to the executable. This combination is key to +allowing link-time, run-time, and offline transformations. + +A compiler infrastructure - LLVM is also a collection of source code that +implements the language and compilation strategy. The primary components of the +LLVM infrastructure are the C & C++ front-end, a link-time optimization +framework with a growing set of global and interprocedural analyses and +transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM, +Thumb, IA-64 and SPARC architectures, a back-end which emits portable C +code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors. diff --git a/llvm-dfbsd/Makefile b/llvm-dfbsd/Makefile new file mode 100644 index 0000000000..ea7962c91e --- /dev/null +++ b/llvm-dfbsd/Makefile @@ -0,0 +1,116 @@ +# $NetBSD: Makefile,v 1.37 2019/02/18 16:56:40 minskim Exp $ +# +# when updating this, please also update: +# devel/include-what-you-use +# devel/lldb +# devel/polly +# lang/clang +# lang/clang-static-analyzer +# lang/compiler-rt +# lang/libcxx +# lang/libcxxabi +# lang/libunwind +# +# Do not update: +# lang/libLLVM +# because pkgsrc provides multiple versions and lang/libLLVM is +# logically libLLVM4. +# +# Always update all */buildlink3.mk to require the latest stable release +# version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility + +DISTNAME= llvm-7.0.1.src +PKGNAME= ${DISTNAME:S/.src//} +# PKGREVISION= 1 +CATEGORIES= lang devel +MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/ +EXTRACT_SUFX= .tar.xz + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://llvm.org/ +COMMENT= Low Level Virtual Machine compiler infrastructure +LICENSE= modified-bsd + +USE_LANGUAGES= c c++11 +USE_CMAKE= yes +GCC_REQD+= 4.8 +PYTHON_FOR_BUILD_ONLY= yes + +CONFIGURE_DIRS= ${WRKDIR}/build +CMAKE_ARG_PATH= ${WRKSRC} + +CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release +CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q} +CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q} +CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q} +CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON +CMAKE_ARGS+= -DLLVM_INSTALL_UTILS=ON +CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON + +# Meson building mesa 18.2 requires this +CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON + +CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool + +CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm + +# XXX perl is not added as a tool as it does not seem to be required +REPLACE_PERL+= utils/*.pl +REPLACE_PERL+= utils/codegen-diff +REPLACE_PERL+= utils/llvm-native-gxx + +REPLACE_PYTHON+= tools/opt-viewer/*.py +REPLACE_PYTHON+= tools/sancov/*.py +REPLACE_PYTHON+= utils/*.py +REPLACE_PYTHON+= utils/Misc/zkill +REPLACE_PYTHON+= utils/bisect +REPLACE_PYTHON+= utils/clang-parse-diagnostics-file +REPLACE_PYTHON+= utils/git/find-rev +REPLACE_PYTHON+= utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest +REPLACE_PYTHON+= utils/llvm-build/llvm-build +REPLACE_PYTHON+= utils/llvm-compilers-check +REPLACE_PYTHON+= utils/llvm-lit/llvm-lit.in + +TEST_TARGET= check +TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib + +# It may be that the Solaris linker is more strict here and they can be removed on +# all platforms. Change this to a patch if verified. +SUBST_CLASSES.SunOS+= lto +SUBST_STAGE.lto= pre-configure +SUBST_FILES.lto= tools/lto/lto.exports +SUBST_SED.lto= -e '/^LLVM/d' + +.include "../../mk/bsd.prefs.mk" + +PLIST_VARS+= notdylib +.if ${SHLIB_TYPE} == "dylib" +SOEXT= dylib +.else +SOEXT= so +PLIST.notdylib= yes +.endif +PLIST_SUBST+= SOEXT=${SOEXT} + +# needs std::atomic with 64-bit CAS +.if ${MACHINE_ARCH} == "i386" +CXXFLAGS+= -march=i586 +.endif + +CXXFLAGS.DragonFly+= -fpermissive + +.include "options.mk" + +# replacing config.guess is required even for cmake. +# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm. +post-extract: + ${MKDIR} ${WRKDIR}/build +.for f in config.guess config.sub + cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f} +.endfor + +.include "../../devel/zlib/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../lang/python/tool.mk" +.include "../../textproc/libxml2/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/llvm-dfbsd/PLIST b/llvm-dfbsd/PLIST new file mode 100644 index 0000000000..86c9dd8389 --- /dev/null +++ b/llvm-dfbsd/PLIST @@ -0,0 +1,1460 @@ +@comment $NetBSD: PLIST,v 1.10 2019/01/27 06:43:21 maya Exp $ +bin/FileCheck +bin/bugpoint +bin/count +bin/dsymutil +bin/llc +bin/lli +bin/lli-child-target +bin/llvm-PerfectShuffle +bin/llvm-ar +bin/llvm-as +bin/llvm-bcanalyzer +bin/llvm-c-test +bin/llvm-cat +bin/llvm-cfi-verify +bin/llvm-config +bin/llvm-cov +bin/llvm-cvtres +bin/llvm-cxxdump +bin/llvm-cxxfilt +bin/llvm-diff +bin/llvm-dis +bin/llvm-dlltool +bin/llvm-dwarfdump +bin/llvm-dwp +bin/llvm-exegesis +bin/llvm-extract +bin/llvm-lib +bin/llvm-link +bin/llvm-lto +bin/llvm-lto2 +bin/llvm-mc +bin/llvm-mca +bin/llvm-modextract +bin/llvm-mt +bin/llvm-nm +bin/llvm-objcopy +bin/llvm-objdump +bin/llvm-opt-report +bin/llvm-pdbutil +bin/llvm-profdata +bin/llvm-ranlib +bin/llvm-rc +bin/llvm-readelf +bin/llvm-readobj +bin/llvm-rtdyld +bin/llvm-size +bin/llvm-split +bin/llvm-stress +bin/llvm-strings +bin/llvm-strip +bin/llvm-symbolizer +bin/llvm-tblgen +bin/llvm-undname +bin/llvm-xray +bin/not +bin/obj2yaml +bin/opt +bin/sancov +bin/sanstats +bin/verify-uselistorder +bin/yaml-bench +bin/yaml2obj +include/llvm-c/Analysis.h +include/llvm-c/BitReader.h +include/llvm-c/BitWriter.h +include/llvm-c/Comdat.h +include/llvm-c/Core.h +include/llvm-c/DataTypes.h +include/llvm-c/DebugInfo.h +include/llvm-c/Disassembler.h +include/llvm-c/DisassemblerTypes.h +include/llvm-c/ErrorHandling.h +include/llvm-c/ExecutionEngine.h +include/llvm-c/IRReader.h +include/llvm-c/Initialization.h +include/llvm-c/LinkTimeOptimizer.h +include/llvm-c/Linker.h +include/llvm-c/Object.h +include/llvm-c/OrcBindings.h +include/llvm-c/Support.h +include/llvm-c/Target.h +include/llvm-c/TargetMachine.h +include/llvm-c/Transforms/IPO.h +include/llvm-c/Transforms/InstCombine.h +include/llvm-c/Transforms/PassManagerBuilder.h +include/llvm-c/Transforms/Scalar.h +include/llvm-c/Transforms/Utils.h +include/llvm-c/Transforms/Vectorize.h +include/llvm-c/Types.h +include/llvm-c/lto.h +include/llvm/ADT/APFloat.h +include/llvm/ADT/APInt.h +include/llvm/ADT/APSInt.h +include/llvm/ADT/AllocatorList.h +include/llvm/ADT/Any.h +include/llvm/ADT/ArrayRef.h +include/llvm/ADT/BitVector.h +include/llvm/ADT/BitmaskEnum.h +include/llvm/ADT/BreadthFirstIterator.h +include/llvm/ADT/CachedHashString.h +include/llvm/ADT/DAGDeltaAlgorithm.h +include/llvm/ADT/DeltaAlgorithm.h +include/llvm/ADT/DenseMap.h +include/llvm/ADT/DenseMapInfo.h +include/llvm/ADT/DenseSet.h +include/llvm/ADT/DepthFirstIterator.h +include/llvm/ADT/EpochTracker.h +include/llvm/ADT/EquivalenceClasses.h +include/llvm/ADT/FoldingSet.h +include/llvm/ADT/FunctionExtras.h +include/llvm/ADT/GraphTraits.h +include/llvm/ADT/Hashing.h +include/llvm/ADT/ImmutableList.h +include/llvm/ADT/ImmutableMap.h +include/llvm/ADT/ImmutableSet.h +include/llvm/ADT/IndexedMap.h +include/llvm/ADT/IntEqClasses.h +include/llvm/ADT/IntervalMap.h +include/llvm/ADT/IntrusiveRefCntPtr.h +include/llvm/ADT/MapVector.h +include/llvm/ADT/None.h +include/llvm/ADT/Optional.h +include/llvm/ADT/PackedVector.h +include/llvm/ADT/PointerEmbeddedInt.h +include/llvm/ADT/PointerIntPair.h +include/llvm/ADT/PointerSumType.h +include/llvm/ADT/PointerUnion.h +include/llvm/ADT/PostOrderIterator.h +include/llvm/ADT/PriorityQueue.h +include/llvm/ADT/PriorityWorklist.h +include/llvm/ADT/SCCIterator.h +include/llvm/ADT/STLExtras.h +include/llvm/ADT/ScopeExit.h +include/llvm/ADT/ScopedHashTable.h +include/llvm/ADT/Sequence.h +include/llvm/ADT/SetOperations.h +include/llvm/ADT/SetVector.h +include/llvm/ADT/SmallBitVector.h +include/llvm/ADT/SmallPtrSet.h +include/llvm/ADT/SmallSet.h +include/llvm/ADT/SmallString.h +include/llvm/ADT/SmallVector.h +include/llvm/ADT/SparseBitVector.h +include/llvm/ADT/SparseMultiSet.h +include/llvm/ADT/SparseSet.h +include/llvm/ADT/Statistic.h +include/llvm/ADT/StringExtras.h +include/llvm/ADT/StringMap.h +include/llvm/ADT/StringRef.h +include/llvm/ADT/StringSet.h +include/llvm/ADT/StringSwitch.h +include/llvm/ADT/TinyPtrVector.h +include/llvm/ADT/Triple.h +include/llvm/ADT/Twine.h +include/llvm/ADT/UniqueVector.h +include/llvm/ADT/VariadicFunction.h +include/llvm/ADT/edit_distance.h +include/llvm/ADT/ilist.h +include/llvm/ADT/ilist_base.h +include/llvm/ADT/ilist_iterator.h +include/llvm/ADT/ilist_node.h +include/llvm/ADT/ilist_node_base.h +include/llvm/ADT/ilist_node_options.h +include/llvm/ADT/iterator.h +include/llvm/ADT/iterator_range.h +include/llvm/ADT/simple_ilist.h +include/llvm/Analysis/AliasAnalysis.h +include/llvm/Analysis/AliasAnalysisEvaluator.h +include/llvm/Analysis/AliasSetTracker.h +include/llvm/Analysis/AssumptionCache.h +include/llvm/Analysis/BasicAliasAnalysis.h +include/llvm/Analysis/BlockFrequencyInfo.h +include/llvm/Analysis/BlockFrequencyInfoImpl.h +include/llvm/Analysis/BranchProbabilityInfo.h +include/llvm/Analysis/CFG.h +include/llvm/Analysis/CFGPrinter.h +include/llvm/Analysis/CFLAliasAnalysisUtils.h +include/llvm/Analysis/CFLAndersAliasAnalysis.h +include/llvm/Analysis/CFLSteensAliasAnalysis.h +include/llvm/Analysis/CGSCCPassManager.h +include/llvm/Analysis/CallGraph.h +include/llvm/Analysis/CallGraphSCCPass.h +include/llvm/Analysis/CallPrinter.h +include/llvm/Analysis/CaptureTracking.h +include/llvm/Analysis/CmpInstAnalysis.h +include/llvm/Analysis/CodeMetrics.h +include/llvm/Analysis/ConstantFolding.h +include/llvm/Analysis/DOTGraphTraitsPass.h +include/llvm/Analysis/DemandedBits.h +include/llvm/Analysis/DependenceAnalysis.h +include/llvm/Analysis/DivergenceAnalysis.h +include/llvm/Analysis/DomPrinter.h +include/llvm/Analysis/DominanceFrontier.h +include/llvm/Analysis/DominanceFrontierImpl.h +include/llvm/Analysis/EHPersonalities.h +include/llvm/Analysis/GlobalsModRef.h +include/llvm/Analysis/IVUsers.h +include/llvm/Analysis/IndirectCallPromotionAnalysis.h +include/llvm/Analysis/IndirectCallSiteVisitor.h +include/llvm/Analysis/InlineCost.h +include/llvm/Analysis/InstructionSimplify.h +include/llvm/Analysis/Interval.h +include/llvm/Analysis/IntervalIterator.h +include/llvm/Analysis/IntervalPartition.h +include/llvm/Analysis/IteratedDominanceFrontier.h +include/llvm/Analysis/LazyBlockFrequencyInfo.h +include/llvm/Analysis/LazyBranchProbabilityInfo.h +include/llvm/Analysis/LazyCallGraph.h +include/llvm/Analysis/LazyValueInfo.h +include/llvm/Analysis/Lint.h +include/llvm/Analysis/Loads.h +include/llvm/Analysis/LoopAccessAnalysis.h +include/llvm/Analysis/LoopAnalysisManager.h +include/llvm/Analysis/LoopInfo.h +include/llvm/Analysis/LoopInfoImpl.h +include/llvm/Analysis/LoopIterator.h +include/llvm/Analysis/LoopPass.h +include/llvm/Analysis/LoopUnrollAnalyzer.h +include/llvm/Analysis/MemoryBuiltins.h +include/llvm/Analysis/MemoryDependenceAnalysis.h +include/llvm/Analysis/MemoryLocation.h +include/llvm/Analysis/MemorySSA.h +include/llvm/Analysis/MemorySSAUpdater.h +include/llvm/Analysis/ModuleSummaryAnalysis.h +include/llvm/Analysis/MustExecute.h +include/llvm/Analysis/ObjCARCAliasAnalysis.h +include/llvm/Analysis/ObjCARCAnalysisUtils.h +include/llvm/Analysis/ObjCARCInstKind.h +include/llvm/Analysis/OptimizationRemarkEmitter.h +include/llvm/Analysis/OrderedBasicBlock.h +include/llvm/Analysis/PHITransAddr.h +include/llvm/Analysis/Passes.h +include/llvm/Analysis/PhiValues.h +include/llvm/Analysis/PostDominators.h +include/llvm/Analysis/ProfileSummaryInfo.h +include/llvm/Analysis/PtrUseVisitor.h +include/llvm/Analysis/RegionInfo.h +include/llvm/Analysis/RegionInfoImpl.h +include/llvm/Analysis/RegionIterator.h +include/llvm/Analysis/RegionPass.h +include/llvm/Analysis/RegionPrinter.h +include/llvm/Analysis/ScalarEvolution.h +include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h +include/llvm/Analysis/ScalarEvolutionExpander.h +include/llvm/Analysis/ScalarEvolutionExpressions.h +include/llvm/Analysis/ScalarEvolutionNormalization.h +include/llvm/Analysis/ScopedNoAliasAA.h +include/llvm/Analysis/SparsePropagation.h +include/llvm/Analysis/SyntheticCountsUtils.h +include/llvm/Analysis/TargetFolder.h +include/llvm/Analysis/TargetLibraryInfo.def +include/llvm/Analysis/TargetLibraryInfo.h +include/llvm/Analysis/TargetTransformInfo.h +include/llvm/Analysis/TargetTransformInfoImpl.h +include/llvm/Analysis/Trace.h +include/llvm/Analysis/TypeBasedAliasAnalysis.h +include/llvm/Analysis/TypeMetadataUtils.h +include/llvm/Analysis/Utils/Local.h +include/llvm/Analysis/ValueLattice.h +include/llvm/Analysis/ValueLatticeUtils.h +include/llvm/Analysis/ValueTracking.h +include/llvm/Analysis/VectorUtils.h +include/llvm/AsmParser/Parser.h +include/llvm/AsmParser/SlotMapping.h +include/llvm/BinaryFormat/COFF.h +include/llvm/BinaryFormat/Dwarf.def +include/llvm/BinaryFormat/Dwarf.h +include/llvm/BinaryFormat/DynamicTags.def +include/llvm/BinaryFormat/ELF.h +include/llvm/BinaryFormat/ELFRelocs/AArch64.def +include/llvm/BinaryFormat/ELFRelocs/AMDGPU.def +include/llvm/BinaryFormat/ELFRelocs/ARC.def +include/llvm/BinaryFormat/ELFRelocs/ARM.def +include/llvm/BinaryFormat/ELFRelocs/AVR.def +include/llvm/BinaryFormat/ELFRelocs/BPF.def +include/llvm/BinaryFormat/ELFRelocs/Hexagon.def +include/llvm/BinaryFormat/ELFRelocs/Lanai.def +include/llvm/BinaryFormat/ELFRelocs/Mips.def +include/llvm/BinaryFormat/ELFRelocs/PowerPC.def +include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def +include/llvm/BinaryFormat/ELFRelocs/RISCV.def +include/llvm/BinaryFormat/ELFRelocs/Sparc.def +include/llvm/BinaryFormat/ELFRelocs/SystemZ.def +include/llvm/BinaryFormat/ELFRelocs/i386.def +include/llvm/BinaryFormat/ELFRelocs/x86_64.def +include/llvm/BinaryFormat/MachO.def +include/llvm/BinaryFormat/MachO.h +include/llvm/BinaryFormat/Magic.h +include/llvm/BinaryFormat/Wasm.h +include/llvm/BinaryFormat/WasmRelocs.def +include/llvm/Bitcode/BitCodes.h +include/llvm/Bitcode/BitcodeReader.h +include/llvm/Bitcode/BitcodeWriter.h +include/llvm/Bitcode/BitcodeWriterPass.h +include/llvm/Bitcode/BitstreamReader.h +include/llvm/Bitcode/BitstreamWriter.h +include/llvm/Bitcode/LLVMBitCodes.h +include/llvm/CodeGen/AccelTable.h +include/llvm/CodeGen/Analysis.h +include/llvm/CodeGen/AsmPrinter.h +include/llvm/CodeGen/AtomicExpandUtils.h +include/llvm/CodeGen/BasicTTIImpl.h +include/llvm/CodeGen/CalcSpillWeights.h +include/llvm/CodeGen/CallingConvLower.h +include/llvm/CodeGen/CommandFlags.inc +include/llvm/CodeGen/CostTable.h +include/llvm/CodeGen/DAGCombine.h +include/llvm/CodeGen/DFAPacketizer.h +include/llvm/CodeGen/DIE.h +include/llvm/CodeGen/DIEValue.def +include/llvm/CodeGen/DwarfStringPoolEntry.h +include/llvm/CodeGen/EdgeBundles.h +include/llvm/CodeGen/ExecutionDomainFix.h +include/llvm/CodeGen/ExpandReductions.h +include/llvm/CodeGen/FastISel.h +include/llvm/CodeGen/FaultMaps.h +include/llvm/CodeGen/FunctionLoweringInfo.h +include/llvm/CodeGen/GCMetadata.h +include/llvm/CodeGen/GCMetadataPrinter.h +include/llvm/CodeGen/GCStrategy.h +include/llvm/CodeGen/GCs.h +include/llvm/CodeGen/GlobalISel/CallLowering.h +include/llvm/CodeGen/GlobalISel/Combiner.h +include/llvm/CodeGen/GlobalISel/CombinerHelper.h +include/llvm/CodeGen/GlobalISel/CombinerInfo.h +include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h +include/llvm/CodeGen/GlobalISel/GISelWorkList.h +include/llvm/CodeGen/GlobalISel/IRTranslator.h +include/llvm/CodeGen/GlobalISel/InstructionSelect.h +include/llvm/CodeGen/GlobalISel/InstructionSelector.h +include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h +include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h +include/llvm/CodeGen/GlobalISel/Legalizer.h +include/llvm/CodeGen/GlobalISel/LegalizerHelper.h +include/llvm/CodeGen/GlobalISel/LegalizerInfo.h +include/llvm/CodeGen/GlobalISel/Localizer.h +include/llvm/CodeGen/GlobalISel/MIPatternMatch.h +include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h +include/llvm/CodeGen/GlobalISel/RegBankSelect.h +include/llvm/CodeGen/GlobalISel/RegisterBank.h +include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h +include/llvm/CodeGen/GlobalISel/Types.h +include/llvm/CodeGen/GlobalISel/Utils.h +include/llvm/CodeGen/ISDOpcodes.h +include/llvm/CodeGen/IntrinsicLowering.h +include/llvm/CodeGen/LatencyPriorityQueue.h +include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h +include/llvm/CodeGen/LexicalScopes.h +include/llvm/CodeGen/LinkAllAsmWriterComponents.h +include/llvm/CodeGen/LinkAllCodegenComponents.h +include/llvm/CodeGen/LiveInterval.h +include/llvm/CodeGen/LiveIntervalUnion.h +include/llvm/CodeGen/LiveIntervals.h +include/llvm/CodeGen/LivePhysRegs.h +include/llvm/CodeGen/LiveRangeEdit.h +include/llvm/CodeGen/LiveRegMatrix.h +include/llvm/CodeGen/LiveRegUnits.h +include/llvm/CodeGen/LiveStacks.h +include/llvm/CodeGen/LiveVariables.h +include/llvm/CodeGen/LoopTraversal.h +include/llvm/CodeGen/LowLevelType.h +include/llvm/CodeGen/MIRParser/MIRParser.h +include/llvm/CodeGen/MIRPrinter.h +include/llvm/CodeGen/MIRYamlMapping.h +include/llvm/CodeGen/MachORelocation.h +include/llvm/CodeGen/MachineBasicBlock.h +include/llvm/CodeGen/MachineBlockFrequencyInfo.h +include/llvm/CodeGen/MachineBranchProbabilityInfo.h +include/llvm/CodeGen/MachineCombinerPattern.h +include/llvm/CodeGen/MachineConstantPool.h +include/llvm/CodeGen/MachineDominanceFrontier.h +include/llvm/CodeGen/MachineDominators.h +include/llvm/CodeGen/MachineFrameInfo.h +include/llvm/CodeGen/MachineFunction.h +include/llvm/CodeGen/MachineFunctionPass.h +include/llvm/CodeGen/MachineInstr.h +include/llvm/CodeGen/MachineInstrBuilder.h +include/llvm/CodeGen/MachineInstrBundle.h +include/llvm/CodeGen/MachineInstrBundleIterator.h +include/llvm/CodeGen/MachineJumpTableInfo.h +include/llvm/CodeGen/MachineLoopInfo.h +include/llvm/CodeGen/MachineMemOperand.h +include/llvm/CodeGen/MachineModuleInfo.h +include/llvm/CodeGen/MachineModuleInfoImpls.h +include/llvm/CodeGen/MachineOperand.h +include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h +include/llvm/CodeGen/MachineOutliner.h +include/llvm/CodeGen/MachinePassRegistry.h +include/llvm/CodeGen/MachinePostDominators.h +include/llvm/CodeGen/MachineRegionInfo.h +include/llvm/CodeGen/MachineRegisterInfo.h +include/llvm/CodeGen/MachineSSAUpdater.h +include/llvm/CodeGen/MachineScheduler.h +include/llvm/CodeGen/MachineTraceMetrics.h +include/llvm/CodeGen/MacroFusion.h +include/llvm/CodeGen/PBQP/CostAllocator.h +include/llvm/CodeGen/PBQP/Graph.h +include/llvm/CodeGen/PBQP/Math.h +include/llvm/CodeGen/PBQP/ReductionRules.h +include/llvm/CodeGen/PBQP/Solution.h +include/llvm/CodeGen/PBQPRAConstraint.h +include/llvm/CodeGen/ParallelCG.h +include/llvm/CodeGen/Passes.h +include/llvm/CodeGen/PreISelIntrinsicLowering.h +include/llvm/CodeGen/PseudoSourceValue.h +include/llvm/CodeGen/ReachingDefAnalysis.h +include/llvm/CodeGen/RegAllocPBQP.h +include/llvm/CodeGen/RegAllocRegistry.h +include/llvm/CodeGen/RegisterClassInfo.h +include/llvm/CodeGen/RegisterPressure.h +include/llvm/CodeGen/RegisterScavenging.h +include/llvm/CodeGen/RegisterUsageInfo.h +include/llvm/CodeGen/ResourcePriorityQueue.h +include/llvm/CodeGen/RuntimeLibcalls.h +include/llvm/CodeGen/SDNodeProperties.td +include/llvm/CodeGen/ScheduleDAG.h +include/llvm/CodeGen/ScheduleDAGInstrs.h +include/llvm/CodeGen/ScheduleDAGMutation.h +include/llvm/CodeGen/ScheduleDFS.h +include/llvm/CodeGen/ScheduleHazardRecognizer.h +include/llvm/CodeGen/SchedulerRegistry.h +include/llvm/CodeGen/ScoreboardHazardRecognizer.h +include/llvm/CodeGen/SelectionDAG.h +include/llvm/CodeGen/SelectionDAGAddressAnalysis.h +include/llvm/CodeGen/SelectionDAGISel.h +include/llvm/CodeGen/SelectionDAGNodes.h +include/llvm/CodeGen/SelectionDAGTargetInfo.h +include/llvm/CodeGen/SlotIndexes.h +include/llvm/CodeGen/StackMaps.h +include/llvm/CodeGen/StackProtector.h +include/llvm/CodeGen/TailDuplicator.h +include/llvm/CodeGen/TargetCallingConv.h +include/llvm/CodeGen/TargetFrameLowering.h +include/llvm/CodeGen/TargetInstrInfo.h +include/llvm/CodeGen/TargetLowering.h +include/llvm/CodeGen/TargetLoweringObjectFileImpl.h +include/llvm/CodeGen/TargetOpcodes.h +include/llvm/CodeGen/TargetPassConfig.h +include/llvm/CodeGen/TargetRegisterInfo.h +include/llvm/CodeGen/TargetSchedule.h +include/llvm/CodeGen/TargetSubtargetInfo.h +include/llvm/CodeGen/UnreachableBlockElim.h +include/llvm/CodeGen/ValueTypes.h +include/llvm/CodeGen/ValueTypes.td +include/llvm/CodeGen/VirtRegMap.h +include/llvm/CodeGen/WasmEHFuncInfo.h +include/llvm/CodeGen/WinEHFuncInfo.h +include/llvm/Config/AsmParsers.def +include/llvm/Config/AsmPrinters.def +include/llvm/Config/Disassemblers.def +include/llvm/Config/Targets.def +include/llvm/Config/abi-breaking.h +include/llvm/Config/llvm-config.h +include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h +include/llvm/DebugInfo/CodeView/CVRecord.h +include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h +include/llvm/DebugInfo/CodeView/CVTypeVisitor.h +include/llvm/DebugInfo/CodeView/CodeView.h +include/llvm/DebugInfo/CodeView/CodeViewError.h +include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h +include/llvm/DebugInfo/CodeView/CodeViewRegisters.def +include/llvm/DebugInfo/CodeView/CodeViewSymbols.def +include/llvm/DebugInfo/CodeView/CodeViewTypes.def +include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h +include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h +include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h +include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h +include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h +include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h +include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h +include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h +include/llvm/DebugInfo/CodeView/DebugSubsection.h +include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h +include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h +include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h +include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h +include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h +include/llvm/DebugInfo/CodeView/EnumTables.h +include/llvm/DebugInfo/CodeView/Formatters.h +include/llvm/DebugInfo/CodeView/FunctionId.h +include/llvm/DebugInfo/CodeView/GUID.h +include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h +include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h +include/llvm/DebugInfo/CodeView/Line.h +include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h +include/llvm/DebugInfo/CodeView/RecordName.h +include/llvm/DebugInfo/CodeView/RecordSerialization.h +include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h +include/llvm/DebugInfo/CodeView/StringsAndChecksums.h +include/llvm/DebugInfo/CodeView/SymbolDeserializer.h +include/llvm/DebugInfo/CodeView/SymbolDumpDelegate.h +include/llvm/DebugInfo/CodeView/SymbolDumper.h +include/llvm/DebugInfo/CodeView/SymbolRecord.h +include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h +include/llvm/DebugInfo/CodeView/SymbolSerializer.h +include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h +include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h +include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h +include/llvm/DebugInfo/CodeView/TypeCollection.h +include/llvm/DebugInfo/CodeView/TypeDeserializer.h +include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h +include/llvm/DebugInfo/CodeView/TypeHashing.h +include/llvm/DebugInfo/CodeView/TypeIndex.h +include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h +include/llvm/DebugInfo/CodeView/TypeRecord.h +include/llvm/DebugInfo/CodeView/TypeRecordMapping.h +include/llvm/DebugInfo/CodeView/TypeStreamMerger.h +include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h +include/llvm/DebugInfo/CodeView/TypeTableCollection.h +include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h +include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h +include/llvm/DebugInfo/DIContext.h +include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h +include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h +include/llvm/DebugInfo/DWARF/DWARFAddressRange.h +include/llvm/DebugInfo/DWARF/DWARFAttribute.h +include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h +include/llvm/DebugInfo/DWARF/DWARFContext.h +include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h +include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h +include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h +include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h +include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h +include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h +include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h +include/llvm/DebugInfo/DWARF/DWARFDebugLine.h +include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h +include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h +include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h +include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h +include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h +include/llvm/DebugInfo/DWARF/DWARFDie.h +include/llvm/DebugInfo/DWARF/DWARFExpression.h +include/llvm/DebugInfo/DWARF/DWARFFormValue.h +include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h +include/llvm/DebugInfo/DWARF/DWARFListTable.h +include/llvm/DebugInfo/DWARF/DWARFObject.h +include/llvm/DebugInfo/DWARF/DWARFRelocMap.h +include/llvm/DebugInfo/DWARF/DWARFSection.h +include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h +include/llvm/DebugInfo/DWARF/DWARFUnit.h +include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h +include/llvm/DebugInfo/DWARF/DWARFVerifier.h +include/llvm/DebugInfo/MSF/IMSFFile.h +include/llvm/DebugInfo/MSF/MSFBuilder.h +include/llvm/DebugInfo/MSF/MSFCommon.h +include/llvm/DebugInfo/MSF/MSFError.h +include/llvm/DebugInfo/MSF/MappedBlockStream.h +include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h +include/llvm/DebugInfo/PDB/DIA/DIADataStream.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumTables.h +include/llvm/DebugInfo/PDB/DIA/DIAError.h +include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h +include/llvm/DebugInfo/PDB/DIA/DIALineNumber.h +include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h +include/llvm/DebugInfo/PDB/DIA/DIASectionContrib.h +include/llvm/DebugInfo/PDB/DIA/DIASession.h +include/llvm/DebugInfo/PDB/DIA/DIASourceFile.h +include/llvm/DebugInfo/PDB/DIA/DIASupport.h +include/llvm/DebugInfo/PDB/DIA/DIATable.h +include/llvm/DebugInfo/PDB/DIA/DIAUtils.h +include/llvm/DebugInfo/PDB/GenericError.h +include/llvm/DebugInfo/PDB/IPDBDataStream.h +include/llvm/DebugInfo/PDB/IPDBEnumChildren.h +include/llvm/DebugInfo/PDB/IPDBInjectedSource.h +include/llvm/DebugInfo/PDB/IPDBLineNumber.h +include/llvm/DebugInfo/PDB/IPDBRawSymbol.h +include/llvm/DebugInfo/PDB/IPDBSectionContrib.h +include/llvm/DebugInfo/PDB/IPDBSession.h +include/llvm/DebugInfo/PDB/IPDBSourceFile.h +include/llvm/DebugInfo/PDB/IPDBTable.h +include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h +include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h +include/llvm/DebugInfo/PDB/Native/DbiModuleList.h +include/llvm/DebugInfo/PDB/Native/DbiStream.h +include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h +include/llvm/DebugInfo/PDB/Native/EnumTables.h +include/llvm/DebugInfo/PDB/Native/Formatters.h +include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h +include/llvm/DebugInfo/PDB/Native/GlobalsStream.h +include/llvm/DebugInfo/PDB/Native/Hash.h +include/llvm/DebugInfo/PDB/Native/HashTable.h +include/llvm/DebugInfo/PDB/Native/ISectionContribVisitor.h +include/llvm/DebugInfo/PDB/Native/InfoStream.h +include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h +include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h +include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h +include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeEnumModules.h +include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h +include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeSession.h +include/llvm/DebugInfo/PDB/Native/PDBFile.h +include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h +include/llvm/DebugInfo/PDB/Native/PDBStringTable.h +include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h +include/llvm/DebugInfo/PDB/Native/PublicsStream.h +include/llvm/DebugInfo/PDB/Native/RawConstants.h +include/llvm/DebugInfo/PDB/Native/RawError.h +include/llvm/DebugInfo/PDB/Native/RawTypes.h +include/llvm/DebugInfo/PDB/Native/SymbolStream.h +include/llvm/DebugInfo/PDB/Native/TpiHashing.h +include/llvm/DebugInfo/PDB/Native/TpiStream.h +include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h +include/llvm/DebugInfo/PDB/PDB.h +include/llvm/DebugInfo/PDB/PDBContext.h +include/llvm/DebugInfo/PDB/PDBExtras.h +include/llvm/DebugInfo/PDB/PDBSymDumper.h +include/llvm/DebugInfo/PDB/PDBSymbol.h +include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h +include/llvm/DebugInfo/PDB/PDBSymbolBlock.h +include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h +include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h +include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h +include/llvm/DebugInfo/PDB/PDBSymbolCustom.h +include/llvm/DebugInfo/PDB/PDBSymbolData.h +include/llvm/DebugInfo/PDB/PDBSymbolExe.h +include/llvm/DebugInfo/PDB/PDBSymbolFunc.h +include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h +include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h +include/llvm/DebugInfo/PDB/PDBSymbolLabel.h +include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h +include/llvm/DebugInfo/PDB/PDBSymbolThunk.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h +include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h +include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h +include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h +include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h +include/llvm/DebugInfo/PDB/PDBTypes.h +include/llvm/DebugInfo/PDB/UDTLayout.h +include/llvm/DebugInfo/Symbolize/DIPrinter.h +include/llvm/DebugInfo/Symbolize/SymbolizableModule.h +include/llvm/DebugInfo/Symbolize/Symbolize.h +include/llvm/Demangle/Demangle.h +include/llvm/ExecutionEngine/ExecutionEngine.h +include/llvm/ExecutionEngine/GenericValue.h +include/llvm/ExecutionEngine/Interpreter.h +include/llvm/ExecutionEngine/JITEventListener.h +include/llvm/ExecutionEngine/JITSymbol.h +include/llvm/ExecutionEngine/MCJIT.h +include/llvm/ExecutionEngine/OProfileWrapper.h +include/llvm/ExecutionEngine/ObjectCache.h +include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h +include/llvm/ExecutionEngine/Orc/CompileUtils.h +include/llvm/ExecutionEngine/Orc/Core.h +include/llvm/ExecutionEngine/Orc/ExecutionUtils.h +include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h +include/llvm/ExecutionEngine/Orc/IRCompileLayer.h +include/llvm/ExecutionEngine/Orc/IRTransformLayer.h +include/llvm/ExecutionEngine/Orc/IndirectionUtils.h +include/llvm/ExecutionEngine/Orc/LLJIT.h +include/llvm/ExecutionEngine/Orc/LambdaResolver.h +include/llvm/ExecutionEngine/Orc/Layer.h +include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h +include/llvm/ExecutionEngine/Orc/Legacy.h +include/llvm/ExecutionEngine/Orc/NullResolver.h +include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h +include/llvm/ExecutionEngine/Orc/OrcABISupport.h +include/llvm/ExecutionEngine/Orc/OrcError.h +include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h +include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h +include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h +include/llvm/ExecutionEngine/Orc/RPCSerialization.h +include/llvm/ExecutionEngine/Orc/RPCUtils.h +include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h +include/llvm/ExecutionEngine/Orc/RawByteChannel.h +include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h +include/llvm/ExecutionEngine/Orc/SymbolStringPool.h +include/llvm/ExecutionEngine/OrcMCJITReplacement.h +include/llvm/ExecutionEngine/RTDyldMemoryManager.h +include/llvm/ExecutionEngine/RuntimeDyld.h +include/llvm/ExecutionEngine/RuntimeDyldChecker.h +include/llvm/ExecutionEngine/SectionMemoryManager.h +include/llvm/FuzzMutate/FuzzerCLI.h +include/llvm/FuzzMutate/IRMutator.h +include/llvm/FuzzMutate/OpDescriptor.h +include/llvm/FuzzMutate/Operations.h +include/llvm/FuzzMutate/Random.h +include/llvm/FuzzMutate/RandomIRBuilder.h +include/llvm/IR/Argument.h +include/llvm/IR/AssemblyAnnotationWriter.h +include/llvm/IR/Attributes.h +include/llvm/IR/Attributes.inc +include/llvm/IR/Attributes.td +include/llvm/IR/AutoUpgrade.h +include/llvm/IR/BasicBlock.h +include/llvm/IR/CFG.h +include/llvm/IR/CallSite.h +include/llvm/IR/CallingConv.h +include/llvm/IR/Comdat.h +include/llvm/IR/Constant.h +include/llvm/IR/ConstantFolder.h +include/llvm/IR/ConstantRange.h +include/llvm/IR/Constants.h +include/llvm/IR/DIBuilder.h +include/llvm/IR/DataLayout.h +include/llvm/IR/DebugInfo.h +include/llvm/IR/DebugInfoFlags.def +include/llvm/IR/DebugInfoMetadata.h +include/llvm/IR/DebugLoc.h +include/llvm/IR/DerivedTypes.h +include/llvm/IR/DerivedUser.h +include/llvm/IR/DiagnosticHandler.h +include/llvm/IR/DiagnosticInfo.h +include/llvm/IR/DiagnosticPrinter.h +include/llvm/IR/DomTreeUpdater.h +include/llvm/IR/Dominators.h +include/llvm/IR/Function.h +include/llvm/IR/GVMaterializer.h +include/llvm/IR/GetElementPtrTypeIterator.h +include/llvm/IR/GlobalAlias.h +include/llvm/IR/GlobalIFunc.h +include/llvm/IR/GlobalIndirectSymbol.h +include/llvm/IR/GlobalObject.h +include/llvm/IR/GlobalValue.h +include/llvm/IR/GlobalVariable.h +include/llvm/IR/IRBuilder.h +include/llvm/IR/IRPrintingPasses.h +include/llvm/IR/InlineAsm.h +include/llvm/IR/InstIterator.h +include/llvm/IR/InstVisitor.h +include/llvm/IR/InstrTypes.h +include/llvm/IR/Instruction.def +include/llvm/IR/Instruction.h +include/llvm/IR/Instructions.h +include/llvm/IR/IntrinsicEnums.inc +include/llvm/IR/IntrinsicImpl.inc +include/llvm/IR/IntrinsicInst.h +include/llvm/IR/Intrinsics.h +include/llvm/IR/Intrinsics.td +include/llvm/IR/IntrinsicsAArch64.td +include/llvm/IR/IntrinsicsAMDGPU.td +include/llvm/IR/IntrinsicsARM.td +include/llvm/IR/IntrinsicsBPF.td +include/llvm/IR/IntrinsicsHexagon.td +include/llvm/IR/IntrinsicsMips.td +include/llvm/IR/IntrinsicsNVVM.td +include/llvm/IR/IntrinsicsPowerPC.td +include/llvm/IR/IntrinsicsSystemZ.td +include/llvm/IR/IntrinsicsWebAssembly.td +include/llvm/IR/IntrinsicsX86.td +include/llvm/IR/IntrinsicsXCore.td +include/llvm/IR/LLVMContext.h +include/llvm/IR/LegacyPassManager.h +include/llvm/IR/LegacyPassManagers.h +include/llvm/IR/LegacyPassNameParser.h +include/llvm/IR/MDBuilder.h +include/llvm/IR/Mangler.h +include/llvm/IR/Metadata.def +include/llvm/IR/Metadata.h +include/llvm/IR/Module.h +include/llvm/IR/ModuleSlotTracker.h +include/llvm/IR/ModuleSummaryIndex.h +include/llvm/IR/ModuleSummaryIndexYAML.h +include/llvm/IR/NoFolder.h +include/llvm/IR/OperandTraits.h +include/llvm/IR/Operator.h +include/llvm/IR/OptBisect.h +include/llvm/IR/PassManager.h +include/llvm/IR/PassManagerInternal.h +include/llvm/IR/PatternMatch.h +include/llvm/IR/PredIteratorCache.h +include/llvm/IR/ProfileSummary.h +include/llvm/IR/RuntimeLibcalls.def +include/llvm/IR/SafepointIRVerifier.h +include/llvm/IR/Statepoint.h +include/llvm/IR/SymbolTableListTraits.h +include/llvm/IR/TrackingMDRef.h +include/llvm/IR/Type.h +include/llvm/IR/TypeBuilder.h +include/llvm/IR/TypeFinder.h +include/llvm/IR/Use.h +include/llvm/IR/UseListOrder.h +include/llvm/IR/User.h +include/llvm/IR/Value.def +include/llvm/IR/Value.h +include/llvm/IR/ValueHandle.h +include/llvm/IR/ValueMap.h +include/llvm/IR/ValueSymbolTable.h +include/llvm/IR/Verifier.h +include/llvm/IRReader/IRReader.h +include/llvm/InitializePasses.h +include/llvm/LTO/Caching.h +include/llvm/LTO/Config.h +include/llvm/LTO/LTO.h +include/llvm/LTO/LTOBackend.h +include/llvm/LTO/legacy/LTOCodeGenerator.h +include/llvm/LTO/legacy/LTOModule.h +include/llvm/LTO/legacy/ThinLTOCodeGenerator.h +include/llvm/LTO/legacy/UpdateCompilerUsed.h +include/llvm/LineEditor/LineEditor.h +include/llvm/LinkAllIR.h +include/llvm/LinkAllPasses.h +include/llvm/Linker/IRMover.h +include/llvm/Linker/Linker.h +include/llvm/MC/ConstantPools.h +include/llvm/MC/LaneBitmask.h +include/llvm/MC/MCAsmBackend.h +include/llvm/MC/MCAsmInfo.h +include/llvm/MC/MCAsmInfoCOFF.h +include/llvm/MC/MCAsmInfoDarwin.h +include/llvm/MC/MCAsmInfoELF.h +include/llvm/MC/MCAsmInfoWasm.h +include/llvm/MC/MCAsmLayout.h +include/llvm/MC/MCAsmMacro.h +include/llvm/MC/MCAssembler.h +include/llvm/MC/MCCodeEmitter.h +include/llvm/MC/MCCodePadder.h +include/llvm/MC/MCCodeView.h +include/llvm/MC/MCContext.h +include/llvm/MC/MCDirectives.h +include/llvm/MC/MCDisassembler/MCDisassembler.h +include/llvm/MC/MCDisassembler/MCExternalSymbolizer.h +include/llvm/MC/MCDisassembler/MCRelocationInfo.h +include/llvm/MC/MCDisassembler/MCSymbolizer.h +include/llvm/MC/MCDwarf.h +include/llvm/MC/MCELFObjectWriter.h +include/llvm/MC/MCELFStreamer.h +include/llvm/MC/MCExpr.h +include/llvm/MC/MCFixedLenDisassembler.h +include/llvm/MC/MCFixup.h +include/llvm/MC/MCFixupKindInfo.h +include/llvm/MC/MCFragment.h +include/llvm/MC/MCInst.h +include/llvm/MC/MCInstBuilder.h +include/llvm/MC/MCInstPrinter.h +include/llvm/MC/MCInstrAnalysis.h +include/llvm/MC/MCInstrDesc.h +include/llvm/MC/MCInstrInfo.h +include/llvm/MC/MCInstrItineraries.h +include/llvm/MC/MCLabel.h +include/llvm/MC/MCLinkerOptimizationHint.h +include/llvm/MC/MCMachObjectWriter.h +include/llvm/MC/MCObjectFileInfo.h +include/llvm/MC/MCObjectStreamer.h +include/llvm/MC/MCObjectWriter.h +include/llvm/MC/MCParser/AsmCond.h +include/llvm/MC/MCParser/AsmLexer.h +include/llvm/MC/MCParser/MCAsmLexer.h +include/llvm/MC/MCParser/MCAsmParser.h +include/llvm/MC/MCParser/MCAsmParserExtension.h +include/llvm/MC/MCParser/MCAsmParserUtils.h +include/llvm/MC/MCParser/MCParsedAsmOperand.h +include/llvm/MC/MCParser/MCTargetAsmParser.h +include/llvm/MC/MCRegisterInfo.h +include/llvm/MC/MCSchedule.h +include/llvm/MC/MCSection.h +include/llvm/MC/MCSectionCOFF.h +include/llvm/MC/MCSectionELF.h +include/llvm/MC/MCSectionMachO.h +include/llvm/MC/MCSectionWasm.h +include/llvm/MC/MCStreamer.h +include/llvm/MC/MCSubtargetInfo.h +include/llvm/MC/MCSymbol.h +include/llvm/MC/MCSymbolCOFF.h +include/llvm/MC/MCSymbolELF.h +include/llvm/MC/MCSymbolMachO.h +include/llvm/MC/MCSymbolWasm.h +include/llvm/MC/MCTargetOptions.h +include/llvm/MC/MCTargetOptionsCommandFlags.inc +include/llvm/MC/MCValue.h +include/llvm/MC/MCWasmObjectWriter.h +include/llvm/MC/MCWasmStreamer.h +include/llvm/MC/MCWin64EH.h +include/llvm/MC/MCWinCOFFObjectWriter.h +include/llvm/MC/MCWinCOFFStreamer.h +include/llvm/MC/MCWinEH.h +include/llvm/MC/MachineLocation.h +include/llvm/MC/SectionKind.h +include/llvm/MC/StringTableBuilder.h +include/llvm/MC/SubtargetFeature.h +include/llvm/Object/Archive.h +include/llvm/Object/ArchiveWriter.h +include/llvm/Object/Binary.h +include/llvm/Object/COFF.h +include/llvm/Object/COFFImportFile.h +include/llvm/Object/COFFModuleDefinition.h +include/llvm/Object/CVDebugRecord.h +include/llvm/Object/Decompressor.h +include/llvm/Object/ELF.h +include/llvm/Object/ELFObjectFile.h +include/llvm/Object/ELFTypes.h +include/llvm/Object/Error.h +include/llvm/Object/IRObjectFile.h +include/llvm/Object/IRSymtab.h +include/llvm/Object/MachO.h +include/llvm/Object/MachOUniversal.h +include/llvm/Object/ModuleSymbolTable.h +include/llvm/Object/ObjectFile.h +include/llvm/Object/RelocVisitor.h +include/llvm/Object/StackMapParser.h +include/llvm/Object/SymbolSize.h +include/llvm/Object/SymbolicFile.h +include/llvm/Object/Wasm.h +include/llvm/Object/WasmTraits.h +include/llvm/Object/WindowsResource.h +include/llvm/ObjectYAML/COFFYAML.h +include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h +include/llvm/ObjectYAML/CodeViewYAMLSymbols.h +include/llvm/ObjectYAML/CodeViewYAMLTypeHashing.h +include/llvm/ObjectYAML/CodeViewYAMLTypes.h +include/llvm/ObjectYAML/DWARFEmitter.h +include/llvm/ObjectYAML/DWARFYAML.h +include/llvm/ObjectYAML/ELFYAML.h +include/llvm/ObjectYAML/MachOYAML.h +include/llvm/ObjectYAML/ObjectYAML.h +include/llvm/ObjectYAML/WasmYAML.h +include/llvm/ObjectYAML/YAML.h +include/llvm/Option/Arg.h +include/llvm/Option/ArgList.h +include/llvm/Option/OptParser.td +include/llvm/Option/OptSpecifier.h +include/llvm/Option/OptTable.h +include/llvm/Option/Option.h +include/llvm/Pass.h +include/llvm/PassAnalysisSupport.h +include/llvm/PassInfo.h +include/llvm/PassRegistry.h +include/llvm/PassSupport.h +include/llvm/Passes/PassBuilder.h +include/llvm/Passes/PassPlugin.h +include/llvm/ProfileData/Coverage/CoverageMapping.h +include/llvm/ProfileData/Coverage/CoverageMappingReader.h +include/llvm/ProfileData/Coverage/CoverageMappingWriter.h +include/llvm/ProfileData/GCOV.h +include/llvm/ProfileData/InstrProf.h +include/llvm/ProfileData/InstrProfData.inc +include/llvm/ProfileData/InstrProfReader.h +include/llvm/ProfileData/InstrProfWriter.h +include/llvm/ProfileData/ProfileCommon.h +include/llvm/ProfileData/SampleProf.h +include/llvm/ProfileData/SampleProfReader.h +include/llvm/ProfileData/SampleProfWriter.h +include/llvm/Support/AArch64TargetParser.def +include/llvm/Support/AMDGPUMetadata.h +include/llvm/Support/AMDHSAKernelDescriptor.h +include/llvm/Support/ARMAttributeParser.h +include/llvm/Support/ARMBuildAttributes.h +include/llvm/Support/ARMEHABI.h +include/llvm/Support/ARMTargetParser.def +include/llvm/Support/ARMWinEH.h +include/llvm/Support/AlignOf.h +include/llvm/Support/Allocator.h +include/llvm/Support/ArrayRecycler.h +include/llvm/Support/Atomic.h +include/llvm/Support/AtomicOrdering.h +include/llvm/Support/BinaryByteStream.h +include/llvm/Support/BinaryItemStream.h +include/llvm/Support/BinaryStream.h +include/llvm/Support/BinaryStreamArray.h +include/llvm/Support/BinaryStreamError.h +include/llvm/Support/BinaryStreamReader.h +include/llvm/Support/BinaryStreamRef.h +include/llvm/Support/BinaryStreamWriter.h +include/llvm/Support/BlockFrequency.h +include/llvm/Support/BranchProbability.h +include/llvm/Support/CBindingWrapping.h +include/llvm/Support/COM.h +include/llvm/Support/CachePruning.h +include/llvm/Support/Capacity.h +include/llvm/Support/Casting.h +include/llvm/Support/CheckedArithmetic.h +include/llvm/Support/Chrono.h +include/llvm/Support/CodeGen.h +include/llvm/Support/CodeGenCoverage.h +include/llvm/Support/CommandLine.h +include/llvm/Support/Compiler.h +include/llvm/Support/Compression.h +include/llvm/Support/ConvertUTF.h +include/llvm/Support/CrashRecoveryContext.h +include/llvm/Support/DJB.h +include/llvm/Support/DOTGraphTraits.h +include/llvm/Support/DataExtractor.h +include/llvm/Support/DataTypes.h +include/llvm/Support/Debug.h +include/llvm/Support/DebugCounter.h +include/llvm/Support/DynamicLibrary.h +include/llvm/Support/Endian.h +include/llvm/Support/EndianStream.h +include/llvm/Support/Errc.h +include/llvm/Support/Errno.h +include/llvm/Support/Error.h +include/llvm/Support/ErrorHandling.h +include/llvm/Support/ErrorOr.h +include/llvm/Support/FileOutputBuffer.h +include/llvm/Support/FileSystem.h +include/llvm/Support/FileUtilities.h +include/llvm/Support/Format.h +include/llvm/Support/FormatAdapters.h +include/llvm/Support/FormatCommon.h +include/llvm/Support/FormatProviders.h +include/llvm/Support/FormatVariadic.h +include/llvm/Support/FormatVariadicDetails.h +include/llvm/Support/FormattedStream.h +include/llvm/Support/GenericDomTree.h +include/llvm/Support/GenericDomTreeConstruction.h +include/llvm/Support/GlobPattern.h +include/llvm/Support/GraphWriter.h +include/llvm/Support/Host.h +include/llvm/Support/InitLLVM.h +include/llvm/Support/JSON.h +include/llvm/Support/JamCRC.h +include/llvm/Support/KnownBits.h +include/llvm/Support/LEB128.h +include/llvm/Support/LICENSE.TXT +include/llvm/Support/LineIterator.h +include/llvm/Support/Locale.h +include/llvm/Support/LockFileManager.h +include/llvm/Support/LowLevelTypeImpl.h +include/llvm/Support/MD5.h +include/llvm/Support/MachineValueType.h +include/llvm/Support/ManagedStatic.h +include/llvm/Support/MathExtras.h +include/llvm/Support/MemAlloc.h +include/llvm/Support/Memory.h +include/llvm/Support/MemoryBuffer.h +include/llvm/Support/MipsABIFlags.h +include/llvm/Support/Mutex.h +include/llvm/Support/MutexGuard.h +include/llvm/Support/NativeFormatting.h +include/llvm/Support/OnDiskHashTable.h +include/llvm/Support/Options.h +include/llvm/Support/Parallel.h +include/llvm/Support/Path.h +include/llvm/Support/PluginLoader.h +include/llvm/Support/PointerLikeTypeTraits.h +include/llvm/Support/PrettyStackTrace.h +include/llvm/Support/Printable.h +include/llvm/Support/Process.h +include/llvm/Support/Program.h +include/llvm/Support/RWMutex.h +include/llvm/Support/RandomNumberGenerator.h +include/llvm/Support/Recycler.h +include/llvm/Support/RecyclingAllocator.h +include/llvm/Support/Regex.h +include/llvm/Support/Registry.h +include/llvm/Support/ReverseIteration.h +include/llvm/Support/SHA1.h +include/llvm/Support/SMLoc.h +include/llvm/Support/SaveAndRestore.h +include/llvm/Support/ScaledNumber.h +include/llvm/Support/ScopedPrinter.h +include/llvm/Support/Signals.h +include/llvm/Support/SmallVectorMemoryBuffer.h +include/llvm/Support/Solaris/sys/regset.h +include/llvm/Support/SourceMgr.h +include/llvm/Support/SpecialCaseList.h +include/llvm/Support/StringPool.h +include/llvm/Support/StringSaver.h +include/llvm/Support/SwapByteOrder.h +include/llvm/Support/SystemUtils.h +include/llvm/Support/TarWriter.h +include/llvm/Support/TargetOpcodes.def +include/llvm/Support/TargetParser.h +include/llvm/Support/TargetRegistry.h +include/llvm/Support/TargetSelect.h +include/llvm/Support/TaskQueue.h +include/llvm/Support/ThreadLocal.h +include/llvm/Support/ThreadPool.h +include/llvm/Support/Threading.h +include/llvm/Support/Timer.h +include/llvm/Support/ToolOutputFile.h +include/llvm/Support/TrailingObjects.h +include/llvm/Support/TrigramIndex.h +include/llvm/Support/TypeName.h +include/llvm/Support/Unicode.h +include/llvm/Support/UnicodeCharRanges.h +include/llvm/Support/UniqueLock.h +include/llvm/Support/VCSRevision.h +include/llvm/Support/Valgrind.h +include/llvm/Support/VersionTuple.h +include/llvm/Support/Watchdog.h +include/llvm/Support/Win64EH.h +include/llvm/Support/WindowsError.h +include/llvm/Support/WithColor.h +include/llvm/Support/X86DisassemblerDecoderCommon.h +include/llvm/Support/X86TargetParser.def +include/llvm/Support/YAMLParser.h +include/llvm/Support/YAMLTraits.h +include/llvm/Support/circular_raw_ostream.h +include/llvm/Support/raw_os_ostream.h +include/llvm/Support/raw_ostream.h +include/llvm/Support/raw_sha1_ostream.h +include/llvm/Support/thread.h +include/llvm/Support/type_traits.h +include/llvm/Support/xxhash.h +include/llvm/TableGen/Error.h +include/llvm/TableGen/Main.h +include/llvm/TableGen/Record.h +include/llvm/TableGen/SearchableTable.td +include/llvm/TableGen/SetTheory.h +include/llvm/TableGen/StringMatcher.h +include/llvm/TableGen/StringToOffsetTable.h +include/llvm/TableGen/TableGenBackend.h +include/llvm/Target/CodeGenCWrappers.h +include/llvm/Target/GenericOpcodes.td +include/llvm/Target/GlobalISel/RegisterBank.td +include/llvm/Target/GlobalISel/SelectionDAGCompat.td +include/llvm/Target/GlobalISel/Target.td +include/llvm/Target/Target.td +include/llvm/Target/TargetCallingConv.td +include/llvm/Target/TargetInstrPredicate.td +include/llvm/Target/TargetIntrinsicInfo.h +include/llvm/Target/TargetItinerary.td +include/llvm/Target/TargetLoweringObjectFile.h +include/llvm/Target/TargetMachine.h +include/llvm/Target/TargetOptions.h +include/llvm/Target/TargetSchedule.td +include/llvm/Target/TargetSelectionDAG.td +include/llvm/Testing/Support/Error.h +include/llvm/Testing/Support/SupportHelpers.h +include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h +include/llvm/ToolDrivers/llvm-lib/LibDriver.h +include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h +include/llvm/Transforms/Coroutines.h +include/llvm/Transforms/IPO.h +include/llvm/Transforms/IPO/AlwaysInliner.h +include/llvm/Transforms/IPO/ArgumentPromotion.h +include/llvm/Transforms/IPO/CalledValuePropagation.h +include/llvm/Transforms/IPO/ConstantMerge.h +include/llvm/Transforms/IPO/CrossDSOCFI.h +include/llvm/Transforms/IPO/DeadArgumentElimination.h +include/llvm/Transforms/IPO/ElimAvailExtern.h +include/llvm/Transforms/IPO/ForceFunctionAttrs.h +include/llvm/Transforms/IPO/FunctionAttrs.h +include/llvm/Transforms/IPO/FunctionImport.h +include/llvm/Transforms/IPO/GlobalDCE.h +include/llvm/Transforms/IPO/GlobalOpt.h +include/llvm/Transforms/IPO/GlobalSplit.h +include/llvm/Transforms/IPO/InferFunctionAttrs.h +include/llvm/Transforms/IPO/Inliner.h +include/llvm/Transforms/IPO/Internalize.h +include/llvm/Transforms/IPO/LowerTypeTests.h +include/llvm/Transforms/IPO/PartialInlining.h +include/llvm/Transforms/IPO/PassManagerBuilder.h +include/llvm/Transforms/IPO/SCCP.h +include/llvm/Transforms/IPO/SampleProfile.h +include/llvm/Transforms/IPO/StripDeadPrototypes.h +include/llvm/Transforms/IPO/SyntheticCountsPropagation.h +include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h +include/llvm/Transforms/IPO/WholeProgramDevirt.h +include/llvm/Transforms/InstCombine/InstCombine.h +include/llvm/Transforms/InstCombine/InstCombineWorklist.h +include/llvm/Transforms/Instrumentation.h +include/llvm/Transforms/Instrumentation/BoundsChecking.h +include/llvm/Transforms/Instrumentation/CGProfile.h +include/llvm/Transforms/Instrumentation/GCOVProfiler.h +include/llvm/Transforms/Instrumentation/InstrProfiling.h +include/llvm/Transforms/Instrumentation/PGOInstrumentation.h +include/llvm/Transforms/ObjCARC.h +include/llvm/Transforms/Scalar.h +include/llvm/Transforms/Scalar/ADCE.h +include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h +include/llvm/Transforms/Scalar/BDCE.h +include/llvm/Transforms/Scalar/CallSiteSplitting.h +include/llvm/Transforms/Scalar/ConstantHoisting.h +include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h +include/llvm/Transforms/Scalar/DCE.h +include/llvm/Transforms/Scalar/DeadStoreElimination.h +include/llvm/Transforms/Scalar/DivRemPairs.h +include/llvm/Transforms/Scalar/EarlyCSE.h +include/llvm/Transforms/Scalar/Float2Int.h +include/llvm/Transforms/Scalar/GVN.h +include/llvm/Transforms/Scalar/GVNExpression.h +include/llvm/Transforms/Scalar/GuardWidening.h +include/llvm/Transforms/Scalar/IVUsersPrinter.h +include/llvm/Transforms/Scalar/IndVarSimplify.h +include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h +include/llvm/Transforms/Scalar/InstSimplifyPass.h +include/llvm/Transforms/Scalar/JumpThreading.h +include/llvm/Transforms/Scalar/LICM.h +include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h +include/llvm/Transforms/Scalar/LoopDataPrefetch.h +include/llvm/Transforms/Scalar/LoopDeletion.h +include/llvm/Transforms/Scalar/LoopDistribute.h +include/llvm/Transforms/Scalar/LoopIdiomRecognize.h +include/llvm/Transforms/Scalar/LoopInstSimplify.h +include/llvm/Transforms/Scalar/LoopLoadElimination.h +include/llvm/Transforms/Scalar/LoopPassManager.h +include/llvm/Transforms/Scalar/LoopPredication.h +include/llvm/Transforms/Scalar/LoopRotation.h +include/llvm/Transforms/Scalar/LoopSimplifyCFG.h +include/llvm/Transforms/Scalar/LoopSink.h +include/llvm/Transforms/Scalar/LoopStrengthReduce.h +include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h +include/llvm/Transforms/Scalar/LoopUnrollPass.h +include/llvm/Transforms/Scalar/LowerAtomic.h +include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h +include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h +include/llvm/Transforms/Scalar/MemCpyOptimizer.h +include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h +include/llvm/Transforms/Scalar/NaryReassociate.h +include/llvm/Transforms/Scalar/NewGVN.h +include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h +include/llvm/Transforms/Scalar/Reassociate.h +include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h +include/llvm/Transforms/Scalar/SCCP.h +include/llvm/Transforms/Scalar/SROA.h +include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h +include/llvm/Transforms/Scalar/SimplifyCFG.h +include/llvm/Transforms/Scalar/Sink.h +include/llvm/Transforms/Scalar/SpeculateAroundPHIs.h +include/llvm/Transforms/Scalar/SpeculativeExecution.h +include/llvm/Transforms/Scalar/TailRecursionElimination.h +include/llvm/Transforms/Utils.h +include/llvm/Transforms/Utils/ASanStackFrameLayout.h +include/llvm/Transforms/Utils/AddDiscriminators.h +include/llvm/Transforms/Utils/BasicBlockUtils.h +include/llvm/Transforms/Utils/BreakCriticalEdges.h +include/llvm/Transforms/Utils/BuildLibCalls.h +include/llvm/Transforms/Utils/BypassSlowDivision.h +include/llvm/Transforms/Utils/CallPromotionUtils.h +include/llvm/Transforms/Utils/Cloning.h +include/llvm/Transforms/Utils/CodeExtractor.h +include/llvm/Transforms/Utils/CtorUtils.h +include/llvm/Transforms/Utils/EntryExitInstrumenter.h +include/llvm/Transforms/Utils/EscapeEnumerator.h +include/llvm/Transforms/Utils/Evaluator.h +include/llvm/Transforms/Utils/FunctionComparator.h +include/llvm/Transforms/Utils/FunctionImportUtils.h +include/llvm/Transforms/Utils/GlobalStatus.h +include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h +include/llvm/Transforms/Utils/IntegerDivision.h +include/llvm/Transforms/Utils/LCSSA.h +include/llvm/Transforms/Utils/LibCallsShrinkWrap.h +include/llvm/Transforms/Utils/Local.h +include/llvm/Transforms/Utils/LoopRotationUtils.h +include/llvm/Transforms/Utils/LoopSimplify.h +include/llvm/Transforms/Utils/LoopUtils.h +include/llvm/Transforms/Utils/LoopVersioning.h +include/llvm/Transforms/Utils/LowerInvoke.h +include/llvm/Transforms/Utils/LowerMemIntrinsics.h +include/llvm/Transforms/Utils/Mem2Reg.h +include/llvm/Transforms/Utils/ModuleUtils.h +include/llvm/Transforms/Utils/NameAnonGlobals.h +include/llvm/Transforms/Utils/OrderedInstructions.h +include/llvm/Transforms/Utils/PredicateInfo.h +include/llvm/Transforms/Utils/PromoteMemToReg.h +include/llvm/Transforms/Utils/SSAUpdater.h +include/llvm/Transforms/Utils/SSAUpdaterBulk.h +include/llvm/Transforms/Utils/SSAUpdaterImpl.h +include/llvm/Transforms/Utils/SanitizerStats.h +include/llvm/Transforms/Utils/SimplifyIndVar.h +include/llvm/Transforms/Utils/SimplifyLibCalls.h +include/llvm/Transforms/Utils/SplitModule.h +include/llvm/Transforms/Utils/SymbolRewriter.h +include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h +include/llvm/Transforms/Utils/UnrollLoop.h +include/llvm/Transforms/Utils/VNCoercion.h +include/llvm/Transforms/Utils/ValueMapper.h +include/llvm/Transforms/Vectorize.h +include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h +include/llvm/Transforms/Vectorize/LoopVectorize.h +include/llvm/Transforms/Vectorize/SLPVectorizer.h +include/llvm/WindowsManifest/WindowsManifestMerger.h +include/llvm/WindowsResource/ResourceProcessor.h +include/llvm/WindowsResource/ResourceScriptToken.h +include/llvm/WindowsResource/ResourceScriptTokenList.h +include/llvm/XRay/Graph.h +include/llvm/XRay/InstrumentationMap.h +include/llvm/XRay/Trace.h +include/llvm/XRay/XRayRecord.h +include/llvm/XRay/YAMLXRayRecord.h +lib/BugpointPasses.${SOEXT} +lib/LLVMHello.${SOEXT} +lib/TestPlugin.${SOEXT} +lib/cmake/llvm/AddLLVM.cmake +lib/cmake/llvm/AddLLVMDefinitions.cmake +lib/cmake/llvm/AddOCaml.cmake +lib/cmake/llvm/AddSphinxTarget.cmake +lib/cmake/llvm/CheckAtomic.cmake +lib/cmake/llvm/CheckCompilerVersion.cmake +lib/cmake/llvm/CheckLinkerFlag.cmake +lib/cmake/llvm/ChooseMSVCCRT.cmake +lib/cmake/llvm/CrossCompile.cmake +lib/cmake/llvm/DetermineGCCCompatible.cmake +lib/cmake/llvm/FindLibpfm.cmake +lib/cmake/llvm/FindOCaml.cmake +lib/cmake/llvm/FindSphinx.cmake +lib/cmake/llvm/GenerateVersionFromCVS.cmake +lib/cmake/llvm/GetSVN.cmake +lib/cmake/llvm/HandleLLVMOptions.cmake +lib/cmake/llvm/HandleLLVMStdlib.cmake +lib/cmake/llvm/LLVM-Config.cmake +lib/cmake/llvm/LLVMConfig.cmake +lib/cmake/llvm/LLVMConfigVersion.cmake +lib/cmake/llvm/LLVMExports-release.cmake +lib/cmake/llvm/LLVMExports.cmake +lib/cmake/llvm/LLVMExternalProjectUtils.cmake +lib/cmake/llvm/LLVMInstallSymlink.cmake +lib/cmake/llvm/LLVMProcessSources.cmake +lib/cmake/llvm/TableGen.cmake +lib/cmake/llvm/VersionFromVCS.cmake +lib/libLLVM-${PKGVERSION}.${SOEXT} +lib/libLLVM-7.${SOEXT} +lib/libLLVM.${SOEXT} +${PLIST.AArch64}lib/libLLVMAArch64AsmParser.a +${PLIST.AArch64}lib/libLLVMAArch64AsmPrinter.a +${PLIST.AArch64}lib/libLLVMAArch64CodeGen.a +${PLIST.AArch64}lib/libLLVMAArch64Desc.a +${PLIST.AArch64}lib/libLLVMAArch64Disassembler.a +${PLIST.AArch64}lib/libLLVMAArch64Info.a +${PLIST.AArch64}lib/libLLVMAArch64Utils.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUAsmParser.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUAsmPrinter.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUCodeGen.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUDesc.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUDisassembler.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUInfo.a +${PLIST.AMDGPU}lib/libLLVMAMDGPUUtils.a +${PLIST.ARM}lib/libLLVMARMAsmParser.a +${PLIST.ARM}lib/libLLVMARMAsmPrinter.a +${PLIST.ARM}lib/libLLVMARMCodeGen.a +${PLIST.ARM}lib/libLLVMARMDesc.a +${PLIST.ARM}lib/libLLVMARMDisassembler.a +${PLIST.ARM}lib/libLLVMARMInfo.a +${PLIST.ARM}lib/libLLVMARMUtils.a +lib/libLLVMAggressiveInstCombine.a +lib/libLLVMAnalysis.a +lib/libLLVMAsmParser.a +lib/libLLVMAsmPrinter.a +${PLIST.BPF}lib/libLLVMBPFAsmParser.a +${PLIST.BPF}lib/libLLVMBPFAsmPrinter.a +${PLIST.BPF}lib/libLLVMBPFCodeGen.a +${PLIST.BPF}lib/libLLVMBPFDesc.a +${PLIST.BPF}lib/libLLVMBPFDisassembler.a +${PLIST.BPF}lib/libLLVMBPFInfo.a +lib/libLLVMBinaryFormat.a +lib/libLLVMBitReader.a +lib/libLLVMBitWriter.a +lib/libLLVMCodeGen.a +lib/libLLVMCore.a +lib/libLLVMCoroutines.a +lib/libLLVMCoverage.a +lib/libLLVMDebugInfoCodeView.a +lib/libLLVMDebugInfoDWARF.a +lib/libLLVMDebugInfoMSF.a +lib/libLLVMDebugInfoPDB.a +lib/libLLVMDemangle.a +lib/libLLVMDlltoolDriver.a +lib/libLLVMExecutionEngine.a +lib/libLLVMFuzzMutate.a +lib/libLLVMGlobalISel.a +${PLIST.Hexagon}lib/libLLVMHexagonAsmParser.a +${PLIST.Hexagon}lib/libLLVMHexagonCodeGen.a +${PLIST.Hexagon}lib/libLLVMHexagonDesc.a +${PLIST.Hexagon}lib/libLLVMHexagonDisassembler.a +${PLIST.Hexagon}lib/libLLVMHexagonInfo.a +lib/libLLVMIRReader.a +lib/libLLVMInstCombine.a +lib/libLLVMInstrumentation.a +lib/libLLVMInterpreter.a +lib/libLLVMLTO.a +lib/libLLVMLibDriver.a +lib/libLLVMLineEditor.a +lib/libLLVMLinker.a +lib/libLLVMMC.a +lib/libLLVMMCDisassembler.a +lib/libLLVMMCJIT.a +lib/libLLVMMCParser.a +lib/libLLVMMIRParser.a +${PLIST.Lanai}lib/libLLVMLanaiAsmParser.a +${PLIST.Lanai}lib/libLLVMLanaiAsmPrinter.a +${PLIST.Lanai}lib/libLLVMLanaiCodeGen.a +${PLIST.Lanai}lib/libLLVMLanaiDesc.a +${PLIST.Lanai}lib/libLLVMLanaiDisassembler.a +${PLIST.Lanai}lib/libLLVMLanaiInfo.a +${PLIST.MSP430}lib/libLLVMMSP430AsmPrinter.a +${PLIST.MSP430}lib/libLLVMMSP430CodeGen.a +${PLIST.MSP430}lib/libLLVMMSP430Desc.a +${PLIST.MSP430}lib/libLLVMMSP430Info.a +${PLIST.Mips}lib/libLLVMMipsAsmParser.a +${PLIST.Mips}lib/libLLVMMipsAsmPrinter.a +${PLIST.Mips}lib/libLLVMMipsCodeGen.a +${PLIST.Mips}lib/libLLVMMipsDesc.a +${PLIST.Mips}lib/libLLVMMipsDisassembler.a +${PLIST.Mips}lib/libLLVMMipsInfo.a +${PLIST.NVPTX}lib/libLLVMNVPTXAsmPrinter.a +${PLIST.NVPTX}lib/libLLVMNVPTXCodeGen.a +${PLIST.NVPTX}lib/libLLVMNVPTXDesc.a +${PLIST.NVPTX}lib/libLLVMNVPTXInfo.a +lib/libLLVMObjCARCOpts.a +lib/libLLVMObject.a +lib/libLLVMObjectYAML.a +lib/libLLVMOption.a +lib/libLLVMOrcJIT.a +lib/libLLVMPasses.a +${PLIST.PowerPC}lib/libLLVMPowerPCAsmParser.a +${PLIST.PowerPC}lib/libLLVMPowerPCAsmPrinter.a +${PLIST.PowerPC}lib/libLLVMPowerPCCodeGen.a +${PLIST.PowerPC}lib/libLLVMPowerPCDesc.a +${PLIST.PowerPC}lib/libLLVMPowerPCDisassembler.a +${PLIST.PowerPC}lib/libLLVMPowerPCInfo.a +lib/libLLVMProfileData.a +lib/libLLVMRuntimeDyld.a +lib/libLLVMScalarOpts.a +lib/libLLVMSelectionDAG.a +${PLIST.Sparc}lib/libLLVMSparcAsmParser.a +${PLIST.Sparc}lib/libLLVMSparcAsmPrinter.a +${PLIST.Sparc}lib/libLLVMSparcCodeGen.a +${PLIST.Sparc}lib/libLLVMSparcDesc.a +${PLIST.Sparc}lib/libLLVMSparcDisassembler.a +${PLIST.Sparc}lib/libLLVMSparcInfo.a +lib/libLLVMSupport.a +lib/libLLVMSymbolize.a +${PLIST.SystemZ}lib/libLLVMSystemZAsmParser.a +${PLIST.SystemZ}lib/libLLVMSystemZAsmPrinter.a +${PLIST.SystemZ}lib/libLLVMSystemZCodeGen.a +${PLIST.SystemZ}lib/libLLVMSystemZDesc.a +${PLIST.SystemZ}lib/libLLVMSystemZDisassembler.a +${PLIST.SystemZ}lib/libLLVMSystemZInfo.a +lib/libLLVMTableGen.a +lib/libLLVMTarget.a +lib/libLLVMTransformUtils.a +lib/libLLVMVectorize.a +lib/libLLVMWindowsManifest.a +${PLIST.X86}lib/libLLVMX86AsmParser.a +${PLIST.X86}lib/libLLVMX86AsmPrinter.a +${PLIST.X86}lib/libLLVMX86CodeGen.a +${PLIST.X86}lib/libLLVMX86Desc.a +${PLIST.X86}lib/libLLVMX86Disassembler.a +${PLIST.X86}lib/libLLVMX86Info.a +${PLIST.X86}lib/libLLVMX86Utils.a +${PLIST.XCore}lib/libLLVMXCoreAsmPrinter.a +${PLIST.XCore}lib/libLLVMXCoreCodeGen.a +${PLIST.XCore}lib/libLLVMXCoreDesc.a +${PLIST.XCore}lib/libLLVMXCoreDisassembler.a +${PLIST.XCore}lib/libLLVMXCoreInfo.a +lib/libLLVMXRay.a +lib/libLLVMipo.a +lib/libLTO.${SOEXT} +${PLIST.notdylib}lib/libLTO.${SOEXT}.7 +share/opt-viewer/opt-diff.py +share/opt-viewer/opt-stats.py +share/opt-viewer/opt-viewer.py +share/opt-viewer/optpmap.py +share/opt-viewer/optrecord.py +share/opt-viewer/style.css diff --git a/llvm-dfbsd/buildlink3.mk b/llvm-dfbsd/buildlink3.mk new file mode 100644 index 0000000000..d9f8d4aa9d --- /dev/null +++ b/llvm-dfbsd/buildlink3.mk @@ -0,0 +1,22 @@ +# $NetBSD: buildlink3.mk,v 1.7 2018/12/09 20:04:38 adam Exp $ + +BUILDLINK_TREE+= llvm + +.if !defined(LLVM_BUILDLINK3_MK) +LLVM_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.llvm+= llvm>=7.0.0 +BUILDLINK_PKGSRCDIR.llvm?= ../../lang/llvm + +LLVM_CONFIG_PATH?= ${BUILDLINK_PREFIX.llvm}/bin/llvm-config + +pkgbase := llvm +.include "../../mk/pkg-build-options.mk" +.if !empty(PKG_BUILD_OPTIONS.llvm:Mterminfo) +.include "../../mk/terminfo.buildlink3.mk" +.endif + +.include "../../devel/zlib/buildlink3.mk" +.endif # LLVM_BUILDLINK3_MK + +BUILDLINK_TREE+= -llvm diff --git a/llvm-dfbsd/distinfo b/llvm-dfbsd/distinfo new file mode 100644 index 0000000000..21556f9a43 --- /dev/null +++ b/llvm-dfbsd/distinfo @@ -0,0 +1,15 @@ +$NetBSD: distinfo,v 1.19 2018/12/23 00:11:39 adam Exp $ + +SHA1 (llvm-7.0.1.src.tar.xz) = f97632fcc3186eb0d396492ef8acfc807648580f +RMD160 (llvm-7.0.1.src.tar.xz) = dae96c6f85afb60e73564dc40d02171d01ffdb8f +SHA512 (llvm-7.0.1.src.tar.xz) = ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df +Size (llvm-7.0.1.src.tar.xz) = 28311056 bytes +SHA1 (patch-CMakeLists.txt) = 78e2dab2bf73f7e466ca2788fe6444e39b4ebd80 +SHA1 (patch-cmake_config-ix.cmake) = a345420169e4066e22d28ca6ad10840e83ccfa76 +SHA1 (patch-cmake_modules_AddLLVM.cmake) = 31d4f47f03bef021a24d53147c1b66abd64e1d87 +SHA1 (patch-cmake_modules_CheckAtomic.cmake) = 51e4fdf3bc24b50fc4d4bfa1ec5ba6c82ef946b4 +SHA1 (patch-cmake_modules_HandleLLVMOptions.cmake) = 271e6f5a8cebf8162c4e3b758e96f451b434269b +SHA1 (patch-include_llvm-c_DataTypes.h) = 025c035e0e10871727391bd58936bd67b3e58244 +SHA1 (patch-include_llvm_Analysis_ConstantFolding.h) = 56b9374da236c346565897977040255b9766cab8 +SHA1 (patch-lib_Support_Unix_Path.inc) = e5cf93a65bad156ddc9688020d8d35ed9eb7e067 +SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 45278d8acc6daa3d36a1a7b15e2e3b9a75a218e6 diff --git a/llvm-dfbsd/options.mk b/llvm-dfbsd/options.mk new file mode 100644 index 0000000000..f392418edb --- /dev/null +++ b/llvm-dfbsd/options.mk @@ -0,0 +1,55 @@ +# $NetBSD: options.mk,v 1.4 2019/01/26 23:47:43 tnn Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.llvm + +LLVM_TARGETS= AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore + +.for tgt in ${LLVM_TARGETS} +PLIST_VARS+= ${tgt} +PKG_SUPPORTED_OPTIONS+= llvm-target-${tgt:tl} +.endfor +PKG_SUPPORTED_OPTIONS+= terminfo + +# Terminfo is used for colour output, only enable it by default if terminfo +# is builtin to avoid unnecessary dependencies which could cause bootstrap +# issues. +CHECK_BUILTIN.terminfo:= yes +.include "../../mk/terminfo.builtin.mk" +CHECK_BUILTIN.terminfo:= no +.if !empty(USE_BUILTIN.terminfo:M[yY][eE][sS]) +PKG_SUGGESTED_OPTIONS+= terminfo +.endif + +# Probably safe to assume that only x86 users are interested in +# cross-compilation for now. This saves some build time for everyone else. +.if !empty(MACHINE_ARCH:Msparc*) +PKG_SUGGESTED_OPTIONS+= llvm-target-sparc +.elif !empty(MACHINE_ARCH:Mpowerpc*) +PKG_SUGGESTED_OPTIONS+= llvm-target-powerpc +.elif !empty(MACHINE_ARCH:Mearm*) +PKG_SUGGESTED_OPTIONS+= llvm-target-arm +.elif !empty(MACHINE_ARCH:M*mips*) +PKG_SUGGESTED_OPTIONS+= llvm-target-mips +.else +# X86 and everyone else get all targets by default. +. for tgt in ${LLVM_TARGETS} +PKG_SUGGESTED_OPTIONS+= llvm-target-${tgt:tl} +. endfor +.endif + +.include "../../mk/bsd.options.mk" + +.for tgt in ${LLVM_TARGETS} +. if !empty(PKG_OPTIONS:Mllvm-target-${tgt:tl}) +PLIST.${tgt}= yes +LLVM_TARGETS_TO_BUILD+= ${tgt} +. endif +.endfor + +.if !empty(PKG_OPTIONS:Mterminfo) +.include "../../mk/terminfo.buildlink3.mk" +.else +CMAKE_ARGS+= -DLLVM_ENABLE_TERMINFO=OFF +.endif + +CMAKE_ARGS+= -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD:ts;}" diff --git a/llvm-dfbsd/patches/patch-CMakeLists.txt b/llvm-dfbsd/patches/patch-CMakeLists.txt new file mode 100644 index 0000000000..9f71556a36 --- /dev/null +++ b/llvm-dfbsd/patches/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +$NetBSD: patch-CMakeLists.txt,v 1.1 2018/01/08 10:48:34 jperkin Exp $ + +Don't implement sys/regset.h workaround, fix source instead. + +--- CMakeLists.txt.orig 2017-08-15 00:16:21.000000000 +0000 ++++ CMakeLists.txt +@@ -809,7 +809,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "(Fre + + if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) + # special hack for Solaris to handle crazy system sys/regset.h +- include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris") ++ #include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris") + endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) + + # Make sure we don't get -rdynamic in every binary. For those that need it, diff --git a/llvm-dfbsd/patches/patch-cmake_config-ix.cmake b/llvm-dfbsd/patches/patch-cmake_config-ix.cmake new file mode 100644 index 0000000000..b256675c2f --- /dev/null +++ b/llvm-dfbsd/patches/patch-cmake_config-ix.cmake @@ -0,0 +1,15 @@ +$NetBSD: patch-cmake_config-ix.cmake,v 1.3 2018/08/07 10:44:50 adam Exp $ + +Do not generate invalid llvm-config in pkgsrc. + +--- cmake/config-ix.cmake.orig 2018-01-02 17:53:08.000000000 +0000 ++++ cmake/config-ix.cmake +@@ -153,7 +153,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memor + endif() + if(LLVM_ENABLE_TERMINFO) + set(HAVE_TERMINFO 0) +- foreach(library tinfo terminfo curses ncurses ncursesw) ++ foreach(library terminfo curses ncurses ncursesw tinfo) + string(TOUPPER ${library} library_suffix) + check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) + if(HAVE_TERMINFO_${library_suffix}) diff --git a/llvm-dfbsd/patches/patch-cmake_modules_AddLLVM.cmake b/llvm-dfbsd/patches/patch-cmake_modules_AddLLVM.cmake new file mode 100644 index 0000000000..c160325ff4 --- /dev/null +++ b/llvm-dfbsd/patches/patch-cmake_modules_AddLLVM.cmake @@ -0,0 +1,36 @@ +$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.4 2018/12/09 20:04:38 adam Exp $ + +Don't use non-portable -z discard-unused on SunOS. +On Darwin, create symbolic links to shared libraries. +On Darwin, use correct install-name for shared libraries. + +--- cmake/modules/AddLLVM.cmake.orig 2018-08-01 07:51:55.000000000 +0000 ++++ cmake/modules/AddLLVM.cmake +@@ -218,9 +218,6 @@ function(add_link_opts target_name) + # ld64's implementation of -dead_strip breaks tools that use plugins. + set_property(TARGET ${target_name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-dead_strip") +- elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") +- set_property(TARGET ${target_name} APPEND_STRING PROPERTY +- LINK_FLAGS " -Wl,-z -Wl,discard-unused=sections") + elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") + # Object files are compiled with -ffunction-data-sections. + # Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks +@@ -517,7 +514,7 @@ function(llvm_add_library name) + endif() + + if(ARG_SHARED AND UNIX) +- if(NOT APPLE AND ARG_SONAME) ++ if(ARG_SONAME) + get_target_property(output_name ${name} OUTPUT_NAME) + if(${output_name} STREQUAL "output_name-NOTFOUND") + set(output_name ${name}) +@@ -1632,7 +1629,7 @@ function(llvm_setup_rpath name) + endif() + + if (APPLE) +- set(_install_name_dir INSTALL_NAME_DIR "@rpath") ++ set(_install_name_dir INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") + set(_install_rpath "@loader_path/../lib" ${extra_libdir}) + elseif(UNIX) + set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) diff --git a/llvm-dfbsd/patches/patch-cmake_modules_CheckAtomic.cmake b/llvm-dfbsd/patches/patch-cmake_modules_CheckAtomic.cmake new file mode 100644 index 0000000000..0a18e92f2d --- /dev/null +++ b/llvm-dfbsd/patches/patch-cmake_modules_CheckAtomic.cmake @@ -0,0 +1,38 @@ +$NetBSD: patch-cmake_modules_CheckAtomic.cmake,v 1.1 2018/03/31 15:13:28 he Exp $ + +Omit check for native 8-byte atomics, platform may not have them, +and they are actually not required here. Makes powerpc build llvm. + +--- cmake/modules/CheckAtomic.cmake.orig 2016-06-23 06:39:35.000000000 +0000 ++++ cmake/modules/CheckAtomic.cmake +@@ -62,18 +62,18 @@ else() + endif() + + # If not, check if the library exists, and atomics work with it. +-if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) +- check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64) +- if(HAVE_CXX_LIBATOMICS64) +- list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") +- check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB) +- if (NOT HAVE_CXX_ATOMICS64_WITH_LIB) +- message(FATAL_ERROR "Host compiler must support std::atomic!") +- endif() +- else() +- message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.") +- endif() +-endif() ++#if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) ++# check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64) ++# if(HAVE_CXX_LIBATOMICS64) ++# list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") ++# check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB) ++# if (NOT HAVE_CXX_ATOMICS64_WITH_LIB) ++# message(FATAL_ERROR "Host compiler must support std::atomic!") ++# endif() ++# else() ++# message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.") ++# endif() ++#endif() + + ## TODO: This define is only used for the legacy atomic operations in + ## llvm's Atomic.h, which should be replaced. Other code simply diff --git a/llvm-dfbsd/patches/patch-cmake_modules_HandleLLVMOptions.cmake b/llvm-dfbsd/patches/patch-cmake_modules_HandleLLVMOptions.cmake new file mode 100644 index 0000000000..c36ab0c0ab --- /dev/null +++ b/llvm-dfbsd/patches/patch-cmake_modules_HandleLLVMOptions.cmake @@ -0,0 +1,14 @@ +$NetBSD: patch-cmake_modules_HandleLLVMOptions.cmake,v 1.1 2017/03/19 19:01:48 adam Exp $ + +DragonflyBSD support + +--- cmake/modules/HandleLLVMOptions.cmake.orig 2016-01-06 19:05:19.000000000 +0000 ++++ cmake/modules/HandleLLVMOptions.cmake +@@ -132,6 +132,7 @@ endif() + # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO + # build might work on ELF but fail on MachO/COFF. + if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR ++ ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" OR + ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR + ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND + NOT LLVM_USE_SANITIZER) diff --git a/llvm-dfbsd/patches/patch-include_llvm-c_DataTypes.h b/llvm-dfbsd/patches/patch-include_llvm-c_DataTypes.h new file mode 100644 index 0000000000..2b0db55d89 --- /dev/null +++ b/llvm-dfbsd/patches/patch-include_llvm-c_DataTypes.h @@ -0,0 +1,34 @@ +$NetBSD: patch-include_llvm-c_DataTypes.h,v 1.1 2018/12/15 23:41:45 jperkin Exp $ + +Don't implement sys/regset.h workaround, fix source instead. + +--- include/llvm-c/DataTypes.h.orig 2018-04-02 13:22:26.000000000 +0000 ++++ include/llvm-c/DataTypes.h +@@ -87,4 +87,27 @@ typedef signed int ssize_t; + #define HUGE_VALF (float)HUGE_VAL + #endif + ++#if defined(__sun) ++#include ++#undef CS ++#undef DS ++#undef ES ++#undef FS ++#undef GS ++#undef SS ++#undef EAX ++#undef ECX ++#undef EDX ++#undef EBX ++#undef ESP ++#undef EBP ++#undef ESI ++#undef EDI ++#undef EIP ++#undef UESP ++#undef EFL ++#undef ERR ++#undef TRAPNO ++#endif ++ + #endif /* LLVM_C_DATATYPES_H */ diff --git a/llvm-dfbsd/patches/patch-include_llvm_Analysis_ConstantFolding.h b/llvm-dfbsd/patches/patch-include_llvm_Analysis_ConstantFolding.h new file mode 100644 index 0000000000..0287e9c89e --- /dev/null +++ b/llvm-dfbsd/patches/patch-include_llvm_Analysis_ConstantFolding.h @@ -0,0 +1,17 @@ +$NetBSD: patch-include_llvm_Analysis_ConstantFolding.h,v 1.1 2018/12/15 23:41:45 jperkin Exp $ + +Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h + +--- include/llvm/Analysis/ConstantFolding.h.orig 2018-05-01 15:54:18.000000000 +0000 ++++ include/llvm/Analysis/ConstantFolding.h +@@ -20,6 +20,10 @@ + #ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H + #define LLVM_ANALYSIS_CONSTANTFOLDING_H + ++#ifdef __sun ++#undef CS ++#endif ++ + namespace llvm { + class APInt; + template class ArrayRef; diff --git a/llvm-dfbsd/patches/patch-lib_Support_Unix_Path.inc b/llvm-dfbsd/patches/patch-lib_Support_Unix_Path.inc new file mode 100644 index 0000000000..8af1a89569 --- /dev/null +++ b/llvm-dfbsd/patches/patch-lib_Support_Unix_Path.inc @@ -0,0 +1,22 @@ +$NetBSD$ + +From DragonFly dports devel/llvm60 + +--- lib/Support/Unix/Path.inc.orig 2017-11-07 00:47:04.000000000 +0000 ++++ lib/Support/Unix/Path.inc +@@ -68,13 +68,13 @@ + + #include + #if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && \ +- !defined(__linux__) ++ !defined(__linux__) && !defined(__DragonFly__) + #include + #define STATVFS statvfs + #define FSTATVFS fstatvfs + #define STATVFS_F_FRSIZE(vfs) vfs.f_frsize + #else +-#if defined(__OpenBSD__) || defined(__FreeBSD__) ++#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) + #include + #include + #elif defined(__linux__) diff --git a/llvm-dfbsd/patches/patch-tools_llvm-shlib_CMakeLists.txt b/llvm-dfbsd/patches/patch-tools_llvm-shlib_CMakeLists.txt new file mode 100644 index 0000000000..f832df68c3 --- /dev/null +++ b/llvm-dfbsd/patches/patch-tools_llvm-shlib_CMakeLists.txt @@ -0,0 +1,33 @@ +$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.4 2018/12/09 20:04:38 adam Exp $ + +Use the Linux style linking everywhere except Darwin and SunOS. + +--- tools/llvm-shlib/CMakeLists.txt.orig 2018-08-03 10:15:36.000000000 +0000 ++++ tools/llvm-shlib/CMakeLists.txt +@@ -37,12 +37,11 @@ endif() + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) + + list(REMOVE_DUPLICATES LIB_NAMES) +-if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf" ++if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") ++ set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) ++elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") ++ set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) ++else() + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in + ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) +@@ -53,8 +52,6 @@ if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Lin + # Solaris ld does not accept global: *; so there is no way to version *all* global symbols + set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES}) + endif() +-elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") +- set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) + endif() + + target_link_libraries(LLVM PRIVATE ${LIB_NAMES})