LLVM Weekly - #528, February 12th 2024
If you prefer, you can read the canonical version of this issue at http://llvmweekly.org/issue/528.
Welcome to the five hundred and twenty-eighth 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 asb@asbradbury.org, @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.
News and articles from around the web and events
âxoranthâ blogged about switch lowering in GCC.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: alias analysis, poitner authentication, new contributors, OpenMP, Flang, BOLT, RISC-V, libc, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
-
Jeremy Morse provided an update on work to eliminate debug intrinsics, noting that this is about to turned on and how this may affect downstream pass implementations.
-
Tom Stellard started an RFC thread on the future of Windows pre-commit CI, suggesting migrating it to GitHub Actions unless the current spurious failures can be resolved.
-
LLVM 18.1.0-rc2 was released.
-
Jon Chesterfield provided an update on his proposal for desugaring variadics.
-
âdougsonosâ posted an RFC on adding nolock and noalloc attributes to Clang.
-
Nora Judith started a thread querying if there was any progress on a physical manifestation of the LLVM mascot.
-
Takumi Nakamura proposed introducing a new algorithm and file format for modified condition/decision coverage. The proposal aims to remove the current limitation on the maximum number of conditions.
-
Potential GSoC projects for on-demand parsing in Clang and 3-way comparison intrinsics were shared.
LLVM commits
-
A new JumpTableToSwitch pass was introduced, replacing an indirect call with a switch and direct calls if all functions in the jump table are smaller than the specified threshold. d26b43f.
-
A
preserve_none
calling convention was introduced and is supported on X86-64 only for now. c166a43. -
LLVMâs documentation was improved to be clearer about when the new vs the legacy pass manager is used. 1b5fae9.
-
Many in-tree tests were converted to opaque pointers. 1ee315a, 00a4e24, 6e83c0a, and more.
-
MC layer support was added for the RISC-V pointer masking extension. 0bf165e.
-
The newly added âskip-precommit-approvalâ label for use with PRs that are not meant to be reviewed (e.g. reverts) was documented. 9347146.
-
The unmaintained LoopReroll pass was removed. ac3bd2b.
-
Arbitrary general purpose registers can now be reserved for Sparc. c2f9885.
Clang commits
-
C intrinsics were added for the RISC-V Zvfbfwma extension. ae5ed2a.
-
The clang linker wrapper now supports relocatable linking for offloading. 5c84054.
-
-Wshorten-64-to-32
is now grouped under-Wimplicit-int-conversion
. 4b72c5e.
Other project commits
-
MLIRâs transform dialect tutorials were updated. b33b91a.
-
The float128 rounding functions were added to LLVMâs libc. 6ba9d29.
-
LLD can now relax the
R_LARCH_ALIGN
relocation for LoongArch. 06a728f. -
Initial mapping of Fortran pointers and allocatable variables for target devices was implemented in MLIR. 95fe47c.
-
SiFive VCIX intrinsics are now supported in MLIRâs LLVMIR dialect. 9f6c005.