LLVM Weekly - #235, July 2nd 2018

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

The call for papers has been issued for the 2018 LLVM Developers' Meeting. Deadline for submission is July 30th.

LLVM 6.0.1-final has been tagged.

The next London LLVM social will be held on Thursday July 19th at 6.30pm.

On the mailing lists

Zachary Turner has started an RFC on libtrace, a lightweight LLVM-based ptracer. The thread details how it has a much narrower focus than LLDB, although obviously having some overlap.

Clement Courbet proposes extending superword-level parallelism to vectorize bit-parallel operations using general purpose registers. All discussion on this idea so far is on phabricator.

Hideki Saito has started an RFC discussion on legalizing veclib calls.

LLVM commits

Debug locations are no longer attached to ConstantSDNode and ConstandSDFPNode. This change was discussed on the mailing list. r335497.

FileCheck now supports a CHECK-EMPTY directive for checking blank lines. r335613.

The RISC-V backend gained a machine function pass to merge base+offset in global address references. This replaces the previous peephole in RISCVISelDAGToDAG. r335786.

The X86 backend gained further support for the x86-64 large and medium PIC code models. r335508.

The new loop unswitching pass now handles nontrivial unswitching, bringing it roughly on par with the previous pass. r335553.

ARM gained a pass to pattern-match IR in order to select ACLE DSP intrinsics. r335850.

Very initial enablement for Armv8.4-A has landed. r335953, r335962.

Clang commits

Clang now supports control-flow integrity for indirect calls via a member function pointer. r335569.

Informative diagnostics for missing template keywords are given in more cases. r335687, r335699.

Other project commits