LLVM Weekly - #394, July 19th 2021
Welcome to the three hundred and ninety-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 https://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
The LLVM blog has a new article introducing the LLVM Outreachy interns.
On the mailing lists
Amir Aupov posted an update on the BOLT framework, which has now been rebased on top of a much more recent LLVM. The post gives a detailed list of next steps and patches that are in the process of being upstreamed.
ORC JIT Weekly #36 is out: MachO platform support lands in the ORC runtime, JITLink ELF backends get easier to write, and the ORCv2 C API gets experimental lazy-compilation support.
Kevin Smith started a thread on whether -ffast-math should affect intrinsics.
Philip Reames reported back on the previous RFC on decomposing deref(N) into deref(N) + nofree to say the proposal is a failure, and outlines three potential paths forwards.
LLVM commits
The RegAlloc interface was modified to allow targets to split register allocation between different register classes (controlled by a callback function). The initial motivation is to allow AMDGPU to split allocation for SGPRs and VGPRs. eebe841.
Register definitions and initial MC layer support support was added for the Armv9-A Scalable Matrix Extension. c08dabb, dfa7693, 99eb96f.
The language reference was updated to clarify semantics of inttoptr/ptrtoint for non-integral types. f74bb95.
llvm-readobj command line parsing was moved from llvm:cl to OptTable. 46580d4.
The Arm backend gained new MVESEXT and MVEZEXT nodes that larger-than-legal sext and zext are lowered to when MVE is enabled. ca78151.
A new pass was added to remove redundant
DBG_VALUE
. df68684.PPC now uses AtomicExpandPass to implement support for quadword lock-free atomic operations, expanding them after register allocation to avoid spilling that might prevent forward progress. b9c3941.
Clang commits
Support was added for OpenMP 5.1 attributes. de59f56.
The static analyzer can now print the time taken to analyze each function. cad9b7f.