LLVM Weekly - #313, December 30th 2019

Welcome to the three hundred and thirteenth 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.

News and articles from around the web

I didn't spot any relevant news or articles in the past week, presumably everyone is busy enjoying the break. However it's worth highlighting the import of MLIR into the LLVM tree.

On the mailing lists

Anton Korobeynikov is seeking project proposals for LLVM in GSoC 2020. As explained in full detail in the message, proposed projects should aim to contribute directly to LLVM or its subprojects rather than to a downstream / 3rd-party project that uses LLVM.

Brian Gesiak shares an RFC on new work to port coroutines passes to the new pass manager. Brian has posted 6 patches as part of this effort and is seeking further reviewers and feedback. These patches don't yet support Swift's "returned-continuation" or the "devirtualization trigger".

Siva Chandra proposes moving LLVM's libc over to using a top-level test directory like other LLVM subprojects, in order to avoid issues encountered with CMake.

David Blaikie returns to the thread he started on DW_OP_implicit_pointer in LLVM to propose a path forwards, implementing OP_LLVM_explicit_pointer as a more general feature.

LLVM commits

LowerMatrixIntrinsics gained forward shape propagation and some initial shape-aware lowerings. 109e4e3.

As part of the attributor work, a new function-level undefined behaviour attribute was added. 58f324a.

The runtime of the find_interesting_reviews.py script was reduced by the introduction of a git blame output cache. 5bd9eee.

no-frame-pointer-elim, no-frame-pointer-elim-non-leaf, and no-frame-pointer-elim=false attributes were migrated to frame-pointer={all, non-leaf, none} . 502a77f, eb16435, a36ddf0.

pragma omp parallel code generation was added to the OpenMP IR Builder in the Frontend library. e4add972.

Clang commits

OpenMP 5.0 support continues to develop with the addition of basic support for conditional lastprivate and codegen for the nontemporal clause. 93dc40d, 0860db9.

The clang-tidy docs now shows the supported checkers in tables rather than a large list. d2c9c91.

Other project commits