LLVM Weekly - #519, December 11th 2023
Welcome to the five hundred and nineteenth 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
Nikita Popov blogged about how single-iteration InstCombine improved LLVM compile time.
Google’s Bug Hunters blog covered LLVM CFI and cross-language LLVM CFI upport for Rust.
Version 1.0 of Cling, the C++ interpreter, has been released.
The next LLVM meetup in Munich will take place on January 29th.
Additional recordings from the 2023 LLVM Dev Meeting were uploaded.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Alexey Bader, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, alias analysis, pointer authentication, AArch64, OpenMP, classic flang, loop optimisations, OpenMP in Flang, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM Foundation Board Minutes from November are now available. One issue discussed was getting more input on the project governance RFC advertised on the Discourse some time ago but mostly discussed on the PR).
Kolya Panchenko posted an MLIR RFC on adding a dialect for SiFive’s VCIX (Xsfvcp) RISC-V extension.
Vlad Serebrennikov raised concerns that user-created branches in the monorepo are often misused.
Kyle Loveless started a discussion about some ideas for reducing build times for single compilation units.
“lipracer” posted an RFC on adding a clang-based tool to aid refactoring the MLIR codebase.
The 58th edition of MLIR news is now available.
David Spickett reports new contributors will now receive an automated comment with guidance upon their first PR.
Emails from Phabricator are currently down and not expected to be fixed until January.
Petr Hosek proposes merging RISCVToolChain into the BareMetal toolchain (extending BareMetal to support using an existing GCC installation).
LLVM commits
computeKnownBits gained dominating condition support. d77067d.
llvm-readobj now supports AARch64 ELF AUTH constants. 3c6efe5.
A per-global code model attribute is now supported in LLVM IR. a8874cf.
16 byte atomic int/fp types and operations are now properly supported with SystemZ. Handling of AtomicRMW instructions was also refactored. c568927, 435ba72.
The disjoint flang for the ‘or’ IR instructions is now expected in LLVM’s C API. 46a36af.
Clang commits
Scoped variants of GNU atomic functions were added. 4e80bc7.
clang-cl now supports the
[[msvc::constexpr]]
attribute. b3e6ff3.modernize-use-std-numbers was introduced to clang-tidy. It will find constants and function calls to math functions that can be replaced with C++20’s mathematical constants from the numbers header. 0eb7d53.
Other project commits
LLDB gained initial support for downloading dwp files using the debuginfod client if
DEBUGINFOD_URLS
is set. c43c86c.LLVM’s libc hsearch implementation was made more robust. 86e99e1.
The std.compat module was added to libcxx. 600462a.
MLIR’s LLVM dialect gained the
llvm.target_features
attribute. fcdb848.