LLVM Weekly - #431, April 4th 2022
Welcome to the four hundred and thirty-first 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
The call for papers for EuroLLVM 2022 was extended to Monday April 4th, 11:59pm PDT. Registration will open this week.
CGO 2022 is taking place over April 2nd-6th.
On the forums
Tanya Lattner provided an update on the LLVM Code of Conduct and next steps. “We have submitted a patch to Phabricator that removes the word Draft from the Code of Conduct and updates the incident reporting guide and response documents. It also adds details on expectations when serving on the Code of Conduct committee. Please review the patch and add comments in Phabricator or on Discourse. We wanted to post here to bring attention to the patch and make sure everyone knew what was happening and to also address any lingering questions.”
This post serves as a useful reminder that if you’ve noticed fewer email notifications than usual, do check your spam filter. An announced configuration change may have temporarily meant LLVM emails get filtered as spam (I was impacted by this also).
Tobias Hieta shared that he’s now posted a patch to bump the minimum toolchain version following the discussion in that thread, but is explicitly requesting input from a range of reviewers. A follow-up post indicates that the patch is likely to land this week, and some buildbot owners may need to update their buildbots.
Martin Brænne and collaborators posted RFCs on adding lifetime annotations for C++ and an annotate_type attribute. The lifetime annotations work aims to provide support for describing object lifetime contracts (inspired by Rust lifetimes) in an incremental fashion.
Joshua Cranmer answers the question how is metadata preserved during transformations?
Nikita Popov kicked off a discussion on enabling opaque pointers by default.
Hongbin Zhang provided an update on work on the RISC-V Vector extension MLIR dialect.
It’s currently being discussed whether to move to a more rapid release schedule for 14.0.1 as previously proposed.
Tom Stellard posted an RFC for supporting stand-alone builds for LLVM, Clang, LLD, and LLDB.
Daniel Thornburgh shared an RFC to add a log symbolizer to LLVM. This would allow markup to be emitted in logs in a format that can be used at a later point to perform symbolization.
LLVM GPU News #131 is out.
LLVM commits
Documentation was committed for llvm-remark-size-diff. bdea2af.
Initial codegen infrastructure was added for the LoongArch backend. a1c6743.
Function specialisation now supports specialising more than one argument per function call. 8045bf9.
A stub DirectX backend was added. 44a14a6.
A setTargetDAGCombine overload taking an ArrayRef was added. 662b9fa.
llvm.vp.{fcmp,icmp} and various cast intrinsics were introduced. da6131f, 73244e8, a7c0b75.
Inlining of strictfp functions is now supported. 47b3b76.
Clang commits
A stub DirectX target was added for Clang, as well as a HLSL language option. c5e54e2, d394f9f.
__builtin_source_location
was implemented, which will be used to implementstd::source_location
in libc++. d614874.A new C++20 module mangling scheme was implemented. ae4dce8.
The
--overlay-platform-toolchain
patch was reverted. e1b8543.The modernize-macro-to-enum clang-tidy check was introduced. This replaces eligible macros with anonymous unscoped enums. f547fc8.