LLVM Weekly - #134, Jul 25th 2016
Welcome to the one hundred and thirty-fourth 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
LLVM/Clang 3.9 has now branched. A first release candidate should be available shortly. As you may recall there was a very long mailing list discussion about what the successor to 3.9 would be. In the end, it was decided it should be 4.0.
As a reminder, I am organising a one-day LLVM conference the LLVM Cauldron to be held in Hebden Bridge, UK on September 8th. This is immediately followed by the GNU Tools Cauldron. The submission deadline is August 8th, so get your talk proposals in now.
On the mailing lists
-
By far the most active thread this week was on whether a proposed move from SVN to Git should result in a single monolithic repository or not. Richard Smith's suggestion was well received by several others. As he points out, the move to Git and a potential repository re-organisation don't need to happen at the same time. Renato Golin has also shared the final cut of the proposal to move to Github.
-
Dean Michael Berris has shared instructions and early results of using XRay function tracing.
-
Jaques Pienaar has proposed making the Lanai backend non-experimental. This triggered some discussion on when a backend would be accepted upstream and when it would be considered official. Renato Golin posted a summary of the criteria from his perspective.
-
Tom Stellard has posted a notice for out-of-tree code owners, that assumptions about intrinsics will be changing. Specifically, it will no longer be assumed that intrinsics can't read or write global variables. They should be marked with
IntrNoMem
orIntrArgMemOnly
as appropriate.
LLVM commits
-
LLVM trunk is now 4.0.0svn. r275827.
-
The first piece of coroutines support in LLVM has landed, the documentation. r276513.
-
The MemorySSA pass has been updated to use a new walking algorithm (iteratively expanded depth-first search). r275940.
-
There's been some more progress on global instruction selection. A legalization pass has been started, though it currently only supports splitting a vector
G_ADD
in to one acting on smaller vectors. r276461. -
The recently added CFLAnders analysis gained the ability to distinguish reads from writes and to support interprocedural analysis. r276023, r276026.
-
A script was added to check for code coverage regressions. r276199.
Clang commits
-
The
-masm
flag was added for x86 assembly targets to specify on the command line whether Intel or AT&T syntax should be used. r275877. -
clang-rename has been improved with better symbol finding. r276414.
Other project commits
-
libcxx has imported the Google Benchmark library in order to use it for benchmark tests. r276049.
-
libcxx now has an implementation of
std::string_view
. r276328. -
Test cases from the Halide suite have started to be imported. r275897.
-
libclc gained implementations of the cosh and cbrt builtins. r276496, r276497.