LLVM Weekly - #408, October 25th 2021
Welcome to the four hundred and eighth 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
Registration is now open for the 2021 LLVM Developers' Meeting and the schedule has been posted. It will be a 4 day online event, Tuesday 16th November 2021 - Friday 19th November 2021.
Krister Walfridsson blogged about optimisations enabled by -ffast-math.
On the mailing lists
Ellis Hoag shared an RFC on adding a lightweight variant of IR instrumentation profile-guided optimisation (IRPGO), intended to be suitable for PGO on mobile devices.
Florian Hahn provided an update on the RFC to add a new set of vector builtins, linking to the current patches under review. He hopes to land them this week.
Björn Pettersson followed up on a discussion about non-determinism in DominatorTree, JumpThreading, and EarlyCSE with a summary of potential paths forward.
LLVM commits
ThinLTO’s caching was moved to the LLVM Support library so it can be used elsewhere in LLVM. e678c51.
An initial draft policy around creating new git repos and granting write access to them was added. dcc91dd.
A scheduling model was added for Power10. 67c64d8.
An experimental new option for the new pass manager was added, eagerly-invalidate-analyses. This will decrease maximum memory usage at the cost of higher compile time by eagerly invalidating function analyses. b8ce973.
llvm-reduce gained reduction passes to reduce operands to undef/1/0. 9660563.
ASM parser support was committed for the CSKY basic integer instruction set de10a02.
Clang commits
A number of tests that are tied to the legacy pass manager were removed. cb5a101.
It’s now possible to run a Clang plugin if specified on the command line before the main action. fe66433.
Other project commits
A range of utility functions were added to FIRBuilder. f17f694, 45503fc, c983aed, a2e7af7.
LLVM’s libc gained implementations of atof, strtof, and strtod. 87c0160.
A short document was started to record deliberate differences between LD64 and lld-macho. 6b715e9.
A “command container” hierarchy was added to LLDB, enabling users to organise their commands in a hierarchy rather than having to stick to just top-level commands. c5011ae.
The new “runtimes” build is now the default way of building libc++. 79175f3.
The unused parallel-libs project was removed. db0486c.