LLVM Weekly - #297, September 9th 2019
Welcome to the two hundred and ninety-seventh 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.
News and articles from around the web
The program for the 2019 LLVM Developers' Meeting has been announced. It will take place Oct 22-23rd in San Jose, CA.
On the mailing lists
-
Chris Lattner announces that Google's TensorFlow team would like to contribute MLIR to the LLVM Foundation. "We think that MLIR is a nice complement to existing LLVM functionality, providing common infrastructure for higher level optimization and transformation problems, and dovetails naturally with LLVM IR optimizations and code generation. Please let us know if you have any thoughts, questions, or concerns!"
-
Rui Ueyama has shared an RFC on changing the variable naming rules in the LLVM codebase, outlining a migration plan and detailing lessons learned from making the change to LLD. Chris Lattner is supportive but many other respondents are concerned that the benefit may not be worth the cost.
-
Stefan Pintille started a discussion on reducing memory requirements for compiling PassBuilder.cpp, which currently requires 700MB-1GB. Both David Blaikie and Chandler Carruth had suggestions.
-
David Greene posted v2 of his his proposal for adding a complex type to LLVM (this was actually posted last week but I missed it - apologies!). "This proposal introduces new complex types and overloads existing floating point instructions and intrinsics for common complex operations and introduces new intrinsics for complex-specific operations. Goals of this work include better reasoning about complex operations within LLVM, leading to better optimization, reporting and overall user experience."
-
Alex Brachet-Mialot and Praveen Velliengiri have both shared write-ups of their GSoC projects, on librification of llvm-objcopy and speculative compilation in ORC JIT.
LLVM commits
-
It is now possible to unit-test the MachinePipeliner schedule emitter by checking annotated output. r370705.
-
LLVM documentation is now organised into separate pages rather than a single huge index. r371096.
-
Support for the constrained fpto[su]i intrinsics was added to the SystemZ backend. r370674.
-
The Arm backend can now perform codegen for the new 8.1-m CSINC, CSNEG, and CSINV conditional instructions. r370739.
-
The Attributor framework learned to deduce the "no-capture" argument attribute. r370817.
-
GlobalISel gained support for splitting types according to calling conventions. r370822.
-
PeelingModuleScheduleExpander was introduced, which forms the beginning of a reimplementation of ModuloScheduleExpander. r370893.
-
An MVE tail predication pass was implemented. r371179.
Clang commits
-
The documentation on OpenMP support has been expanded with a more fine-grained description of current status. r370930.
-
Support was added for the C++20
constinit
keyword. r370972. -
Minimal support is now present for attaching fix-it hints to Static Analyzer BugReports. r371257.