LLVM Weekly - #545, June 10th 2024
Welcome to the five hundred and forty-fifth 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
LLVM 18.1.7 was released.
Google how now open sourced GWPSan.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Alexey Bader, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, LLVM AA, pointer authentication, SPIR-V, libc++, new contributors, LLVM/offload, classic flang, loop optimisations, BOLT, OpenMP for Flang, MLIR.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Mahesh Ravishankar posted an MLIR RFC on updating the ‘general design’ section of operation canonicalisations in MLIR.
Han-Kuan proposed making the SLP vectorizer support revectorizing vector instructions.
Alex Bradbury suggested adding an llvm.memset_pattern.inline intrinsic.
“Lifengxiang1025” proposed an RFC on printing PGO accuracy metrics.
“ArcaneNibble” started an RFC discussion on supporting the WCH/QingKe RISC-V extensions.
Min-Yih Hsu started a discussion on improving pre-commit buildbot output.
Minutes from the March and April LLVM Foundation board meeting were published.
Stephen Neuendorffer shared news of the open sourcing of an LLVM backend for the AMD/Xilinx AI Engine processors.
LLVM commits
A new target-specific pass was introduced to merge convergence region exit targets for SPIR-V. a5641f1.
The algorithmic complexity of
MachineOutliner::findCandidates
was reduced, improving runtime for large inputs. 16c925a.A new pass was implemented to lower variadics in IR, enabled for AMDGPU and tested primarily from WebAssembly. 8516f54.
SelectionDAGISel was ported to the new pass manager. 7652a59.
The GlobalMerge pass gained a MinSize option, used to control the minimum size in bytes of each global that should be considered for merging. 0f66915.
The preserve_none calling convention is now supported for AArch64. ae1596a.
Support was removed for icmp and fcmp constant expressions. eb3f2be.
AArch64LoopIdiomTransform was generalised to LoopIdiomVectorize. 37e309f.
The minimum python version was updated to 3.8. 33f4a77.
Clang commits
Support was added for AMDGCN flavoured SPIRV. 88e2bb4.
The unix.BlockInCriticalSection and security.PutEenvStackArray checkers are no longer ‘alpha’ quality. 6ef785c, bc3baa9.
A new
optin.taint.TaintedAlloc
checker was added to Clang’s static analyzer for catching unbounded memory allocation calls. 289725f.