LLVM Weekly - #475, February 6th 2023
Welcome to the four hundred and seventy-fifth 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 and events
Graham Markall blogged about using RISC-V JIT on LLVM 14, including a link to a branch of LLVM 14 to fix encountered issues (since resolved in LLVM 15).
The next Berlin LLVM meetup will take place on 15th February. The next LLVM Bay Area meetup is taking place on Feb 27th.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Paulo Matos, Tobias Grosser, Anastasia Stulova, Kristof Beyls, Johannes Doerfert, the BOLT maintainers.
- Online sync-ups on the following topics: Flang, SYCL, MemorySSA, OpenMP, OpenMP in Flang, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Michael Platings advertised that patches based on the new multilib approach RFC are now up for review.
Markus Böck shared an RFC on switching the MLIR LLVM dialect and dialect lowerings to opaque pointers.
Aaron Puchert suggested adding GitHub autolinks for references to Phabricator reviews.
Ellis Hoag and collaborators posted an RFC for extending IRPGO with temporal profiling.
Jez Ng started a discussion about adding LLD tests that rely on Clang. Although the existence of the
cross-project-tests
directory in the monorepo was pointed out, respondents cautioned that tests changing due to Clang changes may cause issues.Kyle Edwards suggested adding a fix option to clang-tidy that adds NOLINT comments to violations it finds.
LLVM commits
An AArch64GlobalsTagging pass was added, for use as part of
-fsanitize=memtag-globals
. 486729c.A
--version
argument was added to the update_test_checks tools. This provides a mechanism for changing their default behaviour without causing excessive test churn. 5375b63.Support for PLT based relocations was added to the ELF/i386 JITLink backend. cd9fd42.
A pass was added to count the number of times a function is visited, to help find pathological CGSCC cases. 4ce34bb.
NVPTXAliasAnalysis was implemented, which extends the default AA to take pointer address spaces into account. ca50be8.
Work to add support for DirectX pipeline state started to land. ad93908.
The PowerPC backend switched to by-name matching for instructions. 4b43ef3, 0be684e.
The RISC-V backend will now in many cases materialise floating point constants by materialising the integer pattern to a general purpose register and then moving it to a floating point register, rather than using the constant pool. d02b986.
Clang commits
The bugprone-unsafe-functions check was added to clang-tidy. f27c8ac.
The
__attribute__(unsafe_buffer_usage))
attribute was added, to be used for function containing buffer operations that could cause out of bounds memory accesses. acc3cc6.__builtin_nondeterministic_value(x)
was added, returning a nondeterministic value of the same type as the provided argument. 450a461.