LLVM Weekly - #530, February 26th 2024
Welcome to the five hundred and thirtieth 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
The schedule for the Eighth LLVM Performance Workshop at CGO is now up.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Amara Emerson, Johannes Doerfert.
- Online sync-ups on the following topics: MLIR C/C++ frontend, pointer authentication, new contributors, OpenMP, Flang, RISC-V, MLIR, embedded toolchains, SPIR-V, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tom Stellard shared an update on the 18.1.0 release process. There will now be a rc4 release candidate on Tuesday February 27th, aiming for a final release on March 5th.
Tom Stellard reposted the final version of the RFC on new criteria for commit access to check it’s reached consensus.
There was lots of discussion about user-created git branches with very long names causing issues on Windows.
Sam McCall posted an RFC on allowing
_Nonnull
attributes on C++ smart pointers.Dhruv Saksena proposed a new MPS dialect in MLIR.
Graham Hunter is seeking feedback on making LoopStrengthReduce vscale-aware.
Kamau Bridgeman gave a heads-up that 64-bit big endian Linux on PowerPC buildbots will be taken offline in June as RHEL is going end of life for that target.
LLVM commits
The SelectionDAG pattern matching framework (
llvm::SDPatternMatch
) was introduced, providing a DSL-like framework for matching SDValue/SDNode with a succinct syntax, similar tollvm::PatternMatch
andllvm::MIPatternMatch
. 5874874.JumpTabletoSwitchPass was enabled by default. 1069823.
Pass manager nesting in the new pass manager was rewritten. 91e9e31.
llvm-exegesis gained documentation for its validation counters option. 0c1f620.
The SPIRV backend now supports atomic instructions on floating point numbers and the SPV_KHR_uniform_gropu_instructions extension. 925768e, 66ebda4.
LLVM’s stale profile matching routines gained support for computing and reporting the staleness metrics after fuzzy matching. c98da372.
Work started on adding llvm.dbg.label support to the RemoveDIs project. ababa96.
FP to BFloat16 rounding is now properly implemented when SelectionDAG nodes are expanded. cc13f3b.
MC layer support was added for ARM FDPIC relocations. 2167881.
String literals in LLVM IR were documented. 770fd38.
Initial support for vectors was added to ConstantInt and ConstantFP. cbb24e1.
Clang commits
Ideas for transitioning to modules were written up in Clang’s documentation. c8fab88.
The
__is_layout_compatible
builtin was introduced. d5922cf.The expected differences between Clang and the HLSL reference compiler implementations were documented. 66f6929.
Unaligned access is now allowed for Armv7 and higher by default. e314622.