LLVM Weekly - #379, April 5th 2021
Welcome to the three hundred and seventy-ninth 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 Women in Compilers and Tools Meetup Series has been announced on the LLVM blog. The virtual event will take place each month, featuring talks, tutorials, and mentoring events.
Oleksandr Koval has posted an incredibly detailed blog post listing all C++20 core language features with examples.
On the mailing lists
Vineet Kumar posted an RFC on vector predication intrinsics support for the loop vectoriser.
LLVM GPU News issue #9 is now available.
Andrew Safronov provided an update on patches under review for the Tensilica Xtensa backend.
Sameer Sahasrabuddhe reignited discussion on the RFC thread on abstracting over SSA IRs to implement generic analyses.
Kai Wang provided an updated on the RFC to permit load/store/alloca for structs containing all scalable vectors and is still seeking feedback.
Alex Bradbury is polling for input from people who find the timing of the current biweekly RISC-V LLVM sync-up difficult.
LLVM commits
The TargetRegisterInfo stack realignment functions were reorganised into shouldRealignStack, canRealignStack, and hasStackRealignment. a9968c0.
TableGen now supports the ‘assert’ statement in class definitions. 5f473a0.
The standard pass pipeline was updated to run an additional LICM (loop-invariant code motion) pass before LoopRotate. a26f1bf.
The initial framework for a “context-sensitive global pre-inliner” was introduced. 30b0232.
ORC is now the default JIT engine for LLI. c42c67a.
For RISC-V, f16 values are passed in the lower 16-bits of an f32 when the F extension is enabled but Zfh is not, and the softPromoteHalf legalisation strategy is used. a33fcaf, dbbc95e.
Materialisation for 64-bit immediates on RV64 was improved. d61b40e, d7ffa82.
Clang commits
Support was added for C++2b’s
size_t
literals. dc7ebd2.A new mechanism was added to allow tablegen to be used to indicate that groups of attributes are mutually exclusive. 4be8a26.
Initial support was added for the OpenMP 5.1 dispatch directive and the novariants clause. b7899ba, cb424fe.