LLVM Weekly - #544, June 3rd 2024
Welcome to the five hundred and forty-fourth 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 [email protected], @llvmweekly or @asbradbury on Twitter, or @[email protected] or @[email protected].
News and articles from around the web and events
There will be one final, unscheduled LLVM release. LLVM 18.1.7 is expected on Tuesday, fixing a regression introduced in 18.1.6.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Renato Golin, Quentin Colombet, Johannes Doerfert.
- Online sync-ups on the following topics: MLIR C/C++ frontend, pointer authentication, SPIR-V, MemorySSA, AArch64, OpenMP, new contributors, Clang C/C++ language working group, Flang, RISC-V, libc, MLIR, HLSL, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Chaitanya Shahare is seeking input to a survey for the LLVM.org website redesign that’s being pursued as a GSoC project.
There was further discussion on the proposal to introduce the ‘sandbox vectorizer’, with Alina Sbirlea indicating interest from some Google LLVM engineers in experimenting, Eli Friedman suggesting checkpointing via cloning as an alternative, and Arthur Eubanks offering a summary of pros/cons for various options for where this could live.
Stephen Tozer kicked off an RFC thread on updating how debug locations are handled in LLVM, suggesting making DebugLog a mandatory argument for creating instructions. This attracted a counter-proposal from Nikita Popov suggesting that this is enforced in the verifier instead.
Donald Chen proposes adding operandIndex to the MLIR EffectInstance class, allowing an effect to be specified on an operand rather than a value used by some operand.
The 66th edition of MLIR News is now available.
Maksim Levental shared a more minimal MLIR project example (self-described as an ‘unconventional’ approach).
Rong Xu and Han Shen posted a proposal for optimising the Linux kernel with AutoFDO including ThinLTO and Propeller, including a variety of performance measurements.
Joshua Cranmer posted an RFC on changing llvm::Value’s layout, motivated by lack of space to add more fast-math flags.
LLVM commits
getelementptr nuw and nsw flags were introduced. 8cdecd4.
A new
ptrauth(...)
IR constant was introduced to represent a ptrauth signed pointer as used in AArch64 PAuth. 0edc97f.A design document was added for the TableGen specification of DXIL operations. 495bc3c.
Documentation for updating code to handle debug records was added. a8e03ae.
The RISC-V backend gained a rematerialisable pseudo instruction for LUI+ADDI for global addresses. 2d00c6f.
The exnref type was added to the WebAssembly backend. c179d50.
The SPIR-V backend gained support for llvm.ptr.annotation. f63adf3.
DIExpression::foldConstantMath
was introduced. b12f81b, 69969c7, f4681be.
Clang commits
A new flag was added to only emit debuginfo for referenced member functions. 6e975ec.
HLSL availability diagnostics were implemented. 8890209.
Work to split up Sema continued. ed35a92.