LLVM Weekly - #499, July 24th 2023
Welcome to the four hundred and ninety-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 asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.
News and articles from around the web and events
More information about the 2023 US LLVM Developers' Meeting, including on student travel grants, is now available.
The LLVM Bay Area Monthly meetup will be taking place today, Monday July 24th.
Amir Ayupov blogged on the many faces of LLVM PGO and FDO.
The next LLVM Social Hyderabad will take place online on Saturday 29th July, featuring a talk “ML Driven Hardware Cost Model for MLIR” by Dr. Dibyendu Das
A couple more EuroLLVM recordings have now been posted.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Johannes Doerfert.
- Online sync-ups on the following topics: Flang, MLIR C/C++ frontend, LLVM pointer authentication, SYCL, OpenMP, classic Flang, loop optimisation working group, OpenMP in 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
As a reminder, the LLVM 17 branch will be made on Tuesday 25th July.
Following up on previous conversations, Aaron Ballman proposed a community policy for the use of private links (e.g. rdar:// links).
The LLVM repo
master
branch has now been deleted.Thanks to Javed Absar, the 51st issue of MLIR News is now available.
Jason Molenda shared an RFC on large watchpoint support in LLDB.
Evgeniy Brevnov posted an RFC on vectorisation of loops with data dependent exits.
Carlos Galvez proposed deprecating the old key-value format for clang-tidy CheckOptions.
Ralf Jung started a discussion about strengthening floating-point NaN guarantees in LLVM.
Thanks to Bruno Cardoso Lopes for sending to me a collection of ClangIR updates on work during July:
- GSoC midterm: Thanks to Vinicius work on ClangIR → LLVM we have achieved a successful execution of 700 out of 1800 tests from the SingleSource testsuite.
- CIRGen: Mult-dim array access, support work for random libc++ pieces,
basic static globals,
__builtin_object_size
& related, pointer subtraction, more derived-to-base casting, placement new, compiler flags to help with incremental development. - LLVM lowering: Mult-dim array access, static globals, scopes, loops (while/do-while), structs, switch, arrays, inline/weakref attributes, zero initalization, more ptr arith & logic.
- Lifetime checker: work on exploding aggregate fields.
LLVM commits
A scheduling model was added for the Neoverse V1. ed08534.
MC layer support was added for X86 SHA512, SM3, and SM4 instructions. fc3b787, c6f66de, 049d6a3.
Documentation was added for memory annotations with llvm-exegesis. 3336836.
LLVM’s support library gained the XXH3 variant of the XXHash64 algorithm. 48e93f5.
The RISC-V zvfh extension (half float vector) is no longer considered experimental. 3055c58.
Codegen and MC layer support was added for the X86 AVX-VNNI-INT16 instructions. 1c154bd.
TableGen now supports named arguments and this has been put to use in the RISC-V backend. 91ccbc6, 69fc6bf.
Clang commits
Preliminary FatLTO object support was added to Clang. 610fc5c.
Performance tips were added to the C++20 modules documentation. 0d6ea6f.
Clang now supports bitcode input containing multiple modules. b2f7b5d.
C++11-style attributes are now enabled in all language modes. 874217f.