LLVM Weekly - #636, March 9th 2026
Welcome to the six hundred and thirty-sixth 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
The next Cambridge (UK) LLVM pub social will take place on March 24th.
According to the LLVM Calendar in the coming week there will be the following (note: the US has entered daylight savings but Europe hasn’t yet, so some times may be different than normal):
- Office hours with the following hosts: Alexey Bader, Aaron Ballman, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: formal specification, pointer authentication, alias analysis, OpenMP, Flang, SPIR-V, LLVM libc, RISC-V, LLVM libc math library.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Cameron Durbin shared a new template for out-of-tree MLIR optimiser projects.
Xavier Roche started a discussion on improving
_BitInt(N)support in libc++. This discussion came after an earlier one proposing__int256be added.Britton Watson has been working to provide the LLVM Research Library, a searchable and browsable home for all talks and slides at LLVM Developers Meetings. Britton is looking for feedback on this experiment.
LLVM Foundation board minutes were posted for January and February.
Anshul Nigham proposed updating the LLVM documentation to use the ‘furo’ Sphinx theme. Respondents so far are positive.
Antonio Frighetto gave a rundown on changes that have landed in LLVM to help model errno memory effects.
Yunbo Ni shared results of an experiment with an agentic review tool for optimisation related PRs in LLVM. On 207 recent PRs (70 open, 137 closed) it found over 30 bugs.
LLVM commits
SelectionDAG expansion was added for
llvm.convert.from.arbitrary.fpfor Float8E5M2, Float8E4M3FN, Float6E3M2FN, Float6E2M3FN, Float4E2M1FN. a636928.The LangRef description for
nszwas clarified. 3ad43f2.The RISCVMoveMerger pass was extended to merge GPR pairs regardless of the order of the even+odd pair. 5a53fce.
The LangRef now mentions that allocation elision may happen. 5d8c6c1.
The Arm Neoverse N1 scheduling model was improved my modeling late forwarding. a28699b.
llubi, the UB-aware LLVM IR interpreter gained support for load/store/lifetime markers. 30434ba.
Clang commits
The
--cstdliboption was added which can be used to indicate the libc to use (newlib, picolibc, llvm-libc, system). 7418d1b.VTable thunk handling support was added to ClangIR. a14d8b2.
A ConstExpr evaluator was added for matrices in HLSL. f8f0f932.
A design document was added for MLIR dialect-agnostic calling convention lowering using the LLVM ABI lowering library. d32ffde.
The performance-user-std-move checker was added to clang-tidy, suggesting using
std::movewhen a costly copy would happen otherwise. 6d82f14.clang-doc now has a Markdown generator that uses Mustache templates. b80248a.