[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

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

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

* Varun Gandhi suggested that [LLVM should explain the lack of C++ ABI
stability in the developer
prompting a reasonable amount of discussion about the policy and [the possible
use of deprecation

* Alexander Richardson posted an RFC on [requiring explicit address space
arguments for
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

* Tanya Lattner sent a reminder that applications for the LLVM Foundation
Board of Directors [are due by July

## LLVM commits

* The CMake minimum version has been bumped to 3.13.4.

* Target-specific InstCombine code has now been moved into the targets.

* An "extract" test utility was added, to support multiple documents / test
cases in a single test file.

* `update_test_checks` and `update_cc_test_checks` gained a new option to
allow function attributes to be checked.

* 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.

* A "development-mode InlineAdvisor" was added, supporting loading models with
a command-line parameter and collecting training logs.

* Loop peeling support was added to the loop fusion pass.

* The abs/umin/umax/smin/smax intrinsics were added.

* 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.

## 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.

* clang-format gained a new BitFieldColonSpacing option

## Other project commits

* LLVM's libc gained implementations of strstr, fmin, fminf, fminl, strnlen,
fmax, fmaxf, fmaxl and memrchr.

* The `[[clang::trivial_abi]]` annotation has now been added to
`std::unique_ptr` in libcxx, allowing further optimisations.

* MLIR's SPIR-V to LLVM conversion is now documented.

* lld-macho gained partial support for weak definitions.

* 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