LLVM Weekly - #491, May 29th 2023
Welcome to the four hundred and ninety-first 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
Save the date for the 2023 US LLVM Developers Meeting! It will take place on October 10-12 in Santa Clara, CA.
Min-Yih “Min” Hsu blogged about what’s new in M68k LLVM.
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, OpenMP, classic Flang, loop optimisations, OpenMP in flang, HLSL, SPIR-V, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Yeoul Na posted an RFC on enforcing bounds safety in C with a new
-fbounds-safety
extension.Jeroen Dobbelaere shared a write-up of the EuroLLVM round table on alias analysis and full restrict.
The slides and recording are now available from the last open MLIR meeting, an RFC discussion about ‘distinct attribute’ in MLIR.
Chris Lattner shared thoughts on the topic of renaming flang-new to flang, ahead of a planned meeting of review managers.
“isuckatcs” made a proposal for improving RegionStore in clang’s static analyzer.
James Henderson started an RFC discussion on adding the preferred casting style (C++ vs C) to LLVM’s coding standards.
Matt Arsenault proposed adding llvm.ldexp and llvm.frexp intrinsics.
LLVM commits
A skeleton PPC64 JITLink backend was added, which also aims to serve as a good example of how to introduce a JITLink backend for a new architecture. 8313507.
The X86FixupVectorConstantsPass was introduced, which will re-fold AVX512 vector load folds as broadcast folds. 0b91de5.
Small (less than 32/64-bit width) vector copies and vector stores are now scalarized on RISC-V. 28b21c4, a8a36ee.
PostShrinkWrap was enabled by default. c4a60c9.
A GCNRewritePartialRegUses pass was added to AMDGPU to rewrite partially used virtual super-registers with registers of minimal size. 8d0412c.
The
.option arch
directive is now supported in RISC-V assembly. 9e8ed34.The load-store-vectorizer was rewritten using a new algorithm, aiming to prefer scalar loads if faster. 2be0abb7.
Clang commits
__bf16
was made an arithmetic (rather than storage-only) type. e621757.RISC-V vector tuple types are now implemented. 5e92298, 0019226, and more.
Python files in clang and clang-tools-extra were reformatted with black. dd3c26a.
Initial interactive CUDA support for clang-repl was committed. ddeab07.
Other project commits
libc++
<format>
is now considered stable. dff62f5.Python files in the non-LLVM and Clang directories were reformatted with black. f98ee40, 2238dcc, f9008e6.
PowerPC vector types are now supported in Flang. ef93417.
The LLVM libc math function status page was updated to show more targets (including linux-riscv64). 0bda541.
lld gained a new
--print-memory-usage
option to print details of the target’s memory usage. 811cbfc.A generic scalar replacement of aggregates pass was added to MLIR. 4ed502e.