LLVM Weekly - #386, May 24th 2021
Welcome to the three hundred and eighty-sixth 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
Francesco Bertolaccini created ClangQL, a proof-of-concept SQLite extension for querying C++ codebases that have been indexed using clangd.
Nelson Hage blogged about using AWS Lambda to build LLVM in 90 seconds.
Pekka Jääskeläinen announced the release of PoCL v1.7, a portable open source implementation of OpenCL. This release features support for Clang/LLVM 12.0 and has improved support for cross-compiling and SPIR-V binaries when using CPU devices.
On the mailing lists
Tanya Latter is seeking input to inform planning of the 2021 LLVM Developers' Meeting, sharing a survey for input.
Krzysztof Parzyszek postd an RFC on deprecating pre-commit email code reviews in favour of Phabricator. This limits the scope of a similar RFC that preceded it, with the goal of getting full consensus. There are no major objections so far.
The list of accepted LLVM GSoC projects is now available. Congratulations! A number of the accepted students have been posting details of their projects (apologies if I’ve missed your mailing list message!):
- Ajay Arasanipalai - Modernising the ‘building a JIT’ tutorial
- Liqiang Tao - Locally optimal inlining decisions
- Tarindu Jayatilaka - Optimising LLVM’s pass pipeline using machine learning
- Pratyush Das - Integrating custom derivatives of numerical computing routines into Enzyme
- Toshiki Maekawa - Utilise LoopNest pass
- Hyeongyu Kim - Fix miscompilation issues in LLVM IR using the ‘freeze’ instructions
- Deep Majumder - Making smart spointer checkers default checkers in the static analyzer
- Manas - Constraint solver improvements for the Clang static analyzer
- Omar Emara - Evolving the LLDB GUI.
LLVM GPU News Issue #12 is out with a range of GPU-related LLVM development highlights.
Sam Powell posted an RFC proposing a new llvm-tapi-diff tool.
LLVM commits
AArch64 and X86 gained support for a newly added ‘swifttailcc’ calling convention. 82a0e80.
Loads and stores, GEPs, cmpxchg, and atomicrmw all now work with opaque pointers. 6013d84, 28b9771, 1b25fce. 0bebda1.
The loop idiom recognizer can now spot the ‘shift until zero’ idiom. 0633d5c.
C bindings were added for the new pass manager. 0c557db.
Initial work was committed for flow-sensitive SampleFDO. 886629a.
A new hook was added and used in CodeGenPrepare to convert comparison of branches to prefer
icmp eq zero
if possible. dd5c520.
Clang commits
Support was added for MSVC’s
-EHa
exception handling. 797ad70.-Wunused-but-set-parameter
and-Wunused-but-set-variable
warnings were introduced. 14dfb38. REVERTEDThe
-fextend-arguments
command line option was introduced to specify widening of integer arguments of unprototyped function calls. d30dfa8.