LLVM Weekly - #516, November 20th 2023
Welcome to the five hundred and sixteenth 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
The first video from the LLVM Developers' Meeting 2023 is now available, April Wensel’s keynote “A Technical Guide to Compassion in Open Source”. Keep an eye on the linked playlist for more videos being posted.
LLVM 17.0.5 was released.
The /r/cpp subreddit moderators and various C++ committee members posted a 2023-11 Kona ISO C++ committee trip report.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert, Amara Emerson.
- Online sync-ups on the following topics: Pointer authentication, LLVM security group public meeting, OpenMP, Flang, MLIR open meeting, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Aiden Grossman authored RFCs on upstreaming elements of the machine learning guided optimisation tooling and creating an incubator project for llvm-ir-dataset-utils.
Tobias Hieta started a thread to discuss what to do with the subproject tarballs on the release page.
Craig Topper proposed adding a ‘disjoint’ flag to or, allowing the
add
toor
canonicalisation to reliably be undone if useful.“jediry” shared an RFC on allowing inclusion of other files in clang-format configuration files.
“harsh-nod” posted an MLIR RFC on representing register data layout explicitly in the IR.
Wang Pengcheng proposed adding a TableGen-driven MacroFusion predicators generator. The intent is to avoid needing to write repetitive C++ code in
shouldScheduleAdjacent
for different opcode fusion patterns.Pavel Iliin made an RFC proposal for ‘consistent’ branches support in LLVM. These would, for instance, map to AArch64’s hinted conditional branches.
Fabian Mora started an MLIR RFC thread on introducing a new ‘address’ dialect.
“hev” suggested adding a per-global code model attribute allowing the target’s default code model to be over-ridden on a per-global basis, motivated by some LoongArch needs.. Arthur Eubanks responded to note Google would also like to see something along these lines for x86-64’s medium code model.
LLVM commits
MachineLICM learned to hoist loads from an invariant address. 63917e1.
The memory footprint of debug metadata nodes was reduced. 102f7fc.
The GraalVM calling convention was added. aeedc07.
MC layer support was added for Hexagon system instructions. bd91cf8.
Support was removed for constant lshr/ashr expressions in IR. 56c1d30.
The minimum jump table size for AArch64 targets was tuned. bdc0afc.
MC layer support for CORE-V RISC-V vendor extensions XCVmem and XCVelw was committed. 71a7108.
Clang commits
__datasizeof
was added, returning the size of a type ignoring tail padding (unlike sizeof). 4cc791b.The APINotes YAML compiler and APINotesManager were upstreamed from Apple’s Clang tree. 41021e8, f049395.
Initial commits towards supporting OpenACC were landed. ff219ea, 64b6ef0, 9bd5f80.