LLVM Weekly - #117, Mar 28th 2016
Welcome to the one hundred and seventeenth 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.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
Google Summer of Code applications are now closed. Applicants and interested third-parties can look forward to finding out which projects were selected on April 22nd.
Ramkumar Ramachandra has written a blog post giving a whirlwind tour of the internals of LLVM's fast register allocator (FastRegAlloc.cpp).
Alex Denisov has blogged about the various test suites used within the LLVM project.
Version 1.13 of the TTA-based Co-design Environment (TCE) has been released. This adds support for LLVM 3.8.
On the mailing lists
Last week, Jia Chen's thread about pointer analysis in LLVM had yet to receive replies. It's now received some extensive discussion. Daniel Berlin argues there is lower hanging fruit than improving AA. It does seem there's interest in getting in getting cfl-aa turned on by default, which will require some careful bug fixing.
The issue of LLD and fatal errors has again surfaced on the mailing list. The more productive line of discussion focused around what should be expected of LLD when given maliciously corrupted inputs. Rui Ueyama is suggesting adding a verifier pass which could be optionally enabled or disabled.
Andrew Kaylor has shared an RFC on adding new support to help triage optimisation-related failures. Optimisation passes are assigned numbers which can be used to help bisect a failure. Michael Gottesman reports a similar approach used in Swift.
Samuel F Antao has summarised recent discussion on unified offloading support in Clang.
Duncan P. N. Exon Smith has proposed an RFC on lazy-loading of debug info metadata.
What does it mean for a platform to support a type but not support a particular operation? Krzysztof Parzyszek is kind enough to provide a clear and straight-forward answer.
Applications for Google Summer of Code have closed, but the list of new project ideas from Philip Reames is a good starting point for anybody looking for a way to get stuck in to making impactful contributions to LLVM.
LLVM commits
A new utility,
update_test_checks.py
was added to update opt or llc test cases with new FileCheck patterns. r264357.Non-power-of-2 loop unroll count pragmas are now supported. r264407.
The NVPTX backend gained a new address space inference pass. r263916.
Instances of Error are now convertible to
std::error_code
. Conversions are also available betweenExpected<T>
andErrorOr<T>
. r264221, r264238.Hexagon gained supported for run-time stack overflow checking. r264328.
Clang commits
Clang now supports lambda capture of
*this
by value. r263921.The bitreverse builtins are now documented. r264203.
Other project commits
LLDB will fix inputted expressions with 'trivial' mistakes automatically. r264379.
ThreadSanitizer debugging support was added to LLDB. r264162.
Polly gained documentation to describe how it fits in to the LLVM pass pipeline. r264446.
LLDB has been updated to handle the UTF-16 APIs on Windows. r264074.