LLVM Weekly - #565, October 28th 2024
Welcome to the five hundred and sixty-fifth 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
There will be an LLVM dev room again at FOSDEM next year and the call for proposals is now out. The event will take place on February 1st in Brussels.
As a reminder, the Munich LLVM meetup is taking place this week on October 30th.
The next LLVM Social in Darmstadt will take place on November 27th.
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, libc++, new contributors, LLVM/Offload, classic flang, MLIR open meeting, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
A number of summaries from roundtable discussions / workshops at the LLVM Developers' Meeting are already posted. Read the notes from the embedded toolchains roundtable, llvm-libc roundtable, security group roundtable, embedded toolchains unconference, and LLVM loves machine learning workshop.
Kazu Hirata suggested migrating llvm::StringRef to std::string_view.
Orlando Cazalet-Hyams kicked off an RFC thread on improving is_stmt placement for improved interactive debugging.
Adrian Prantl proposes adding a minimal bytecode to LLDB tailored for running LLDB formatters.
Alex Langford, Jonas Devlieghere, Ismail Bennani, Jim Ingham propose to refactor ‘Platform’ in LLDB.
Another Flang liaison report to J3 was published. The report acts as a great summary of the current status and progress over the past ~4 months.
The LLVM Code of Conduct Committee shared the 2024 transparency report.
“Keksgesicht” asked about how to modify some downstream intrinsics to support 64-bit RISC-V as well as 32-bit and received guidance.
John Harrison proposed updating lldb-dap’s server mode to allow multiple connections. This would amortize the overhead of loading symbols.
David Spickett raised the question of documenting a minimum Python version for LLDB.
Sandeep Dasgupta shared an RFC on supporting sub-channel quantization in MLIR.
DonĂ¡t Nagy shared some results from applying some proposed clang static analyzer loop handling improvements.
LLVM commits
MC layer support was added for newly added AArch64 atomic instructions and memory systems extensions, and register classes added for new Armv9.6 instructions. Also zeroing convert instructions, and more. 67ff5ba, 4679583, 6e535a9, 2c5208a.
MC layer support was added for the new AArch64 compare-and-branch instructions. 82d2df2.
llvm-cxxfilter learned a new
--quote
option to quote demangled function names. d582442.llvm-lit --use-unique-output-file-name
will avoid overwriting test report files. This is motivated by CI use cases that often do something likeninja check-clang check-llvm
. 8507dba, 22e21bc.The basic register allocator no longer takes into account the block frequency multiplier for spill weight calculations of optsize functions. This is because for optsize only the codesize cost should be considered, not the runtime cost of spilling. e6ada71.
Branch analysis was implemented for the Xtensa backend. 1e9a296.
The documentation covering “landing your change” on Github was cleaned up. dfc40650.
Support for the WebAssembly wide arithmetic proposal was implemented in LLVM. c2293b3.
Clang commits
The
__mfp8
type was introduced for AArch64. 4994051.Support was removed for negative priority in RISC-V
target_version
andtarget_clones
attributes. c77e836.The
KeepFormFeed
option was added to clang-format. 786db63.
Other project commits
libcxx started using libc code for the first time (part of project ‘hand in hand’). It reuses libc code to implement
std::from_chars
. 6c4267f.BOLT gained a profile density computation. 6ee5ff9.
The libc++ headers as of the LLVM 19.1 release were copied to a directory to enable them to serve as ‘frozen’ C++03 headers. e78f53d.
std::flat_map
was implemented. 0be1883.The runtimes can now be built against an installed LLVM tree. b1be213.