LLVM Weekly - #95, Oct 26th 2015

Welcome to the ninety-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 HHVM team have posted an update on the status of LLVM code generation in
HHVM. They managed
to get LLVM to equal the performance of their custom backend, but are not
going to deploy the LLVM backend to production for now. They're no longer
actively working on the LLVM backend, but hope to ensure it doesn't regress.

A lot of work has been done to extend Clang's static analyzer to support
interprocedural analysis. This thread discusses the current state and path
forward.
It's not giving the improvement expected (in terms of detected
bugs-per-second) and the thread discusses thoughts on why.

LLVM commits

The TargetLowerBase::LibCall LegalizeAction has been introduced. This
allows backends to control whether they prefer expansion or conversion to a
libcall. r250826.

The new AliasAnalysis infrastructure gained an optional 'external' AA
wrapper pass, to allow users to merge in external AA results. The unit test
included in the patch gives a good example of how to use this.
r250894.

CodeGenPrepare can now transform select instructions into branches and sink
expensive operands. r250743.

Loop rotation can now use profile data in making decisions during
MachineBlockPlacement. r250754.