asb
1
LLVM Weekly - #547, June 24th 2024
If you prefer, you can read the canonical version of this issue at http://llvmweekly.org/issue/547.
Welcome to the five hundred and forty-seventh 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.
If you’re at the RISC-V Summit Europe this week in Munich be sure to say hello. I gave a tutorial today on implementing support for custom RISC-V instruction set extensions in LLVM and will point to the slides when they go up on the website.
News and articles from around the web and events
Recordings of presentations from EuroLLVM 2024 have started to be posted from YouTube (so you can now see if my attempted Carbon panel write-up was accurate).
Marek Surovič and Henrich Lauko posted their EuroLLVM 2024 trip report.
LLVM 18.1.8 was released. This is intended to be the last 18.1.x point release. The 19.x branch will be created on July 23rd.
Eduardo Blázquez’s published a lengthy article on writing an IR from scratch.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Anton Korobeynikov, Kristof Beyls, Johannes Doerfert, Amara Emberson.
- Online sync-ups on the following topics: Flang, pointer authentication, SYCL, new contributors, LLVM/offload, classic flang, loop optimisations, OpenMP for Flang, MLIR.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM commits
-
The MachineOutliner was changed to consider all leaf descendants in the suffix tree as candidates for outlining. The commit message notes this results in a 3% reduction in text segment size for Clang/LLD compared to the previous -Oz
. d9a00ed.
-
SimplifyCFG gained support for sinking instructions with multiple uses. ede27d8.
-
Initial support for 3-way comparison intrinsics was added to the SelectionDAG. 995835f.
-
RISCVInsertVSETVLI no longer requires LiveIntervals to be present. 8756043.
-
llvm-cov can now generate a UI in its HTML output that allows jumping between uncovered parts of code. 06aa078.
-
Work on SVE in GlobalISel continued with support for translating SVE formal arguments and COPY. 0e21f12.
-
Processor definitions were added for the SpacemiT-X60 RISC-V design. aede380.
-
Trigonometric intrinsics were added and supported in the DXIL backend. 936bc9b.
-
Support was removed for shl constant expressions. 76d3ab2.
-
A mitigation was been added for Arm CMSE function calls, to remove the assumption that callees arguments were sign/zero-extend and that return values passed back to a caller were sign/zero-extended. 78ff617.
-
An initializes
attribute was introduced. 5ece35d.
Clang commits
-
Clang now claims full conformance to C99, see the commit message for details on those proposals marked as partial. 918ef31.
-
Reference types for WebAssembly were re-enabled by default. 6e38df3.
-
Clang’s support for restrict
is now characterised as fully conforming but partially implemented (as not all optimisations are provided). 6bc71cd.
Other project commits
-
Compiler-rt changes to support the numerical sanitizer (nsan) were committed. cae6d45.
-
LLD’s COFF linker gained support for ARM64EC entry thunks. fed8e38.
-
MLIR GPU dialect layering was documented. 560b645.
-
All Perl scripts in openmp were replaced with Python scripts. 88dae3d.
1 Like