[llvm-dev] LLVM Weekly - #367, January 11th 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 11 13:03:15 PST 2021


LLVM Weekly - #367, January 11th 2021
=====================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/367>.

Welcome to the three hundred and sixty-seventh 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

The deadline for submissions to the 5th LLVM Performance Workshop at CGO-2021
was [extended to January 15th
2021](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147606.html).

CMake performs well as LLVM's buildsystem, but can it more? What about [Ray
Tracing in pure CMake?](https://64.github.io/cmake-raytracer/).


## On the mailing lists

* Tom Stellard shared the [proposed release schedule for LLVM
12](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147599.html),
noting that an LLVM 11.1.0 release will be necessary. He also proposes a
week-of-the-year based release schedule that an be used for all future
releases, aiming to document current practice. The proposed branch date is
January 26th.

* Shoaib Meenai proposes [making ld64.lld default to the new Mach-O
port](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147665.html),
noting that this new LLD Mach-O port can now self-host and passes its test
suite on X86-64. Shoaib would like to make this change prior to the LLVM 12
branch.

* Stella Laurenzo shared an RFC on [modernizing CMake LLVM's "Components"
facility](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147567.html).

* Craig Topper proposed [allowing scalable vectors in structs to support
multiple return values from
intrinsics](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147639.html).
Respondents
[suggest](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147673.html)
that steps towards removing load/storephi on first class aggregates would be
welcome.

* Stella Laurenzo posted an RFC on [moving py-mlir-release to a new top-level
repo in the LLVM
org](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147653.html).

* Florian Hahn shared thoughts on [speculatively creating IR and throwing it
away if not
needed](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147678.html).
He intends to do this for runtime checks in LoopVectorize, and is checking if
anyone has concerns about this approach.

* LLVM GPU News Issue #3 has [now been
published](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147683.html).

* Johannes Doerfert posted an RFC on [introducing !nocpature metadata and the
`nocapture_use` operand
bundle](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147664.html).
This is helpfully summarised as "A pointer stored in memory is not necessarily
captured, let's add a way to express this."

* LLVM 11.0.1-final [has been
tagged](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147619.html).

* Johannes Doerfert shared [detailed thoughts on
lifetime.start/lifetime.end](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147594.html).

* Anirudh Prasad posted an RFC on [adding support for minimal HLASM syntax
support for inline asm blocks for
z/OS](https://lists.llvm.org/pipermail/llvm-dev/2021-January/147686.html).


## LLVM commits

* Initial support was added for an assert statement in TableGen.
[6e2b635](https://reviews.llvm.org/rG6e2b6351d2cb).

* A base implementation for sret domation was added to GlobalISel.
[d68458b](https://reviews.llvm.org/rGd68458bd56d9).

* CoroSplit's function splitting/outlining was corrected and made compatible
with the new pass manager. [7fea561](https://reviews.llvm.org/rG7fea561eb1ce).

* The Sparc internal assembler received a number of fixes.
[42652c1](https://reviews.llvm.org/rG42652c1d6e21).

* The Functionttrs interprocedural pass can now infer `noreturn`.
[8cf1cc5](https://reviews.llvm.org/rG8cf1cc578d32).

* Multiplication with a constant was optimised in the RISC-V backend.
[55f0a1b](https://reviews.llvm.org/rG55f0a1b06632).

* Exception handling instructions were added to the WebAssembly backend in
line with a new specification.
[9e4eade](https://reviews.llvm.org/rG9e4eadeb135d).


## Clang commits

* Source-based coverage gained support for branch coverage.
[9f2967b](https://reviews.llvm.org/rG9f2967bcfe2f).

* Clang extensions for function pointers and variadic functions in OpenCL were
added. [4fde2b6](https://reviews.llvm.org/rG4fde2b6a0c08),
[0e874fc](https://reviews.llvm.org/rG0e874fc014be).


## Other project commits

* LLVMType was removed from MLIR, and LLVM dialect types now derive Type
directly. Additionally, LLVM dialect float types were replaced with builtins.
[c69c9e0](https://reviews.llvm.org/rGc69c9e0f0fd2),
[dd5165a](https://reviews.llvm.org/rGdd5165a920f6).

* `__atomic_is_lock_free` was implemented in compiler-rt.
[00530de](https://reviews.llvm.org/rG00530dee5d12).

* The Flang driver gained support for `-D`, `-U`, `-c`, and `-emit-obj`.
[7809fa2](https://reviews.llvm.org/rG7809fa204000),
[e5cdb6c](https://reviews.llvm.org/rGe5cdb6c56edf).

* Implementations of nearbyint[f|l], nextafter[f|l], and fmaf were added to
LLVM's libc. [993d8ac](https://reviews.llvm.org/rG993d8ac5cb93),
[7f7b0dc](https://reviews.llvm.org/rG7f7b0dc4e15f),
[4726bec](https://reviews.llvm.org/rG4726bec8f29b).


More information about the llvm-dev mailing list