LLVM Weekly - #481, March 20th 2023
Welcome to the four hundred and eighty-first 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. 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web and events
LLVM 16.0.0 was released. Congratulations and thank you to everyone involved. I’ve also written up a tour of some of the RISC-V related changes in LLVM 16.
The LLVM Foundation strategic planning meeting on community health and infrastructure is taking place in timeslots on March 20th and March 21st. See Tanya Lattner’s overview of the topics to be discussed and be sure to dial in if this is something you have thoughts on.
An MLIR Hackathon will take place in Edinburgh on Tuesday May 9th, the day before EuroLLVM in Glasgow.
According to the LLVM calendar (note the US is in daylight savings time already, so meeting times might be different for you than usual if you’re e.g. in Europe) in the coming week there will be:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, SYCL, community health and infrastructure, OpenMP, loop optimisation, “classic” Flang, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
There was a discussion about the status of coroutine support in Clang, specifically on whether the documentation should be updated to mark the status as “unreleased” rather than “incomplete”. The main concern appears to be known issues on Windows.
Nick Desaulniers shared an RFC on improving Clang’s middle and back end diagnostics, noting problems related to duplication in IR from ad-hoc debug info and a loss of context meaning diagnostics are hard to understand.
-
H Vetinari provided an update on pstl, noting that work is underway to integrate it into libcxx.
Sebastian Perta started a discussion on upstreaming an LLVM backend for the Renesas RL78 architecture.
In the RFC thread on resolving issues related RISC-V extension versioning, Philip Reames shared a summary of tentative consensus from meetings about the topic.
Andrew Butt posted a CIRCT RFC on splitting the pipeline dialect and adding a representation for sequential loop scheduling.
LLVM commits
PassManagerBuilder was removed. d623b2f.
llvm-mc and llvm-reduce were documented in the CommandGuide. 5686364, ae2d8de.
MemProf metadata is now documented in the LangRef. 1f884ef.
MC layer (assembly) support was added for AArch64 Check Feature Status Extension and Guarded Control Stacks. cb7fb73.
A README was committed for llvm-debuginfo-analyzer. 82238fc.
Clang commits
Support was added for the funcref reference type in WebAssembly. 8d0c889.
Target extension types are now used for OpenCL types on SPIR-V. bcad161.
--extract-api-ignores
now supports multiple files. 58825d2.__builtin_set_flt_rounds
was added, which will be lowered to thellvm.set.rounding
intrinsic. b38aa29.The
ptrmask
intrinsic is now used for pointer alignment. 8e00934.
Other project commits
LLVM’s libc cross-compilation instructions were updated. ea471e2.
A performance improvement in BOLT reduced the time taken to process a small AArch64 binary on the patch author’s machine from 2.7s down to 80ms. 4875e06.
A remote procedure call mechanism was added for the GPU build of LLVM’s libc, and integration tests were enabled. 8e4f9b1, 39e9109.
Additional functions were enabled within LLVM’s libc for RISC-V targets. 63ed8ab, fe99de3, 1990ce7.