Welcome to the eighty-second 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 email@example.com, or @llvmweekly or @asbradbury on Twitter.
I'd just like to highlight how much I really do appreciate people sending me links for inclusion, e.g. LLVM-related blog posts or new releases of software using LLVM (feature releases rather than simple bugfix updates). I'm not omniescent - if an interesting blog post or software release goes unmentioned here, I probably just didn't know about it!
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
John Regehr and his collaborators working on Souper have shared some initial results from the synthesizing superoptimizer. John is very interested in collecting representative IR from frontends other than Clang. There is also some discussion about these results on the mailing list.
Microsoft have open sourced their GDB/LLDB 'debug engine'.
On the mailing lists
Piotr Padlewski has shared a plan to improve Clang's devirtualization which he will be working on with Richard Smith at Google this Summer. The hope is to reduce any remaining performance gap between LLVM/Clang and GCC (which has better devirtualization support). The Google Doc can be read here.
Rafael Espíndola has shared some thoughts on handling ELF shared libraries in LLD.
Marshall Clow has kicked off a discussion on how C++ library TSes should be packaged. David Chisnall gives the FreeBSD perspective on ABI and API compatibility in libc++.
Eric Fiselier has posted an RFC on whether libc++ should support the atomic header in C++03.
dsymutil gained support for one-definition-rule uniquing for C++ code. When linking the DWARF for a debug build of clang, it generates a 150M dwarf file instead of 700M. r242847.
The last remnant of the AliasAnalysis legacy update API have been removed. r242881.
LoopUnswitch can now unswitch multiple trivial conditions in a single pass invocation. r243203.
Clang gained the
isFinal()AST matcher. r243107.