LLVM Weekly - #441, June 13th 2022
Welcome to the four hundred and forty-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 dates for the 2022 US LLVM Developers' Meeting has been announced. It will be held on Nov 8th and 9th in San Jose.
Ryan Berger, Stefan Mada, Nader Boushehri, and John Regehr blogged about formal-methods-based bugfinding for LLVM’s AArch64 backend.
LLVM 14.0.5 has been released.
A summary of responses to the 2022 C++ Developer Survey ‘lite’ is now available.
On the forums
James Y Knight posted an RFC on adding ‘call unwindabort’ to LLVM IR, with the intention for improving the efficiency of implementing C++ noexcept.
Philip Reames created a thread to discuss a recent regression in
cast<X>
and the plan for fixing it.Tanya Lattner is seeking volunteers for the 2022 US LLVM Developers' Meeting Program Committee.
Christian Ulmann shared an RFC on introducing a stream dialect to CIRCT.
Jeff Niu sent an announcement that StructAttr in MLir is being deprecated and replaced with AttrDef.
Nuno Lopes requested that people avoid using
br undef
in tests, as this introduced undefined behaviour.Aaron Ballman initiated a discussion about whether Clang should reject the C defect report DR312 on the basis that Clang doesn’t conform to it and changing that could break existing code.
LLVM commits
A new llvm-driver multicall tool that can combine multiple LLVM-based tools (currently dsymutil, llvm-ar, llvm-cxxfilt, llvm-objcopy, and clang) was added. f06abbb.
The assert within
cast<Ty>(X)
which was mistakenly dropped, was added back. f0d2a55.A new llvm.memset.inline intrinsic was introduced. 38637ee.
A case insensitive edit distance method was added to StringRef. a13b61f.
PPC64 now allows stack frames of greater than 2GiB to be allocated. 5018a5d.
The .reloc directive is now supported for AMDGPU. 81edc83.
More relocations were implemented for AArch64 JITLink. 25a9fb1, ab472c9, 1deaa9b, 2094fad, 5d5183b, 175f22d.
Additional patterns were added to RISCVMergeBaseOffset. 33f4da2, e4ba24c, 8bbcb98.
Custom legalisation of G_MUL was added for AMDGPU GlobalISel. 264d113.
The final remaining instructions from the WebAssembly relaxed SIMD proposal were introduced. aff679a.
Clang commits
The
-fexperimental-max-bitint-width=
flag was introduced to increase the maximum allowed bit width of_BitInt
types. 7e17e15.
Other project commits
The LLVM libc homepage was updated to clearly state the goals of the project. ef3db4f.
Documentation for the PDLL and TableGen language server was updated. 731dfca, 1b501cb.
Base 10 integer conversion for printf d, i, and u conversions were implemented in LLVM’s libc. 1be3669.
The Mac LLD linker now writes output sections in parallel and gained initial support for EH frames. 44978a2, 826be33.