LLVM Weekly - #538, April 22nd 2024
Welcome to the five hundred and thirty-eighth 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
LLVM 18.1.4 was released.
The next Bay Area LLVM dev meeting is today.
John Regehr blogged about dataflow analyses and compiler optimisations that use them.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert, Amara Emerson.
- Online sync-ups on the following topics: SPIR-V, new contributors, OpenMP, Flang, RISC-V, MLIR open meeting, LLVM embedded toolchains.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Slides from the MLIR workshop at EuroLLVM are now available.
Venkata Ramanaiah Nalamothu posted an RFC on providing a ROM patching mechanism for embedded applications.
Florian Hahn provided an update on the set of patches to revive TypeSanitizer.
Mark de Wever suggested adding native lit support for C++ version compatibility in e.g. libcxx tests, meaning
<=c++23
could be used rather than listing all C++ standards prior to C++23.Tom Stellard is seeking LLVM developers who will admit to having “secure development knowledge”.
Fangrui Song proposed a update_test_body.py utility script to simplify creating test cases from C inputs, motivated by the various manually updated debuginfo tests that frequently have comments describing the C input used to create them.
Renato Golin posted notes from the MLIR upstream round table at EuroLLVM.
Hans Wennborg and Reid Kleckner shared notes from the project governance roundtable at EuroLLVM.
Mircea Trofin posted an RFC on contextual profile instrumentation.
Pierre van Houtryve started an RFC discussion on measuring GlobalISel compile-time performance.
Kristof Beyls shared a summary of the EuroLLVM roundtable on using BOLT as a binary analysis tool.
Kristof Beyls shared an update on behalf of the LLVM Foundation board, that the requirement to contribute under the old LLVM license as well as the new one will be dropped.
Maciej Gabka proposes promoting various vector intrinsics from the experimental namespace.
J Ryan Stinnett distributed notes from the debug info round table at EuroLLVM.
Jeremy Kun proposed upstreaming a tutorial on MLIR for beginners.
LLVM commits
Latencies were updated for the Cortex-A510 scheduling model. cc82f12.
llvm-objcopy now has a
--compress-sections
option. 0794298.Backends can now implement verification of target SelectionDAG nodes. 7089c35.
Scheduling information was added for SiFive VCIX instructions. 6da1966.
Debugify gained support for debug variable records. 1c6b0f7.
InstCombine now canonicalises
sitofp
touitofp nneg
. b6bd41d.
Clang commits
-fexperimental-modules-reduced-bmi
was introduced and documented (see the second commit for a full write-up). f811d7b, e6ecff8.The
__builtin_is_align{ed,_up,_down}
builtins were implemented for the Clang interpreter. 75244a1.__builtin_allow_runtime_check
was implemented. 1f35e72.
Other project commits
The beginnings of a polynomial dialect were committed to MLIR. 55b6f17.
MLIR’s mem2reg partial load support was improved. ac39fa7.
The sanitizers in compiler-rt moved to using
__atomic
builtins wherever possible. abd5e45.The
pthread_condattr_t
functions were implemented in LLVM’s libc. 06947b9.--debug-names
was introduced to LLD’s ELF linker to create merged.debug_names
. 16711b43.