LLVM Weekly - #290, July 22nd 2019

Welcome to the two hundred and ninetieth 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

LLVM 9.0 has branched. rc2 is due on 7th August, with the final release scheduled for the 28th of August. This blog post from Stefan Gränitz has a visualisation of which parts of the codebase have changed.

A new paper, AliveInLean: A Verified LLVM Peephole Optimization Verifier. It's a reengineered version of Alive developed in the Lean theorem prover.

Readers might be interested in trip reports from the Cologne ISO C++ Committee meetings from the reddit /r/cpp team and Herb Sutter.

On the mailing lists

Sjoerd Meijer is seeking feedback on adding a new tail predicate loop pragma, used to indicate a loop tail can be folded into the main loop.

Siddharth Bhat shares an RFC on adding multidimensional array indexing intrinsics. This is motivated by a desire to improve accuracy of analyses like dependence analysis.

LLVM commits

The RISC-V backend is no longer experimental and will be built be default. r366331.

Basic codegen support and instrumentation was added for Arm MTE (Memory Tagging Extension) stack tagging. r366360, r366361.

Support was added for the upcoming Arm Transactional Memory Extension (TME). r366322.

The RemarkParser interface was simplified and refactored. r366217.

WebAssembly gained support for thread-local storage. r366272.

ORCv1 layers and utilities now have deprecation warnings. The intent is to remove these before LLVM 10.0. Users should transition to ORCv2. r366344.

Clang commits

Lowering was added for the various RISC-V hard float ABIs. r366480.

Documentation has been committed for Clang's support of C++ for OpenCL. r366351.

The static analyzer docs now cover support for cross-translation unit (CTU) analysis. r366439.

Other project commits