LLVM Weekly - #561, September 30th 2024
If you prefer, you can read the canonical version of this issue at http://llvmweekly.org/issue/561.
Welcome to the five hundred and sixty-first 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
Joseph Huber has a rather neat port of Doom that runs on AMDGPU with ROCm and LLVM’s libc.
James Hamilton provided a high level introduction to LLVM.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Renato Golin, Anastasia Stulova, Quentin Colombet, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, libc++, LLVM/Offload, Clang C/C++ language working group, OpenMP for Flang, MLIR, HLSL, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
-
Chris Bieneman provided an update on efforts to establish a new LLVM project governance model, noting the hope to conduct the first elections in January 2025 if the proposal is adopted.
-
Erich Keane posted an RFC on updating the supported host compiler versions for LLVM 20. A large chunk of the ensuing discussion was about the expectations for whether builds should be
-Werror
-clean on all supported toolchains or not (they’re not today), though it was agreed this discussion belongs in a separate RFC. -
Nikita Popov suggested improvements to capture tracking in LLVM.
-
Anton Korobeynikov provided a detailed update on pointer authentication support as of the LLVM 19 release as well as listing work that is still in progress.
-
David Blaikie proposed a tweak to LLVM’s header including policy. Some respondents were keen to ensure the policy isn’t interpreted in a way that suggests running include-what-you-use is required.
-
Rahul Joshi proposed support for
auto
in TableGen and also shared recent improvements to formatting/printing helpers in LLVM. -
Kadir Çetinkaya provided a revised RFC proposal for adding support for controlling Clang diagnostic severities at the file level.
-
Nikita Popov started an RFC thread on introducing a
samesign
flag foricmp
for use in cases where the two compared values are known to have the same sign and soult
will have the same result asslt
. -
Andrew Savonichev shared a draft implementation plan for a DWARF reduction tool.
-
Donald Chen shared a PSA about the semantics of program points in MLIR dataflow analysis changing.
-
Neil Henning kicked off a discussion around adding the ability to make asserts runtime togglable.
LLVM commits
-
LLVM’s release notes are now in Markdown rather than RST. b9f09a4.
-
WebAssembly’s AsmTypeCheck can now detect multiple errors in a single function. b62075e.
-
A new
update_mc_test_checks.py
utility was added, to update test files using llvm-mc. 2b892b0. -
The computed properties IsSSA, NoPHIs, and NoVRegs can now be overridden in MIR input. 8ba334b.
-
An
llvm.atan2.*
intrinsic was added. 26029d7. -
The Zacas RISC-V extension is no longer marked as experimental. 614aeda.
-
ConstantFPRange was added in order to in the future enable range-based optimisations for floating point values. fa824dc.
-
The SLP vectorizer learned to do “clustered” vectorization for instructions other than loads. 3469db8.
-
The DirectX target gained a pass to scalarize vectors in global scope into arrays. 324bdd6.
Clang commits
-
clang-tidy’s documentation gained a section to list examples of external projects using the tool. ce9a2c6.
-
The static analyzer taint propagation checker is no longer marked as alpha. f82fb06.
-
SPIRV memory scopes support was reworked and expanded. 3cfd0c0.
-
The
-basic-block-sections=labels
option was deprecated. 7b7747d. -
Command-line options were introduced for RISC-V CFI. 9f33eb8.
-
TestLanguage.def can now be used to specify all tested language versions. 7dfdca1.
Other project commits
-
MLIR gained support for LLVM operand bundles. fde3c16.
-
An ABI option was added to libcxx to harden
operator[]
forunique_ptr<T[]>
when the size of the allocation is known. 45a09d1. -
Documentation on adding support for a new language was added back to LLDB. a3cf01d.
-
Errors from LLDB’s inline expression evaluator are now much prettier. d33fa70.