LLVM Weekly - #452, August 29th 2022
Welcome to the four hundred and fifty-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, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Student travel grants are available for the 2022 LLVM Developers' Meeting (application deadline September 8th). Additionally, the call for presentations closes on August 30th.
The video from the Toronto LLVM meetup, featuring Amy Wang presenting on “Optimizing SYCL programs with MLIR for AI accelerators” is now available.
On the forums
Chris B kicked off an RFC discussion on revisiting LLVM’s policy on maintaining a linear commit history (i.e. whether to allow merge commits when moving to GitHub PRs). I won’t attempt to summarise all the conversations, but it’s fair to say there’s a wide range of views.
Raghavan Raman posted an RFC on incubating the TCP (Tensor Compute Primitive) dialect in MLIR. This is a follow-up to the previous lengthy thread on adding a high-level ML dialect to MLIR.
Aaron Ballman proposed changes to Clang’s code ownership intended to better spread code review responsibility.
LLVM 15.0.0-rc3 was tagged and Tobias Hieta provided and updated on the LLVM 15.x release status.
Tobias Hieta provided an update on the path forwards regarding versioned libclang in 15.0.0.
William Moses shared a survey for those interested in attending a workshop on Enzyme automatic differentiation.
Nicolas Vasilache shared an RFC on adding gather and scatter ops to MLIR.
LLVM commits
MC layer support for the RISC-V Zihintntl instructions (non-temporal locality hints) was implemented. 7167a42, 07a700f.
OperandValueInfo
is now used instead ofOperandValueKind
andOperandValueProperties
ingetArithmeticInstrCost
. 104fa36.isConstantPhysReg
is now generated using TableGen. 3810717.The ext-tsp code layout algorithm with improved. 8d5b694.
Support was added to the SPIR-V backend for OpenCL and SPIR-V built-in functions. f61eb41.
An ExpandLargeDivRem pass was added to expand div/rem instructions with more than 128 bits. 3e39b27.
Fixed length vectors and loop vectorisation of fixed length vectors was enabled for RISC-V. b45a262.
Support was added for lowering HWASAN intrinsics for RISC-V. e348534.
Clang commits
Initial LoongArch target and driver support was added to Clang. 15b65bc.
The documentation on debugging coroutines was extended with examples of how to print asynchronous stacks for coroutines. 4332b04.
The KCFI sanitizer was added. It provides a forward-edge control flow integrity scheme for indirect calls, and is intended for use in low-level code such as OS kernels. cff5bef.
Other project commits
The Flang driver gained support for PIC. ef5ede5.
Guidelines were committed for writing Flang design documents. db77b18.
LLVM’s libc gained implementations for chdir, fchdir, chmod, fchmod, fchmodat, link, linkat, symlink, symlinkat, readlink, readlinkat, sendfile, truncate and ftruncate. 0553228, 85dff76, 00e51f0, b8be3da, f6506ec.
Writes of OutputSections in the LLD ELF linker are now parallelised, providing measurable speedups for a number of workloads. 3b4d800.
The MLIR bytecode was extended with initial support for dialect defined attribute / type encodings, and saw a number of other commits including the completion of bytecode encoding for all builtin types. 02c2ecb, 8574405.