LLVM Weekly - #480, March 13th 2023
Welcome to the four hundred and eightieth 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.
News and articles from around the web and events
Brian Anderson wrote a blog post on writing an LLVM backend for the Move language in Rust.
The next LLVM Bay Area meetup will take place on March 27th.
An in-person Women in Compilers and Tools meetup will take place on March 30th in Mountain View.
The next LLVM social in Darmstadt (Germany) will take place on March 29th.
According to the LLVM calendar (note the US is in daylight savings time already, so meeting times might be different for you than usual if you’re e.g. in Europe) in the coming week there will be:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Phoeba Wang, Johannes Doerfert, and Michal Paszkowski.
- Online sync-ups on the following topics: OpenMP, Flang, MLIR, RISC-V, and SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Following his previous lightweight LLVM IR checkpointing proposal, Vasileios Porpodas posted a proposal for local per-component IR checkpointing.
Tanya Lattner shared notes from the Community.o diverse leadership workshop.
LLVM 16.0.0-rc4 has been tagged. This is intended to be the last release candidate.
David Spickett provides an update that patches for supporting register fields in LLDB are posted for review.
Takumi Nakamura shared a proposal for enabling the emission of
IIT_Info
from Intrinsics.td.There are several new PSAs in the MLIR sub-forum: conversion to LLVM passes now emit opaque pointers by default, reloadedDialectInContext will be removed,
mlir-opt
-like tools should be migrated to useMlirOptMainConfig
.Tanya Lattner has a poll to gauge interest in the upcoming March 20th/21st strategic planning meeting on health and infrastructure. Tanya is additionally seeking feedback on these meetings, as the slots so far have not had interest.
LLVM commits
Debug info quality was improved for chains of inlined functions. 12a7aea.
Subregister liveness is now enabled by default for RISC-V. 365f840.
Common MCELFStreamer code is now used for RISC-V attribute emission. 989f3f0.
The
LLVM_ENABLE_UNWIND_TABLES
CMake option now just maps to the-funwind-tables
flag. ced0327.The recent changes to the Alderlake P-core scheduling model were reverted as the latency from the Intel document doesn’t reflect the worst case. 5c3c176.
Support was added for fli in the experimental RISC-V Zfa extension. 8a002d4, ada2641.
--function-signature
is now enabled by default for--version 2
UpdateTestChecks invocations. fb309041.TableGen gained
!toupper
and!tolower
operators for changing the case of strings. d612a75.TableGen’s support for positional matching was deleted, after a period of being deprecated. b87dc35.
Clang commits
clangd gained support for missing includes analysis. 2e82eb1.
The builtin type
__svcount_t
was added for AArch64. 07158c5.Various tests were updated to use opaque pointers. a208742, ecf6508.
Other project commits
Initial RISC-V support was started for LLVM’s libc. f7e91f2, 9ca2fb8, 6f8dfee, 4d94a00, ac763b9, f1f052f, e9be85d, 6822156, cf90633c.
New SymbolFileJSON and ObjectFileJSON formats were introduced to LLDB, providing a simple way of specifying the mapping of addresses to symbol names in e.g. stripped binaries. cf3524a.
std::ranges::{min,max}
was optimised for types that are cheap to copy. aff3cdc.MLIR gained bytecode versioning support. 0e0b607.
Install targets were added for gtest. 0807986.