pkgsrc/lang/llvm/distinfo
adam 7842f84c55 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.
2020-04-18 07:50:18 +00:00

13 lines
1,003 B
Text

$NetBSD: distinfo,v 1.26 2020/04/18 07:50:18 adam Exp $
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) = 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