LLVM Weekly - #280, May 13th 2019

Welcome to the two hundred and eightieth 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

The next LLVM Developers' Meeting is scheduled for October 22-23rd in San Jose.

An LLVM Social will take place in Chicago at a yet-to-be determined date. Use the linked Doodle poll or meetup page to indicate your preference.

GDB 8.3 has been released.

On the mailing lists

Alexey Sidorin provides an update on support for a matcher-like checker API.

Praveen Velliengiri is a GSoC student working on speculative compilation in ORC, and introduces themselves here. Seiya Nuta will be working on improving LLVM binary utilities.

Paul Robinson suggests the removal of REQUIRES: no* instances in LLVM codebases as they may mislead peope into thinking the no* prefix is understood by lit, and these cases can be better handled using UNSUPPORTED: .

Simon Pilgrim is seeking feedback on the current scan-build reports on LLVM and interest in fixing the reported issues. Artem Dergacehv indicates a GSoC project will be looking at static analyzer false positives.

LLVM commits

LoopSimplify learned to preserve MemorySSA. r360270.

Support was added for AVX512_BF16 instructions, supported by the upcoming Cooper Lake microarchitecture. r360017.

On the ARM backend, register copies are now glued to tail calls. As described in the commit message, the previous logic wasn't quite correct. If your out-of-tree backend copied ARM you may want to review. r360099.

InstPrinter was moved to MCTargetDesc for various backends for consistency with backends where this is necessary in order to avoid a circular dependency. r360484, r360485, r360486, r360487, r360488, and more.

Clang commits

P1009R2 from C++20 was implemented, allowing the array bound in an array new expression to be omitted. r360006.

C++20 explicit(bool) support was committed. r360311.

The -gz and -wA,--compress-debug-sections options were updated to use gABI compression rather than zlib-gnu. r360403.

clangd gained an intermediate representation of formatted text. r360151.

Other project commits