LLVM Weekly - #231, June 4th 2018

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

Nathan Froyd muses on the possibility of Firefox building using LLVM and Clang across all major platforms, and the advantages/disadvantages/risks of standardising on a single compiler toolchain.

On the mailing lists

Michael Kruse has written RFCs on extending #pragma clang loop and extending loop metadata in LLVM. As explained in the RFC, the intent is to propose a form of these loop transformation pragmas to the OpenMP standard.

Sohail Somani proposes a new API to simplify the interface for creating new forms of debug info metadata.

Anast Gramm reports on an investigation of the impact of the Scalar Replacement of Aggregates pass on debuginfo. Although the DExTer tool showed SROA had a negative impact on debug experience, Anast's experiment indicated that SROA does a good job of preserving debug information. Greg Bedwell offers clarification on some of the subtleties of interpreting DExTer results.

LLVM commits

A new WebAssembly exception handling prepare pass was added. r333696.

ADDE/ADDC/SUBE/SUBC have been set to expand by default. Out-of-tree backends that use these deprecated opcodes may need to be updated. r333748.

The RISC-V backend gained peepholes to improve codegen for some common global address lowering cases. The intent is to replace these peepholes with a more complete MachineFunctionPass. r333455.

The core logic of LoopInstSimplify has been rewritten to be both simpler and more efficient. r333461.

The MCSchedModel API was extended with new methods for querying latency and reciprocal throughput information for an MCInst. r333650.

Clang commits

Initial infrastructure for the HIP language has started to land. As explained in the original RFC, HIP is a language similar to CUDA but with a vendor neutral host API. r333483, r333484.

The -compiler-option-dump flag will dump features/extensions lists to a JSON file. r333653.

Other project commits