LLVM Weekly - #569, November 25th 2024
Welcome to the five hundred and sixty-ninth 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 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
I mentioned last week that LLVM Weekly is now on Bluesky (as well as Mastodon). I’ve put together a “starter pack” of LLVM contributors/developers on Bluesky that may be of interest. If you’re not listed and want to be, just respond here or message me.
This is a reminder that the FOSDEM LLVM dev-room CfP closes on December 1st.
Herb Sutter published a trip report from the recent ISO C++ meeting in Wrocław.
LLVM 19.1.4 was released.
The 16th Open Source Development Tools Conference (formerly HelloGCC Workshop) will take place on December 7th and is accepting submissions until November 30th.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert., Amera Emerson.
- Online sync-ups on the following topics: Flang, libc++, new contributuros, LLVM/Offload, classic flang, OpenMP for flang, MLIR. (though do double-check especially the meetings later in the week, as I’d expect cancellations due to thanksgiving in the US).
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
John Regehr kicked off a discussion on improving constraint elimination in LLVM.
Matthias Springer followed up on the MLIR thread on low precision FP types with a proposal.
Pavel Labath raised the issue of discontinuous functions in LLDB. Noting that tools like Propeller may split functions into smaller pieces, and although this is representable in DWARF, LLDB’s internal representation doesn’t allow for it.
J Ryan Stinnett and Stephen Kell posted a v2 RFC on contributing a new debug info coverage extension to llvm-dwarfdump.
ChuanqiXu proposed a ClangIR-based safe C++. There’s plenty of interest in the details of the proposal, but also questions about its limitations and whether the timing is right for an RFC given that ClangIR is not yet mature.
Jon Chesterfield initiated an RFC thread on representing function pointers as integer indices into a table for targets other than Wasm.
Kristof Beyls shared an update on the previous BOLT-based binary security analysis tool RFC to note that an initial PR is now up for review.
LLVM commits
ORC’s new LazyObjectLinkingLayer allows object files to be added to an executor that will not be linked into it unless some function they define is called at runtime. 224290d.
The RISC-V backend gained support for even-odd GPR pairs in inline assembly using the ‘R’ constraint. 4615cc3.
Commit access requests can now be made via GitHub issues. 6fe94c3.
The basic definition for “LLVM” as the environment part of a triple (as in
x86_64-pc-linux-llvm
was added, intended for use to indicate LLVM’s libc. 7672216.In order to allow for better vectorisation, the SLP vectoriser now matches scalar instructions + poison values as it poisons are instructions with the same opcode. b870336.
Hexagon gained a load widening pass (building on the previously committed store widening pass). 028d41d.
Clang commits
Clang’s internals manual was updated to discourage people from using contractions in diagnostics. f710e4c.
Clang learned to handled
__builtin_cpu_is
for RISC-V. 875b10f.-m{arch,tune}=diamondrapids
is now supported. 97836be.Scoped atomic thread fence is now supported. 1ced565.