Alex Bradbury via llvm-dev
2021-Jan-11 21:03 UTC
[llvm-dev] LLVM Weekly - #367, January 11th 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).