LLVM Weekly - #502, August 14th 2023
Welcome to the five hundred and second 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
Jakub Beránek produced a tool cargo-remark, for inspecting LLVM optimisation remarks from rustc.
The LLVM Bay Area Monthly meetup is on tonight (Mon Aug 14th).
The call for papers for the ninth annual LLVM in HPC workshop closes this Wednesday, August 16th.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Phoebe Wang, Johannes Doerfert, Michal Paszkowski.
- Online sync-ups on the following topics: LLVM security group public meeting, OpenMP in LLVM, Clang C/C++ language working group, Flang, RISC-V, MLIR, LLVM embedded toolchains.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 17.0.0-rc2 was released.
Steven Wu posted an update on upstreaming of the Content Addressable Storage in LLVM project, with links to patches now posted for review.
Vlad Serebrennikov noted that thanks to the contributions of a team of people helping to triage open bugs, LLVM now has below 20k open bugs. Thank you to everyone working on this!
There were a couple of new RFCs for MLIR - firstly that almost all uses of TypeConverter should be const and secondly to fix floating-point ‘max’ and ‘min’ operations in MLIR.
Phoebe Wang shared a design for AVX10 feature support in LLVM. AVX10 is a vector ISA evolution that includes all the capabilities and features of the Intel AVX-512 ISA in a converged version which can run on both E-cores and P-cores.
LLVM commits
The recently added GlobalISel match table backend was overhauled and documentation on MIR patterns was added. 63afb705.
InstCombine has been learning its algebra, and now contracts integer
x^2 + 2xy + y^2
to(x+y)^2
. 0bdab96.The interface for
isTriviallyReMaterializable
was simplified. bbb9589.Generation of Arm Thumb stack accesses was improved. f83ab2b.
The profitability logic for function specialisation was reworked. d1b376f.
The proposed mapping for the RISC-V Ztso extension (support for the TSO memory model) was implemented. fcad2bb.
Clang commits
-std=c23
and-std=gnu23
are now accepted. 13629b1, 315d1d0, 0ce056a.C intrinsics for the RISC-V vector crypto extension are now supported. 2a05a52.
Arguments of
clang::annotate
were exposed in libclang. 177ec17.
Other project commits
A range of PPC vector intrinsics were added to Flang. d652884, 45c0053.
libc’s IntegerToString API was reworked. b555912.
Module partitions were removed in libcxx - there is no longer a module partition per header, improving compile times when using modules. 4d4c70c.
A generic “convert-to-llvm” pass was introduced to MLIR. 4529797.
An MLIR pass was added to convert control flow to structured control flow. 3b45fe2.
Documentation was added for MLIR’s new GPU compilation mechanism. a7cdea7.