LLVM Weekly - #400, August 30th 2021
Welcome to the four hundredth 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
Phoronix has a set of benchmarks of Clang 13 on a Xeon Ice Lake machine.
On the mailing lists
Arthur Eubanks kicked off an RFC on deprecating the legacy pass manager, later clarifying that the proposal was to deprecate and then remove it. While there’s obviously no support for keeping it around indefinitely, there is active discussion about what an appropriate deprecation period would be.
Juneyoung Lee is seeking feedback on patches that enable clang’s noundef analysis flag by default, and the proposed strategy for handling tests that need updating.
Serge Pavlov shared an RFC on the semantics of llvm::isnan, explaining the issue with converting
__builtin_isnan
tocmp uno
.Hyeongyu Kim and Deep Majumder shared final reports of their GSoC projects on fixing miscompilation issues in LLVM IR using the freeze instruction and making smart pointer checkers default checkers in the static analyzer.
Liqiang Tao proposed adding a module inliner.
LLVM 13.0.0-rc2 has been tagged.
LLVM commits
The LoopPeel pass now supports multiple unreachable-terminated exit blocks, resulting in a ~20-30% increase in the Geekbench5/HDR score on AArch64. 90d09eb3.
Graph reordering in the superworld-level parallelism vectorizer was improved. 84cbd71.
The getting started with Visual Studio guide was updated. 1958575.
llvm-reduce learned to remove module data such as data layout, target triple etc. d2e1036.
lit gained a new option to force tests to run in lexical order. 2f69c82.
Clang commits
#pragma clang restrict_expansion
, which flags macros as unsafe for header use, was implemented. 43de869.Support was added to
__attribute__((error("")))
and__attribute__((warning("")))
. 846e562.The bugprone-suspicious-memory-comparison check was added to clang-tidy. 3373e84.