LLVM Weekly - #549, July 8th 2024
Welcome to the five hundred and forty-ninth 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
A couple of papers were shared this week that may be of interest to readers, Verifying Peephole Rewriting In SSA Compiler IRs and Refined Input, Degraded Output: The Counterintuitive World of Compiler Behavior.
The 2024-06 C++ committee trip report from /r/cpp contributors is now available.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Anton Korobeynikov, Alina Sbirlea, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, alias analysis, pointer authentication, libc++, new contributors, LLVM/Offload, loop optimisations, BOLT, OpenMP in Flang, MLIR.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tanya Lattner is seeking new nominations for the LLVM CoC committee members.
Tom Stellard provided an update on the new criteria for commit access, noting that the number of users with commit access reduced from 1798 to 1471.
Tobias Stadler made a GlobalISel RFC on allowing arbitrary instruction erasure in InstructionSelect.
Brandon Wu proposed supporting RISC-V vector tuple types in LLVM.
Aiden Grossman shared an RFC on testing strategy for X86 CPU/feature detection.
Rafael Ubal proposed improvements to the MLIR ‘quant’ dialect.
LLVM commits
Documentation was added on RISC-V vector codegen. e860c16.
Initial code for the sandbox vectoriser started to land. f9efc29, d5f5dc9.
SimplifyCFG learned how to simplify nested branches. 4997af9.
InstCombine can now simplify
select
using KnownBits of the condition. 77eb056.Support was added to the MC layer, llvm-readobj, and yaml2obj for the CREL relocation format. 1b704e8.
128-bit operands can now be used in inline asm with the NVPTX backend. cbd3f25.
The “generic” and “bleeding-edge” WebAssembly CPU definitions were updated. fb6e024.
LoopIdiomVectorize now supports using VP intrinsics to replace byte compare loops. 8b55d34.
An
llvm.experimental.partial.reduce.add*
intrinsic was added. 6222c8f.
Clang commits
clang-repl now supports executing C++ code interactively inside a JS engine using WebAssembly when built with Emscripten. 9a9546e.
Clang static analyzer docs were migrated from HTML to RST. 3cab132, 093aaca.
A new
bugprone-pointer-arithmetic-on-polymorphic-object
check was introduced to clang-tidy. f329e3e.