summaryrefslogtreecommitdiff
path: root/lang/llvm
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2020-04-18 07:50:18 +0000
committeradam <adam@pkgsrc.org>2020-04-18 07:50:18 +0000
commit5e3a877b7c462c62a98d198c1db5a4a8aee6f138 (patch)
treea429479b978286d2bd271e3c98cce38a6a2a22bc /lang/llvm
parent623a9c707f9bacb243ab35414bd7f23138a0f034 (diff)
downloadpkgsrc-5e3a877b7c462c62a98d198c1db5a4a8aee6f138.tar.gz
llvm: updated to 10.0.0
Non-comprehensive list of changes in this release The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG. Enabled MemorySSA as a loop dependency. Since r370957 (D58311 [MemorySSA & LoopPassManager] Enable MemorySSA as loop dependency. Update tests.), the MemorySSA analysis is being preserved and used by a series of loop passes. The most significant use is in LICM, where the instruction hoisting and sinking relies on aliasing information provided by MemorySSA vs previously creating an AliasSetTracker. The LICM step of promoting variables to scalars still relies on the creation of an AliasSetTracker, but its use is reduced to only be enabled for loops with a small number of overall memory instructions. This choice was motivated by experimental results showing compile and run time benefits or replacing the AliasSetTracker usage with MemorySSA without any performance penalties. The fact that MemorySSA is now preserved by and available in a series of loop passes, also opens up opportunities for its use in those respective passes. The BasicBlockPass, BBPassManager and all their uses were deleted in this revision. The LLVM_BUILD_LLVM_DYLIB and LLVM_LINK_LLVM_DYLIB CMake options are no longer available on Windows. As per LLVM Language Reference Manual, getelementptr inbounds can not change the null status of a pointer, meaning it can not produce non-null pointer given null base pointer, and likewise given non-null base pointer it can not produce null pointer; if it does, the result is a poison value. Since r369789 (D66608 [InstCombine] icmp eq/ne (gep inbounds P, Idx..), null -> icmp eq/ne P, null) LLVM uses that for transformations. If the original source violates these requirements this may result in code being miscompiled. If you are using Clang front-end, Undefined Behaviour Sanitizer -fsanitize=pointer-overflow check will now catch such cases. Windows Control Flow Guard: the -cfguard option now emits CFG checks on indirect function calls. The previous behavior is still available with the -cfguard-nochecks option. Note that this feature should always be used with optimizations enabled. Callbacks have been added to CommandLine Options. These can be used to validate or selectively enable other options. The function attributes no-frame-pointer-elim and no-frame-pointer-elim-non-leaf have been replaced by frame-pointer, which has 3 values: none, non-leaf, and all. The values mean what functions should retain frame pointers. The inter-procedural analysis and optimization capabilities in the Attributor framework and pass have been substantially advanced (initial commit D59918, LLVM-Dev talk). In this release, 19 different attributes are inferred, including 12 LLVM IR attributes and 7 “abstract” attributes, such as liveness. The Attributor is still under heavy development and disabled by default; to enable an early run pass -mllvm -attributor-disable=false to an invocation of clang. New matrix math intrinsics have been added to LLVM (see LLVM Language Reference Manual), together with the LowerMatrixIntrinsics pass. The pass lowers matrix intrinsics to a set of efficient vector instructions. The lowering pass is off by default and can be enabled by passing -mllvm -enable-matrix to an invocation of clang.
Diffstat (limited to 'lang/llvm')
-rw-r--r--lang/llvm/Makefile4
-rw-r--r--lang/llvm/PLIST109
-rw-r--r--lang/llvm/distinfo14
-rw-r--r--lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake12
-rw-r--r--lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake25
-rw-r--r--lang/llvm/version.mk4
6 files changed, 117 insertions, 51 deletions
diff --git a/lang/llvm/Makefile b/lang/llvm/Makefile
index 780ce8a90d6..8c40782a862 100644
--- a/lang/llvm/Makefile
+++ b/lang/llvm/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.51 2020/03/22 18:01:21 rillig Exp $
+# $NetBSD: Makefile,v 1.52 2020/04/18 07:50:18 adam Exp $
#
# when updating this, please also update:
# devel/include-what-you-use
@@ -33,7 +33,7 @@ HOMEPAGE= https://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure
LICENSE= apache-2.0
-USE_LANGUAGES= c c++11
+USE_LANGUAGES= c c++14
USE_CMAKE= yes
GCC_REQD+= 5.1
PYTHON_FOR_BUILD_ONLY= yes
diff --git a/lang/llvm/PLIST b/lang/llvm/PLIST
index 374252aa808..42be97557a9 100644
--- a/lang/llvm/PLIST
+++ b/lang/llvm/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.14 2019/11/11 19:22:28 nia Exp $
+@comment $NetBSD: PLIST,v 1.15 2020/04/18 07:50:18 adam Exp $
bin/FileCheck
bin/bugpoint
bin/count
@@ -28,6 +28,8 @@ bin/llvm-dwp
bin/llvm-elfabi
bin/llvm-exegesis
bin/llvm-extract
+bin/llvm-ifs
+bin/llvm-install-name-tool
bin/llvm-jitlink
bin/llvm-lib
bin/llvm-link
@@ -48,6 +50,7 @@ bin/llvm-ranlib
bin/llvm-rc
bin/llvm-readelf
bin/llvm-readobj
+bin/llvm-reduce
bin/llvm-rtdyld
bin/llvm-size
bin/llvm-split
@@ -78,6 +81,7 @@ include/llvm-c/DisassemblerTypes.h
include/llvm-c/Error.h
include/llvm-c/ErrorHandling.h
include/llvm-c/ExecutionEngine.h
+include/llvm-c/ExternC.h
include/llvm-c/IRReader.h
include/llvm-c/Initialization.h
include/llvm-c/LinkTimeOptimizer.h
@@ -114,8 +118,11 @@ include/llvm/ADT/DenseMap.h
include/llvm/ADT/DenseMapInfo.h
include/llvm/ADT/DenseSet.h
include/llvm/ADT/DepthFirstIterator.h
+include/llvm/ADT/DirectedGraph.h
+include/llvm/ADT/EnumeratedArray.h
include/llvm/ADT/EpochTracker.h
include/llvm/ADT/EquivalenceClasses.h
+include/llvm/ADT/FloatingPointMode.h
include/llvm/ADT/FoldingSet.h
include/llvm/ADT/FunctionExtras.h
include/llvm/ADT/GraphTraits.h
@@ -163,7 +170,6 @@ 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/bit.h
include/llvm/ADT/edit_distance.h
include/llvm/ADT/fallible_iterator.h
@@ -197,9 +203,11 @@ include/llvm/Analysis/CaptureTracking.h
include/llvm/Analysis/CmpInstAnalysis.h
include/llvm/Analysis/CodeMetrics.h
include/llvm/Analysis/ConstantFolding.h
+include/llvm/Analysis/DDG.h
include/llvm/Analysis/DOTGraphTraitsPass.h
include/llvm/Analysis/DemandedBits.h
include/llvm/Analysis/DependenceAnalysis.h
+include/llvm/Analysis/DependenceGraphBuilder.h
include/llvm/Analysis/DivergenceAnalysis.h
include/llvm/Analysis/DomPrinter.h
include/llvm/Analysis/DomTreeUpdater.h
@@ -228,6 +236,7 @@ include/llvm/Analysis/Lint.h
include/llvm/Analysis/Loads.h
include/llvm/Analysis/LoopAccessAnalysis.h
include/llvm/Analysis/LoopAnalysisManager.h
+include/llvm/Analysis/LoopCacheAnalysis.h
include/llvm/Analysis/LoopInfo.h
include/llvm/Analysis/LoopInfoImpl.h
include/llvm/Analysis/LoopIterator.h
@@ -363,6 +372,7 @@ include/llvm/CodeGen/GlobalISel/CombinerHelper.h
include/llvm/CodeGen/GlobalISel/CombinerInfo.h
include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h
include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
+include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
include/llvm/CodeGen/GlobalISel/GISelWorkList.h
include/llvm/CodeGen/GlobalISel/IRTranslator.h
include/llvm/CodeGen/GlobalISel/InstructionSelect.h
@@ -391,6 +401,7 @@ include/llvm/CodeGen/LiveInterval.h
include/llvm/CodeGen/LiveIntervalUnion.h
include/llvm/CodeGen/LiveIntervals.h
include/llvm/CodeGen/LivePhysRegs.h
+include/llvm/CodeGen/LiveRangeCalc.h
include/llvm/CodeGen/LiveRangeEdit.h
include/llvm/CodeGen/LiveRegMatrix.h
include/llvm/CodeGen/LiveRegUnits.h
@@ -398,6 +409,7 @@ include/llvm/CodeGen/LiveStacks.h
include/llvm/CodeGen/LiveVariables.h
include/llvm/CodeGen/LoopTraversal.h
include/llvm/CodeGen/LowLevelType.h
+include/llvm/CodeGen/MIRFormatter.h
include/llvm/CodeGen/MIRParser/MIParser.h
include/llvm/CodeGen/MIRParser/MIRParser.h
include/llvm/CodeGen/MIRPrinter.h
@@ -419,6 +431,7 @@ include/llvm/CodeGen/MachineInstrBundle.h
include/llvm/CodeGen/MachineInstrBundleIterator.h
include/llvm/CodeGen/MachineJumpTableInfo.h
include/llvm/CodeGen/MachineLoopInfo.h
+include/llvm/CodeGen/MachineLoopUtils.h
include/llvm/CodeGen/MachineMemOperand.h
include/llvm/CodeGen/MachineModuleInfo.h
include/llvm/CodeGen/MachineModuleInfoImpls.h
@@ -432,8 +445,11 @@ include/llvm/CodeGen/MachineRegionInfo.h
include/llvm/CodeGen/MachineRegisterInfo.h
include/llvm/CodeGen/MachineSSAUpdater.h
include/llvm/CodeGen/MachineScheduler.h
+include/llvm/CodeGen/MachineSizeOpts.h
include/llvm/CodeGen/MachineTraceMetrics.h
include/llvm/CodeGen/MacroFusion.h
+include/llvm/CodeGen/ModuloSchedule.h
+include/llvm/CodeGen/NonRelocatableStringpool.h
include/llvm/CodeGen/PBQP/CostAllocator.h
include/llvm/CodeGen/PBQP/Graph.h
include/llvm/CodeGen/PBQP/Math.h
@@ -495,6 +511,9 @@ include/llvm/Config/Disassemblers.def
include/llvm/Config/Targets.def
include/llvm/Config/abi-breaking.h
include/llvm/Config/llvm-config.h
+include/llvm/DWARFLinker/DWARFLinker.h
+include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
+include/llvm/DWARFLinker/DWARFLinkerDeclContext.h
include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
include/llvm/DebugInfo/CodeView/CVRecord.h
include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
@@ -580,6 +599,7 @@ 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/DWARFLocationExpression.h
include/llvm/DebugInfo/DWARF/DWARFObject.h
include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
include/llvm/DebugInfo/DWARF/DWARFSection.h
@@ -588,9 +608,15 @@ include/llvm/DebugInfo/DWARF/DWARFUnit.h
include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
include/llvm/DebugInfo/DWARF/DWARFVerifier.h
include/llvm/DebugInfo/GSYM/FileEntry.h
+include/llvm/DebugInfo/GSYM/FileWriter.h
include/llvm/DebugInfo/GSYM/FunctionInfo.h
+include/llvm/DebugInfo/GSYM/GsymCreator.h
+include/llvm/DebugInfo/GSYM/GsymReader.h
+include/llvm/DebugInfo/GSYM/Header.h
include/llvm/DebugInfo/GSYM/InlineInfo.h
include/llvm/DebugInfo/GSYM/LineEntry.h
+include/llvm/DebugInfo/GSYM/LineTable.h
+include/llvm/DebugInfo/GSYM/LookupResult.h
include/llvm/DebugInfo/GSYM/Range.h
include/llvm/DebugInfo/GSYM/StringTable.h
include/llvm/DebugInfo/MSF/IMSFFile.h
@@ -733,6 +759,7 @@ include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
include/llvm/ExecutionEngine/JITLink/JITLink.h
include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
include/llvm/ExecutionEngine/JITLink/MachO.h
+include/llvm/ExecutionEngine/JITLink/MachO_arm64.h
include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
include/llvm/ExecutionEngine/JITSymbol.h
include/llvm/ExecutionEngine/MCJIT.h
@@ -741,6 +768,7 @@ 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/DebugUtils.h
include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
@@ -761,11 +789,13 @@ 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/RPC/RPCSerialization.h
+include/llvm/ExecutionEngine/Orc/RPC/RPCUtils.h
+include/llvm/ExecutionEngine/Orc/RPC/RawByteChannel.h
include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
-include/llvm/ExecutionEngine/Orc/RawByteChannel.h
include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h
+include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
+include/llvm/ExecutionEngine/Orc/Speculation.h
include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h
include/llvm/ExecutionEngine/OrcMCJITReplacement.h
@@ -774,6 +804,9 @@ include/llvm/ExecutionEngine/RTDyldMemoryManager.h
include/llvm/ExecutionEngine/RuntimeDyld.h
include/llvm/ExecutionEngine/RuntimeDyldChecker.h
include/llvm/ExecutionEngine/SectionMemoryManager.h
+include/llvm/Frontend/OpenMP/OMPConstants.h
+include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+include/llvm/Frontend/OpenMP/OMPKinds.def
include/llvm/FuzzMutate/FuzzerCLI.h
include/llvm/FuzzMutate/IRMutator.h
include/llvm/FuzzMutate/OpDescriptor.h
@@ -796,6 +829,7 @@ include/llvm/IR/Constant.h
include/llvm/IR/ConstantFolder.h
include/llvm/IR/ConstantRange.h
include/llvm/IR/Constants.h
+include/llvm/IR/ConstrainedOps.def
include/llvm/IR/DIBuilder.h
include/llvm/IR/DataLayout.h
include/llvm/IR/DebugInfo.h
@@ -808,6 +842,8 @@ include/llvm/IR/DiagnosticHandler.h
include/llvm/IR/DiagnosticInfo.h
include/llvm/IR/DiagnosticPrinter.h
include/llvm/IR/Dominators.h
+include/llvm/IR/FPEnv.h
+include/llvm/IR/FixedMetadataKinds.def
include/llvm/IR/Function.h
include/llvm/IR/GVMaterializer.h
include/llvm/IR/GetElementPtrTypeIterator.h
@@ -831,18 +867,32 @@ include/llvm/IR/IntrinsicImpl.inc
include/llvm/IR/IntrinsicInst.h
include/llvm/IR/Intrinsics.h
include/llvm/IR/Intrinsics.td
+include/llvm/IR/IntrinsicsAArch64.h
include/llvm/IR/IntrinsicsAArch64.td
+include/llvm/IR/IntrinsicsAMDGPU.h
include/llvm/IR/IntrinsicsAMDGPU.td
+include/llvm/IR/IntrinsicsARM.h
include/llvm/IR/IntrinsicsARM.td
+include/llvm/IR/IntrinsicsBPF.h
include/llvm/IR/IntrinsicsBPF.td
+include/llvm/IR/IntrinsicsHexagon.h
include/llvm/IR/IntrinsicsHexagon.td
+include/llvm/IR/IntrinsicsMips.h
include/llvm/IR/IntrinsicsMips.td
+include/llvm/IR/IntrinsicsNVPTX.h
include/llvm/IR/IntrinsicsNVVM.td
+include/llvm/IR/IntrinsicsPowerPC.h
include/llvm/IR/IntrinsicsPowerPC.td
+include/llvm/IR/IntrinsicsR600.h
+include/llvm/IR/IntrinsicsRISCV.h
include/llvm/IR/IntrinsicsRISCV.td
+include/llvm/IR/IntrinsicsS390.h
include/llvm/IR/IntrinsicsSystemZ.td
+include/llvm/IR/IntrinsicsWebAssembly.h
include/llvm/IR/IntrinsicsWebAssembly.td
+include/llvm/IR/IntrinsicsX86.h
include/llvm/IR/IntrinsicsX86.td
+include/llvm/IR/IntrinsicsXCore.h
include/llvm/IR/IntrinsicsXCore.td
include/llvm/IR/LLVMContext.h
include/llvm/IR/LegacyPassManager.h
@@ -913,7 +963,6 @@ 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
@@ -950,6 +999,7 @@ 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/MCRegister.h
include/llvm/MC/MCRegisterInfo.h
include/llvm/MC/MCSchedule.h
include/llvm/MC/MCSection.h
@@ -981,6 +1031,7 @@ include/llvm/MC/MachineLocation.h
include/llvm/MC/SectionKind.h
include/llvm/MC/StringTableBuilder.h
include/llvm/MC/SubtargetFeature.h
+include/llvm/MCA/CodeEmitter.h
include/llvm/MCA/Context.h
include/llvm/MCA/HWEventListener.h
include/llvm/MCA/HardwareUnits/HardwareUnit.h
@@ -1024,6 +1075,8 @@ include/llvm/Object/RelocationResolver.h
include/llvm/Object/StackMapParser.h
include/llvm/Object/SymbolSize.h
include/llvm/Object/SymbolicFile.h
+include/llvm/Object/TapiFile.h
+include/llvm/Object/TapiUniversal.h
include/llvm/Object/Wasm.h
include/llvm/Object/WasmTraits.h
include/llvm/Object/WindowsMachineFlag.h
@@ -1043,6 +1096,7 @@ include/llvm/ObjectYAML/ObjectYAML.h
include/llvm/ObjectYAML/WasmYAML.h
include/llvm/ObjectYAML/XCOFFYAML.h
include/llvm/ObjectYAML/YAML.h
+include/llvm/ObjectYAML/yaml2obj.h
include/llvm/Option/Arg.h
include/llvm/Option/ArgList.h
include/llvm/Option/OptParser.td
@@ -1069,11 +1123,16 @@ include/llvm/ProfileData/ProfileCommon.h
include/llvm/ProfileData/SampleProf.h
include/llvm/ProfileData/SampleProfReader.h
include/llvm/ProfileData/SampleProfWriter.h
+include/llvm/Remarks/BitstreamRemarkContainer.h
+include/llvm/Remarks/BitstreamRemarkParser.h
+include/llvm/Remarks/BitstreamRemarkSerializer.h
include/llvm/Remarks/Remark.h
include/llvm/Remarks/RemarkFormat.h
+include/llvm/Remarks/RemarkLinker.h
include/llvm/Remarks/RemarkParser.h
include/llvm/Remarks/RemarkSerializer.h
include/llvm/Remarks/RemarkStringTable.h
+include/llvm/Remarks/YAMLRemarkSerializer.h
include/llvm/Support/AArch64TargetParser.def
include/llvm/Support/AArch64TargetParser.h
include/llvm/Support/AMDGPUMetadata.h
@@ -1085,10 +1144,12 @@ include/llvm/Support/ARMTargetParser.def
include/llvm/Support/ARMTargetParser.h
include/llvm/Support/ARMWinEH.h
include/llvm/Support/AlignOf.h
+include/llvm/Support/Alignment.h
include/llvm/Support/Allocator.h
include/llvm/Support/ArrayRecycler.h
include/llvm/Support/Atomic.h
include/llvm/Support/AtomicOrdering.h
+include/llvm/Support/Automaton.h
include/llvm/Support/BinaryByteStream.h
include/llvm/Support/BinaryItemStream.h
include/llvm/Support/BinaryStream.h
@@ -1130,7 +1191,9 @@ include/llvm/Support/Errno.h
include/llvm/Support/Error.h
include/llvm/Support/ErrorHandling.h
include/llvm/Support/ErrorOr.h
+include/llvm/Support/Extension.def
include/llvm/Support/FileCheck.h
+include/llvm/Support/FileCollector.h
include/llvm/Support/FileOutputBuffer.h
include/llvm/Support/FileSystem.h
include/llvm/Support/FileUtilities.h
@@ -1150,7 +1213,6 @@ include/llvm/Support/Host.h
include/llvm/Support/InitLLVM.h
include/llvm/Support/ItaniumManglingCanonicalizer.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
@@ -1168,10 +1230,8 @@ 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
@@ -1191,7 +1251,6 @@ include/llvm/Support/SHA1.h
include/llvm/Support/SMLoc.h
include/llvm/Support/SMTAPI.h
include/llvm/Support/SaveAndRestore.h
-include/llvm/Support/ScalableSize.h
include/llvm/Support/ScaledNumber.h
include/llvm/Support/ScopedPrinter.h
include/llvm/Support/Signals.h
@@ -1220,15 +1279,16 @@ include/llvm/Support/ToolOutputFile.h
include/llvm/Support/TrailingObjects.h
include/llvm/Support/TrigramIndex.h
include/llvm/Support/TypeName.h
+include/llvm/Support/TypeSize.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/VirtualFileSystem.h
include/llvm/Support/Watchdog.h
include/llvm/Support/Win64EH.h
+include/llvm/Support/Windows/WindowsSupport.h
include/llvm/Support/WindowsError.h
include/llvm/Support/WithColor.h
include/llvm/Support/X86DisassemblerDecoderCommon.h
@@ -1242,6 +1302,7 @@ 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/Automaton.td
include/llvm/TableGen/Error.h
include/llvm/TableGen/Main.h
include/llvm/TableGen/Record.h
@@ -1252,6 +1313,7 @@ include/llvm/TableGen/StringToOffsetTable.h
include/llvm/TableGen/TableGenBackend.h
include/llvm/Target/CodeGenCWrappers.h
include/llvm/Target/GenericOpcodes.td
+include/llvm/Target/GlobalISel/Combine.td
include/llvm/Target/GlobalISel/RegisterBank.td
include/llvm/Target/GlobalISel/SelectionDAGCompat.td
include/llvm/Target/GlobalISel/Target.td
@@ -1276,12 +1338,15 @@ include/llvm/TextAPI/MachO/Architecture.h
include/llvm/TextAPI/MachO/ArchitectureSet.h
include/llvm/TextAPI/MachO/InterfaceFile.h
include/llvm/TextAPI/MachO/PackedVersion.h
+include/llvm/TextAPI/MachO/Platform.h
include/llvm/TextAPI/MachO/Symbol.h
+include/llvm/TextAPI/MachO/Target.h
include/llvm/TextAPI/MachO/TextAPIReader.h
include/llvm/TextAPI/MachO/TextAPIWriter.h
include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
include/llvm/ToolDrivers/llvm-lib/LibDriver.h
include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
+include/llvm/Transforms/CFGuard.h
include/llvm/Transforms/Coroutines.h
include/llvm/Transforms/IPO.h
include/llvm/Transforms/IPO/AlwaysInliner.h
@@ -1303,6 +1368,7 @@ 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/MergeFunctions.h
include/llvm/Transforms/IPO/PartialInlining.h
include/llvm/Transforms/IPO/PassManagerBuilder.h
include/llvm/Transforms/IPO/SCCP.h
@@ -1325,6 +1391,7 @@ include/llvm/Transforms/Instrumentation/InstrProfiling.h
include/llvm/Transforms/Instrumentation/MemorySanitizer.h
include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
include/llvm/Transforms/Instrumentation/PoisonChecking.h
+include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
include/llvm/Transforms/Instrumentation/ThreadSanitizer.h
include/llvm/Transforms/ObjCARC.h
include/llvm/Transforms/Scalar.h
@@ -1365,8 +1432,10 @@ 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/LowerConstantIntrinsics.h
include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
+include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
include/llvm/Transforms/Scalar/LowerWidenableCondition.h
include/llvm/Transforms/Scalar/MakeGuardsExplicit.h
include/llvm/Transforms/Scalar/MemCpyOptimizer.h
@@ -1398,7 +1467,9 @@ include/llvm/Transforms/Utils/CallPromotionUtils.h
include/llvm/Transforms/Utils/CanonicalizeAliases.h
include/llvm/Transforms/Utils/Cloning.h
include/llvm/Transforms/Utils/CodeExtractor.h
+include/llvm/Transforms/Utils/CodeMoverUtils.h
include/llvm/Transforms/Utils/CtorUtils.h
+include/llvm/Transforms/Utils/Debugify.h
include/llvm/Transforms/Utils/EntryExitInstrumenter.h
include/llvm/Transforms/Utils/EscapeEnumerator.h
include/llvm/Transforms/Utils/Evaluator.h
@@ -1407,6 +1478,7 @@ include/llvm/Transforms/Utils/FunctionImportUtils.h
include/llvm/Transforms/Utils/GlobalStatus.h
include/llvm/Transforms/Utils/GuardUtils.h
include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h
+include/llvm/Transforms/Utils/InjectTLIMappings.h
include/llvm/Transforms/Utils/IntegerDivision.h
include/llvm/Transforms/Utils/LCSSA.h
include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
@@ -1418,6 +1490,7 @@ 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/MisExpect.h
include/llvm/Transforms/Utils/ModuleUtils.h
include/llvm/Transforms/Utils/NameAnonGlobals.h
include/llvm/Transforms/Utils/PredicateInfo.h
@@ -1490,8 +1563,8 @@ lib/cmake/llvm/LLVMProcessSources.cmake
lib/cmake/llvm/TableGen.cmake
lib/cmake/llvm/UseLibtool.cmake
lib/cmake/llvm/VersionFromVCS.cmake
-lib/libLLVM-${PKGVERSION}.${SOEXT}
-lib/libLLVM-9.${SOEXT}
+lib/libLLVM-10.0.0.${SOEXT}
+lib/libLLVM-10.so
lib/libLLVM.${SOEXT}
${PLIST.AArch64}lib/libLLVMAArch64AsmParser.a
${PLIST.AArch64}lib/libLLVMAArch64CodeGen.a
@@ -1524,10 +1597,12 @@ lib/libLLVMBinaryFormat.a
lib/libLLVMBitReader.a
lib/libLLVMBitWriter.a
lib/libLLVMBitstreamReader.a
+lib/libLLVMCFGuard.a
lib/libLLVMCodeGen.a
lib/libLLVMCore.a
lib/libLLVMCoroutines.a
lib/libLLVMCoverage.a
+lib/libLLVMDWARFLinker.a
lib/libLLVMDebugInfoCodeView.a
lib/libLLVMDebugInfoDWARF.a
lib/libLLVMDebugInfoGSYM.a
@@ -1536,6 +1611,7 @@ lib/libLLVMDebugInfoPDB.a
lib/libLLVMDemangle.a
lib/libLLVMDlltoolDriver.a
lib/libLLVMExecutionEngine.a
+lib/libLLVMFrontendOpenMP.a
lib/libLLVMFuzzMutate.a
lib/libLLVMGlobalISel.a
${PLIST.Hexagon}lib/libLLVMHexagonAsmParser.a
@@ -1580,6 +1656,7 @@ lib/libLLVMObjCARCOpts.a
lib/libLLVMObject.a
lib/libLLVMObjectYAML.a
lib/libLLVMOption.a
+lib/libLLVMOrcError.a
lib/libLLVMOrcJIT.a
lib/libLLVMPasses.a
${PLIST.PowerPC}lib/libLLVMPowerPCAsmParser.a
@@ -1634,9 +1711,9 @@ ${PLIST.XCore}lib/libLLVMXCoreInfo.a
lib/libLLVMXRay.a
lib/libLLVMipo.a
lib/libLTO.${SOEXT}
-${PLIST.notdylib}lib/libLTO.${SOEXT}.9
-lib/libRemarks.so
-${PLIST.notdylib}lib/libRemarks.${SOEXT}.9
+${PLIST.notdylib}lib/libLTO.${SOEXT}.10
+lib/libRemarks.${SOEXT}
+${PLIST.notdylib}lib/libRemarks.${SOEXT}.10
share/opt-viewer/opt-diff.py
share/opt-viewer/opt-stats.py
share/opt-viewer/opt-viewer.py
diff --git a/lang/llvm/distinfo b/lang/llvm/distinfo
index c3f4b16b0be..f10924521e4 100644
--- a/lang/llvm/distinfo
+++ b/lang/llvm/distinfo
@@ -1,13 +1,13 @@
-$NetBSD: distinfo,v 1.25 2019/12/29 15:31:21 adam Exp $
+$NetBSD: distinfo,v 1.26 2020/04/18 07:50:18 adam Exp $
-SHA1 (llvm-9.0.1.src.tar.xz) = f7fcf3bd92d130784513c06efe6910f135372ce3
-RMD160 (llvm-9.0.1.src.tar.xz) = 151c137ac3a514b6d32aaee5bb77dd32eb7d1f19
-SHA512 (llvm-9.0.1.src.tar.xz) = bfb6960a4dd1e18f4005f324f478a781c69e8ec7c20569d9b243fcb9372dc7733b254f26c683373537990cc9c109c78eaf0f65449629ee17caca1bce9b9ccccd
-Size (llvm-9.0.1.src.tar.xz) = 33035112 bytes
+SHA1 (llvm-10.0.0.src.tar.xz) = 85f2d89205fb190c61c8a98dad2a58e27a1540da
+RMD160 (llvm-10.0.0.src.tar.xz) = 96cdffb5006b2aaa3b16640f69d1b435cd5eea93
+SHA512 (llvm-10.0.0.src.tar.xz) = 7dc961aacee3a01ecc002ff2b688a2ef50661856d2abd5ecc90566ffcad7566e4976736cd339ea96592e452cd5a17aaceba9712b2effec805661cca8ff020ee7
+Size (llvm-10.0.0.src.tar.xz) = 35733192 bytes
SHA1 (patch-CMakeLists.txt) = 78e2dab2bf73f7e466ca2788fe6444e39b4ebd80
SHA1 (patch-cmake_config-ix.cmake) = 61967c51d724a76867e1c59f721d1ac0e4815023
-SHA1 (patch-cmake_modules_AddLLVM.cmake) = 41baf8d0692cac54f8bbce0f73b5ed5cffaa8e4a
-SHA1 (patch-cmake_modules_CheckAtomic.cmake) = 51e4fdf3bc24b50fc4d4bfa1ec5ba6c82ef946b4
+SHA1 (patch-cmake_modules_AddLLVM.cmake) = 632861ed71b212568cfb2f05d5a486d052486db4
+SHA1 (patch-cmake_modules_CheckAtomic.cmake) = be4e6d4357ea68ca7a3ac62f7934055cea3132d0
SHA1 (patch-include_llvm-c_DataTypes.h) = 025c035e0e10871727391bd58936bd67b3e58244
SHA1 (patch-include_llvm_Analysis_ConstantFolding.h) = 56b9374da236c346565897977040255b9766cab8
SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 28f417bbfa17f2e644042350da5b98c07b834968
diff --git a/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake b/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
index 1d86f1b9dfd..0c48237acfa 100644
--- a/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
+++ b/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
@@ -1,12 +1,12 @@
-$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.5 2019/10/19 13:52:40 adam Exp $
+$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.6 2020/04/18 07:50:18 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 2019-07-12 14:40:18.000000000 +0000
+--- cmake/modules/AddLLVM.cmake.orig 2020-03-19 09:19:04.000000000 +0000
+++ cmake/modules/AddLLVM.cmake
-@@ -222,9 +222,6 @@ function(add_link_opts target_name)
+@@ -233,9 +233,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")
@@ -16,7 +16,7 @@ On Darwin, use correct install-name for shared libraries.
elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND
NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD|AIX")
# Object files are compiled with -ffunction-data-sections.
-@@ -536,7 +533,7 @@ function(llvm_add_library name)
+@@ -562,7 +559,7 @@ function(llvm_add_library name)
endif()
if(ARG_SHARED AND UNIX)
@@ -25,12 +25,12 @@ On Darwin, use correct install-name for shared libraries.
get_target_property(output_name ${name} OUTPUT_NAME)
if(${output_name} STREQUAL "output_name-NOTFOUND")
set(output_name ${name})
-@@ -1727,7 +1724,7 @@ function(llvm_setup_rpath name)
+@@ -1887,7 +1884,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})
+ set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
elseif(UNIX)
set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
diff --git a/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake b/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake
index 0a18e92f2d1..bc9d6c14bb8 100644
--- a/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake
+++ b/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake
@@ -1,38 +1,27 @@
-$NetBSD: patch-cmake_modules_CheckAtomic.cmake,v 1.1 2018/03/31 15:13:28 he Exp $
+$NetBSD: patch-cmake_modules_CheckAtomic.cmake,v 1.2 2020/04/18 07:50:18 adam 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.orig 2020-03-19 09:19:04.000000000 +0000
+++ cmake/modules/CheckAtomic.cmake
-@@ -62,18 +62,18 @@ else()
+@@ -62,19 +62,6 @@ else()
+ check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
endif()
- # If not, check if the library exists, and atomics work with it.
+-# 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!")
+- message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!")
- endif()
- else()
-- message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
+- message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, 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/lang/llvm/version.mk b/lang/llvm/version.mk
index e262a26af19..64237bc44c4 100644
--- a/lang/llvm/version.mk
+++ b/lang/llvm/version.mk
@@ -1,4 +1,4 @@
-# $NetBSD: version.mk,v 1.1 2019/12/29 15:31:21 adam Exp $
+# $NetBSD: version.mk,v 1.2 2020/04/18 07:50:18 adam Exp $
# used by devel/lld
# used by devel/lldb
# used by devel/polly
@@ -11,7 +11,7 @@
# used by lang/libunwind
# used by parallel/openmp
-LLVM_VERSION= 9.0.1
+LLVM_VERSION= 10.0.0
MASTER_SITES= ${MASTER_SITE_GITHUB:=llvm/}
GITHUB_PROJECT= llvm-project
GITHUB_RELEASE= llvmorg-${PKGVERSION_NOREV}