LLVM Weekly - #145, Oct 10th 2016
Welcome to the one hundred and forty-fifth 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
Today's issue is going out slightly later than usual I'm travelling back from ORCONF and have been stuck on networks that block SSH. We can now all breathe a sigh of relief, LLVM Weekly has managed to go out on the 145th consecutive Monday.
News and articles from around the web
Neil Henning has written up part four of his series on the 'Neil' language. This post discusses adding branching support.
Version 0.1.33 of ELLCC cross-compilation toolchain has been released. This release includes version bumps for a number of the included libraries.
On the mailing lists
-
Dylan McKay has shared an update on the status of the AVR backend. Large parts of it have been merged now.
-
I've posted an update on the status of the initial set of patches to add a RISC-V backend in LLVM. 6 are reviewed and ready to land, 3 have started the review process and awaiting signoff, while 2 remain unreviewed. More developer attention on Krzstof's Parzyszek's RFC on adding variable-sized register classes would be appreciated. Over the weekend I've shared some thoughts on how this may interact with the parsing of register names (see here and here).
-
Hubert Tong has shared a brief update on C++ concepts status in Clang.
-
Matthias Braun has created a new script to compare LLVM test-suite runs. The aim is to enable quick comparison of a few runs without leaving the commandline.
-
As James Molloy confirms, the plan is still to end support for compiling LLVM with MSVC 2013 next week.
-
In response to a question, Ryan Taylor has shared a handy snippet explaining how to handle memory-to-memory operations.
-
In response to a question about authoring a Z80 LLVM backend, Philipp Klaus Krause pointed to his experimental LLVM+SDCC toolchain which seems rather interesting.
-
Sebastian Pop has shared a proposal for making the test-suite succeed with Ofast and ffp-contract=on.
LLVM commits
-
The new llvm-opt-report tool will generate source-annotated optimisation summaries. r283398.
-
WebAssembly has officially switched from being an AST to being a stack machine, and the in-tree comments have been updated accordingly. Adjustments to the implementation have also started. r283154, r283501.
-
The AVR machine code backend, frame lowering, and assembly printer was added. r283297, r283311, r283623.
-
New target hooks have been added for the LoadStoreVectorizer. r283099.
-
A new utility has been added to visualise optimisation records. It produces HTML from the YAML output generated from optimisation remarks. r283571.
Clang commits
-
Builtins for coroutines intrinsics have been added. With this commit, simple coroutines can be created in plain C. r283155.
-
When optimising for size, loop rerolling is enabled by default. r283685.