LLVM Weekly - #504, August 28th 2023
Welcome to the five hundred and fourth 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 2023 US LLVM Developers' Meeting Program has now been announced.
The next virtual Women in Compilers and Tools meetup will take place on August 31st at 6PM PDT. Petra Hozzova will present “An introduction to verification using automated reasoning”.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert
- Online sync-ups on the following topics: MLIR C/C++ frontend, pointer authentication, OpenMP in LLVM, Flang, RISC-V, MLIR, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 17.0.0-rc3 was released. As noted, there will be an rc4 as well due to the volume of changes in rc3.
Reid Kleckner shared a reminder about the GitHub pull request migration that will start on September 1st. Separately, Mikhail Goncharov sought feedback on how they’ve been working for libcxx.
Florian Hahn, ayalz, and Gil Rapaport shared a detailed VPlan progress update.
Sameer Sahasrabuddhe posted a GlobalISel RFC on using low-level type s0 as an opaque token type.
Nathan Gauër, motivated by SPIR-V, proposes to allow architectures with no set pointer size.
Katy Romanova posted an updated distributed ThinLTO RFC.
Paul Walker suggests enabling arrays of scalable vector types. Everyone appears to be in favour so far.
Fangrui Song raised the issue of the shortage of Mips reviewers.
Stephen Tozer kicked off an RFC on redefining Og and adding O2g. This would add
-fextend-lifetimes
to-Og
.Siva Chandra posted an RFC on defining a systematic way to introduce and use libc config options and an RFC to allow testing the libc when the system-libc is also LLVM’s libc.
KanRobert started an RFC on design for Intel’s newly announced Advanced Performance Extensions (APX).
Maksim Levental posted a PSA on recent developments for MLIR Python bindings.
Sebastian Kreutzer is seeking feedback on upstreaming work on shared library instrumentation with XRay.
LLVM commits
As a result of a GSoC project, llvm-cov now supports directory layout in coverage reports. bea39c54.
Basic functionality was added for DWARFLinkerParallel. 5f2a7fa.
The generic scheduling model used for AArch64 is now for the Cortex A510 rather than A55. db158c7.
LoopVectorize now allows inner loop runtime checks to be hoisted above an outer loop. c02184f.
The and/or constant expressions were removed from LLVM IR. 6251134.
The GCEmptyBasicBlocks pass was introduced, which will garbage-collect empty basic blocks after code generation. e280e40.
Codegen was implemented for the RISC-V zvfh extension. 7599035.
A scheduling model was added for the Arm Cortex-M85. 0d2fb9c.
llvm.{get,set,reset}.fpmode
intrinsics were introduced. 6862f0f.ResourceCycles and Cycles were renamed to AcquireAtCcle and ReleaseAtCycle in order to make their semantics clearer. 85e3875.
Clang commits
-march=gracemont
is now supported for X86. 6acff53.The GNU toolchain search logic now additionally looks for a GCC installation using a triple without vendor if the vendor is unknown. 6ee3b24.
Namespaces are now supported in Clang’s ExtractAPI. 08f034f.
__builtin_cpu_supports("x86-64{,-v2,-v3,-v4}")
was introduced. 27da153.