[llvm-dev] LLVM Weekly - #343, July 27th 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 27 12:15:20 PDT 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).


More information about the llvm-dev mailing list