LLVM Weekly - #382, April 26th 2021
Welcome to the three hundred and eighty-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 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
Josh Haberman blogged about making use of the new musttail attribute in Clang for protobuf parsing.
On the mailing lists
Christian Kühnel queries whether anyone is doing code review on the mailing lists any more, triggering a discussion about whether reviews by email should be phased out. Philip Reames pointed out that the commit lists do have email responses that don’t make it to Phabricator or post-commit email discussions.
David Blaikie started a discussion on refining the definition of optnone with interprocedural transformations. A number of respondents were in favour of adding a ‘noipa’ attribute. Paul Robinson wrote up a proposal on optnone, following extensive discussion.
Michał Górny posted an RFC thread on improving protocol-level compatibility between LLDB and GDB.
Paul C. Anagnostopoulos is seeking feedback on the return value of the
!find
TableGen operator when there is no match.Tobias Hieta sought feedback on proposals to better automate LLVM releases.
The discussion about emitting unaligned vector moves continued with Paul Robinson pointing out that the previous behaviour is needed in some cases for backwards compatibility.
Arthur Eubanks split off a thread to discuss deprecation of the old pass manager.
LLVM commits
The M68k disassembler was committed. 2221185.
The CSKY backend gained an assembly parser and support for basic instructions. 8ba622b, 4216389, 4bb60c2.
TableGen now supports the assert statement in multiclasses. a5aaec8.
A new peephole optimisation was added to the AArch64 backend to remove redundant cmp after cset. 2ec1610.
An implementation of MacOS’s ‘otool’ was added. 1a3f886.
Documentation was added on LLVM’s CI system. 7f9717b.
The memcpy optimiser was updated to work for variable sizes, as long as the sizes in the memcpy-memcpy or memcpy-memset pairs are equal. f5446b7.
IR intrinsics were added for the RISC-V Zbp extension. b49337b.
The X86 backend gained support for AMX fast register allocation. 3b8ec86.
Clang commits
The new amdgpu-arch tool can list all AMD GPUs installed. 15be0c4.
clang-scan-deps gained support for clang-cl. 8c16c8b.
Collecting a profile without a filesystem is now documented. d4ee603.
The
clang_builtin_alias
attribute was introduced, allowing an alias to be introduced for a Clang builtin. 1088643.
Other project commits
A Language Server Protocol implementation and vscode language extension was added for MLIR. 751c14f, b810e3a, 52fad38.
A status page was added for libcxx’s Format library. ca177dc.
Initial ORC runtime directories and build system files were added to compiler-rt. 5e537ea.
Platform-specific implementations of fma and fmaf were added to LLVM’s libc. 95934c3.