LLVM Weekly - #440, June 6th 2022
Welcome to the four hundred and fortieth 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
Videos from the 2022 EuroLLVM Developers' Meeting have started to be published.
Yuyou Fan and John Regehr have blogged about High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM, applying mutation-based fuzzing for LLVM optimisation passes and using Alive2 to prove correctness.
The Call for Papers for the Eighth Workshop on the LLVM Compiler Infrastructure in HPC is now available. The event will take place on November 13th in Dallas, Texas and the paper submission deadline is August 19th.
The Standard C++ Foundation have shared their annual C++ developer survey. Unfortunately, it’s only open for a week and so will close in the next day or so.
On the forums
Mars Larsen is looking for ideas and requests regarding MLIR for Compiler Explorer.
The video from the most recent Open MLIR meeting (on IRDL) is now available.
Chengji Yao posted an RFC on symbolic shape analysis in MLIR.
LLVM GPU News #35 is now available.
Ruobing Han shared an RFC about re-implementing SimpleLoonUnswitch with FunctionPass.
River Riddle kicked off an RFC discussion on adding a generalised ‘config’ section to MLIR files.
River Riddle announced that the MLIR VSCode extension now provides builtin syntax highlighting and language features for TableGen.
Aaron Jacbos is seeking feedback on ideas to extend the lifetimebound attribute to return types.
LLVM commits
Opaque pointers are now enabled by default. 41d5033, b0ce6a0.
Advanced use cases of LLVM-style RTTI were documented. 4723124. This follows-on from recent work to overhaul Casting.h (which I’d somehow failed to link to - thanks Aman for sending in the tip!).
The allockind attribute was introduced for describing allocation function behaviour. 42861fa, 73f6646.
LLVM’s coding standards regarding omitting braces for single-statement if/else/loop bodies were clarified. 3d56131.
Support was added for writing Arm WinEH unwind info. 6b75a35.
-branch-on-poison-as-ub
is now the default. 03aceab.
Clang commits
Initial ABI lowering for CSKY was added. 563cc3f.
The clang-offload-packager documentation was expanded. e22b02d.
modernize-use-emplace learned to warn when emplac_back is used improperly. 987f9cb.