LLVM Weekly - #162, Feb 6th 2017

Welcome to the one hundred and sixty-second 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 Quarkslab blog has a new article about improving the performance of global dead code elimination.

Pyston, the LLVM-based JIT for Python has just seen a new release, 0.6.1. Sadly, with Dropbox no longer providing engineering time for the project, its future is in doubt.

On the mailing lists

LLVM commits

The MacroFusion class has been moved to the target (so far, implemented by X86 and AArch64). This class is responsible for scheduling instructions to maximise the opportunity for the target processor to fuse them. r293737.

The ARM scheduling models are undergoing a refactoring, with the aim to make ARM machine scheduling models for ARM easier to write and more compact. r292825.

Certain forms of select for the X86 MCU target will be lowered to bit manipulation instructions. r293469.

llvm-readobj now supports WebAssembly. r293569.

The loop invariant code motion pass will now hoist loads that are dominated by the invariant.start intrinsic. r293887.

The way ELF section symbols are handled in LLVM has been changed. r293936.

Clang commits

Clang gained a new flag, -mfentry, which will insert calls to fentry at each function entry point. This is x86 only. r293649.

clang-format's WhitespaceManager has been refactored. r293616.

Other project commits