Alex Bradbury via llvm-dev
2020-Jul-27 19:15 UTC
[llvm-dev] LLVM Weekly - #343, July 27th 2020
LLVM Weekly - #343, July 27th 2020 ================================= If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/343>. Welcome to the three hundred and forty-third issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by [Alex Bradbury](https://www.linkedin.com/in/alex-bradbury/). Subscribe to future issues at <http://llvmweekly.org> and pass it on to anyone else you think may be interested. Please send any tips or feedback to <asb at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web LLVM 10.0.1-final [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143572.html). Hassam Uddin wrote up [a quick introduction to register allocation](https://hassamuddin.com/blog/reg-alloc/). Note this is a high-level introduction, and isn't tied to any particular compiler framework (sample code is given in OCaml). ## On the mailing lists * Arthur Eubanks started a thread about the [new pass manager status](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143666.html), which spawned discussion bout flipping to the new pass manager by default. Sjoerd Meijer shared [concerns related to observed code size regressions](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143682.html). * Varun Gandhi suggested that [LLVM should explain the lack of C++ ABI stability in the developer policy](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143613.html), prompting a reasonable amount of discussion about the policy and [the possible use of deprecation notices](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143693.html). * Alexander Richardson posted an RFC on [requiring explicit address space arguments for PointerType](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143638.html), motivated by reducing the difficulty of updating out-of-tree targets like CHERI as well as avoiding bugs for in-tree targest like AVR that use non-zero pointer address spaces. * David Blaikie started a thread to discuss a [potential misoptimisation with zero-length functions](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143722.html). * Tanya Lattner sent a reminder that applications for the LLVM Foundation Board of Directors [are due by July 30th](http://lists.llvm.org/pipermail/llvm-foundation/2020-July/000212.html). ## LLVM commits * The CMake minimum version has been bumped to 3.13.4. [afa1afd](https://reviews.llvm.org/rGafa1afd4108). * Target-specific InstCombine code has now been moved into the targets. [2a6c871](https://reviews.llvm.org/rG2a6c871596c). * An "extract" test utility was added, to support multiple documents / test cases in a single test file. [d054c7e](https://reviews.llvm.org/rGd054c7ee2e9). * `update_test_checks` and `update_cc_test_checks` gained a new option to allow function attributes to be checked. [937bad3](https://reviews.llvm.org/rG937bad3594e). * A new `byref` argument attribute was introduced. Unlike byval, it doesn't imply that a copy is made anywhere or that the argument is passed on the stack. [5e999cb](https://reviews.llvm.org/rG5e999cbe8db). * AMDGPU GlobalISel gained initial support for calls. [61f1f2a](https://reviews.llvm.org/rG61f1f2a2042). * A "development-mode InlineAdvisor" was added, supporting loading models with a command-line parameter and collecting training logs. [70f8d0a](https://reviews.llvm.org/rG70f8d0ac8a3). * Loop peeling support was added to the loop fusion pass. [38a8217](https://reviews.llvm.org/rG38a82179315). * The abs/umin/umax/smin/smax intrinsics were added. [fef0cf0](https://reviews.llvm.org/rGfef0cf08107), [deb4bb2](https://reviews.llvm.org/rGdeb4bb2b3ab). * As part of the work to integrate lowering of GC live operands into the register allocator, GC relocation can now be lowered to virtual registers. [3da1a96](https://reviews.llvm.org/rG3da1a9634eb). ## Clang commits * A new `--ld-path` command line flag was added, and should be used in favour of `-fuse-ld` for specifying the path to the linker. [1bc5c84](https://reviews.llvm.org/rG1bc5c84710a). * clang-format gained a new BitFieldColonSpacing option [52ab7aa](https://reviews.llvm.org/rG52ab7aa0ba5). ## Other project commits * LLVM's libc gained implementations of strstr, fmin, fminf, fminl, strnlen, fmax, fmaxf, fmaxl and memrchr. [d080635](https://reviews.llvm.org/rGd080635bfca), [7ce32f8](https://reviews.llvm.org/rG7ce32f87f96), [f773d37](https://reviews.llvm.org/rGf773d37ee1d), [4096088](https://reviews.llvm.org/rG4096088e194), [5a9630b](https://reviews.llvm.org/rG5a9630b7774). * The `[[clang::trivial_abi]]` annotation has now been added to `std::unique_ptr` in libcxx, allowing further optimisations. [76887bc](https://reviews.llvm.org/rG76887bc4c10). * MLIR's SPIR-V to LLVM conversion is now documented. [b74ab49](https://reviews.llvm.org/rGb74ab49f47e). * lld-macho gained partial support for weak definitions. [31d5885](https://reviews.llvm.org/rG31d58858425). * LLDB now has support for AArch64 SVE register information and core file register access. [7e017de](https://reviews.llvm.org/rG7e017de0ad6).