LLVM Weekly - #479, March 6th 2023
Welcome to the four hundred and seventy-ninth 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
There’s only a very tenuous LLVM link, but if you’re interested in RISC-V you might be curious to see my recent summary of commercially available RISC-V silicon.
News and articles from around the web and events
The EuroLLVM call for proposals was extended to Friday March 10th.
The next LLVM compiler social in Zurich will take place on 8th March and feature a talk “Multi-Level Rewriting for Stream Processing to RTL compilation”.
The Cambridge UK LLVM social has been rearranged for 7th March and will feature a talk “Inlining in MLIR” by Javed Absar.
MaskRay published linker notes on AArch64.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Paulo Matos, Tobias Grosser, Anastasia Stulova, Kirostof Beyls, and Johannes Doerfert.
- Online sync-ups on the following topics: Flang, SYCL, OpenMP, classic flang, loop optimisation, OpenMP for flang, MLIR, and SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tanya Lattner shared details of the LLVM Foundation health and infrastructure strategic planning meeting (March 20/21st) and diversity and inclusion strategic planning meeting (March 6/7).
Vasileios Porpodas summarised the main concerns raised about IR checkpointing.
In the MLIR forum, Nicolas Vasilache shared the status of end-to-end structured codegen on tensors and declarative pipelines.
Discussion continued on the flang-new to flang rename ‘pitch’.
Mahesh Ravishankar posted a PSA on changes to the MLIR TilingInterface ABI.
Louis Dionne announced that building libc++ and libc++abi for Apple platforms will soon require targeting macOS 10.13 and later.
LLVM commits
Target extension types are now used to represent SPIR-V builtin types. 5ac69674.
llvm-readobj learned
--memtag
to read information related to memory tagging. a4d39d4.LogicCombine was implemented, providing a general way to simplify logical operations. 97dcbea.
The CodeView reader for the llvm-debuginfo-analyzer was committed. e7950fc.
A post-isel peephole was added to fix cases on AArch64 where an FPR is copied to another FPR via a GPR. 72105d1.
An X86FixupInstTunings pass was added to replace slower machine instructions with faster ones. 69a322f.
The Alderlake P-Core scheduling model was improved. 3083b65.
TableGen now supports conditional definitions using
!exists
clauses. 04ed64e.
Clang commits
clang-format-diff.py
learned the-j
option to invokeclang-format
processes in parallel, speeding up performance on large patches. d14e7ee.update_cc_test_checks.py
now includes return types and attributes when invoked with--fucntion-signature --version 2
. a26d303.-mcpu=help
and-mtune=help
were added while-mcpu=?
and-mtune=?
were removed. 003078b, fb166b4.The Clang interpreter implemented C++ range-for loops. 2708869.
Other project commits
MLIR gained a duplicate function elimination pass. b12bcf3.
The
COMPILER_RT_ENABLE_SOFTWARE_INT128
CMake option was added to enable building int128 routines even for 32-bit targets. c2d6cc9.A basic Intel MacOS configuration was added for LLVM’s libc. effd56b.
LLD’s Wasm linker learned to produce a
build_id
section when passed the--build-id
flag. c7af9ae.