Monday, July 14, 2014

Welcome to the twenty-eighth 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.

I'll be at the GNU Tools Cauldron
2014 next weekend, being held at the
University of Cambridge Computer Laboratory (which handily is also where I
work). If you're there, do say hi.

LLVM commits

FastISel gained some infrastructure to support a target-independent call
lowering hook as well as target-independent lowering for the patchpoint
intrinsic. r212848,
r212849.

DominanceFrontier has been templatified, so in theory it can now be used for
MachineBasicBlocks (where previously it was only usable with BasicBlocks).
r212885.

The quality of results for CallSite vs CallSite BasicAA queries has been
improved by making use of knowledge about certain intrinsics such as memcpy
and memset. r212572.

Work on overhauling x86 vector lowering continues. Chandler now reports that
with the new codepath enabled, LLVM is now at performance pairty with GCC for
the core C loops of the x264 code when compiling for SSE2/SSE3.
r212610.

ASM instrumentation for AddressSanitizer is now generated entirely in
MachineCode, without relying on runtime helper functions.
r212455.

Generation of the new mips.abiflags section was added to the MIPS backend.
r212519.

isDereferenceablePointer will now look through some bitcasts.
r212686.

Clang commits

A new checker was added, to flag code that tests a variable for 0 after
using it as a denominator (implying a potential division by zero).
r212731.