LLVM Weekly - #281, May 20th 2019
Welcome to the two hundred and eighty-first 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.
Readers may be interested in recent news about lowRISC, the not-for-profit open source engineering organisation I co-founded. This is an exciting step forwards on our open source hardware mission. See the coverage on the Google Open Source blog and our own press release. We are of course hiring.
News and articles from around the web
LLVM 8.0.1-rc1 has been tagged.
An LLVM meetup will take place in Leuven, Belgium on Wednesday June 19th.
The 6th HelloLLVM/HelloGCC social in Beijing, China will take place on May 25th.
On the mailing lists
-
Sander De Smalen has updated his RFC thread on changes to llvm.experimental.vector.reduce intrinsics with a summary of feedback so far.
-
Will Bundy gave detailed feedback to the RFC on extending optimisation reporting, based on work done in this area at Sony Playstation.
-
Jesper Antonsson summarises the responses to the RFC on better supporting targets where bytes are not 8 bits.
-
Louis Dionne has shared a proposal on how to better handle experimental features in libc++, and is seeking feedback.
-
Sam McCall proposes adding RecoveryExpr to represent invalid constructs in the Clang AST.
-
Artem Dergachev has exhaustively listed the status of 'alpha' Clang checkers.
LLVM commits
-
An initial ORC design document was committed. r361089.
-
Support in ELF for "dependent libraries" was committed, intended to support simple "autolinking" use cases. r360984.
-
The SystemZ backend was updated to start to model the floating-point control register. r360570.
-
Basic target feature definitions were added for Arm SVE2 as well as initial MC layer support. r360573, r360682, and more.
-
Constrained fptrunc and fpext intrinsics were added. r360581.
-
The in-tree gn build system can now build the Lanai, Sparc, and Hexagon backends. r360644, r360645, r360647.
-
Guidelines and recommendations for LLVM socials were added to the LLVM docs. r360651.
-
HWASan and Kernel HWASan were ported to the new pass manager. r360707.
-
In order to fix a layering problem, backends were modified to have a new TargetInfo header. r360709, and more.
-
A scheduling model for the Cortex-M4 was added. r360768.
-
lround/llround intrinsics and SelectionDAG nodes were added. r360889.
Clang commits
-
Virtual function calls and
dynamic_cast
can now be used in constant expression evaluation in C++20.r360635, r360806. -
The Clang AST can now be dumped to JSON. r360622.
-
A new language mode was added for C2x, with
[[attribute]]
support enabled by default. r360667. -
A new bugprone-branch-clone check was added to clang-tiy, which detects if/else chains or swtich statements where consecutive branches contain identical code. r360779.