LLVM Weekly - #643, April 27th 2026
Welcome to the six hundred and forty-third 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 https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback via email: asb@asbradbury.org, or Mastodon: @llvmweekly@fosstodon.org / @asb@fosstodon.org, or Bluesky: @llvmweekly.org / @asbradbury.org.
News and articles from around the web and events
Slide decks from EuroLLVM are now available.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Johannes Doerfert, Renato Golin.
- Online sync-ups on the following topics: Flang, modules, lifetime safety, LLVM/Offload, JIT, OpenMP for flang, HLSL, MLGO, reflection.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Sameer Sahasrabuddhe shared a proposal for a memory model incubated under AMDGPU target that is weaker than the LLVM memory model, aiming for compatibility with the Vulkan memory model.
You might have seen GitHub recently share a preview of a stacked PR workflow. LLVM has asked for access.
LLVM 22.1.4 was released.
Simon Tatham started an RFC discussing on improving function size estimation for Arm.
EuroLLVM roundtable notes were shared for PAuthABI, MLIR assembly dialects, and LLVM_ENABLE_RUNTIMES, embedded toolchains.
Hassnaa Hamdi is checking for interest in setting up a GitHub roadmap board for vectorisers work.
Felipe de Azevedo Piovezan proposed adding a new packet type to the gdbremote protocol in LLDB for setting/removing multiple breakpoints.
Pankaj Dwivedi suggests adding a ValueDeletionListener class to LLVM IR.
Aryan Magoon is seeking feedback on handling CFG transforms on branch-divergent/SPMD targets.
Oskar Wirga shared a set of PRs adding arm64e support to LLD (Apple’s ABI variant of arm64 that implements Armv8.3 pointer authentication).
Zequan Wu posted an RFC on extending LLVM IR DILocation and the DWARF line table to track the source location history or merged instructions during optimisations.
LLVM commits
The Mips delay slot filler was extended to fix an issue when there is a combination of branch and load delay slots on MIPS1. 458e9c4.
GlobalISel FPInfo was implemented for AArch64, allowing ‘ambiguous’ FP types (fp types with the same width as others). c95a333.
Parsing the frame-pointer attribute is now done when creating a MachineFunction, resulting in a small but measurable speedup for codegen. f2efeab.
The Os and Oz pipelines were removed in favour of using O2 with the optsize or minsize attributes instead. 86b9775.
Volatile loads are no longer
willreturn. d28eeaa.TargetInfo for ABI information was added and implemented for BPF. b06f62f, ebbaa93.
The SLP vectorizer gained initial support for non-power-of-2 vectorisation. cb9b66c.
Clang commits
The
[[clang:unsafe_buffer_usage]]attribute is now supported in API notes. 849de61.-fstrict-boolwas implemented, allowing control over whether Clang can assume bool values loaded from pattern can’t have a bit pattern other than 0 or 1. 5659f86.Vector OFP8 types were added to RISC-V vector intrinsics. 228fabd.
clangd gained a persistent cache for a clangd built module file. 28d2537.
Other project commits
TypeSanitizer can now build for Hexagon. 87a9cba.
SIMD compiler directives and an
INLINEALWAYScompiler directive were added to Flang. f5e80c9, 839a22f.LLVM libc test running was moved to lit. fc9f14e.
views::enumerateandranges::stride_viewwas implemented in libcxx. 2039a51, 2f28e1d.Input file loaded was parallelised in LLD’s ELF linker. 83f8eee.
LLDB’s docs gained an index of previous dev meeting talks on debugging. df6792b.
Documentation was added on kernel record replay for OpenMP. 254fcbe.