Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/llvm llvm: updated to 10.0.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/bd5f32950259
branches:  trunk
changeset: 429257:bd5f32950259
user:      adam <adam%pkgsrc.org@localhost>
date:      Sat Apr 18 07:50:18 2020 +0000

description:
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:

 lang/llvm/Makefile                                      |    4 +-
 lang/llvm/PLIST                                         |  109 +++++++++++++--
 lang/llvm/distinfo                                      |   14 +-
 lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake     |   12 +-
 lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake |   25 +--
 lang/llvm/version.mk                                    |    4 +-
 6 files changed, 117 insertions(+), 51 deletions(-)

diffs (truncated from 661 to 300 lines):

diff -r 9f2634a603ab -r bd5f32950259 lang/llvm/Makefile
--- a/lang/llvm/Makefile        Sat Apr 18 07:32:42 2020 +0000
+++ b/lang/llvm/Makefile        Sat Apr 18 07:50:18 2020 +0000
@@ -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 @@
 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 -r 9f2634a603ab -r bd5f32950259 lang/llvm/PLIST
--- a/lang/llvm/PLIST   Sat Apr 18 07:32:42 2020 +0000
+++ b/lang/llvm/PLIST   Sat Apr 18 07:50:18 2020 +0000
@@ -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-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-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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/WasmYAML.h
 include/llvm/ObjectYAML/XCOFFYAML.h
 include/llvm/ObjectYAML/YAML.h


Home | Main Index | Thread Index | Old Index