The LLVM Project Blog

LLVM Project News and Details from the Trenches

LLVM Weekly - #58, Feb 9th 2015

Welcome to the fifty-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 and pass it on to anyone else you think may be interested. Please send any tips or feedback to, or @llvmweekly or @asbradbury on Twitter.

The canonical home for this issue can be found here at

News and articles from around the web

The Red Hat developer blog has a post about the plan to change the G++ ABI along with GCC 5. This is required for full C++11 compatibility. Unlike the last ABI change where the libstdc++ soname was changed, it will stay the same and instead different mangled names will be used for symbols.

Quarks lab have a tutorial on how to add a simple obfuscation pass to LLVM.

On the mailing lists

LLVM commits

  • A straight-line strength reduction pass has been introduced. This is intended to simplify statements that are generated after loop unrolling. It is enabled only for NVPTX for the time being. r228016.

  • A MachineInstruction pass that converts stack-relative moves of function arguments to use the X86 push instruction. This is only enabled when optimising for code size. r227752.

  • The BasicAA will now try to disambiguate GetElementPtr through arrays of structs into different fields. r228498.

  • Work on improving support in LLVM for GC continues, with the addition of a pass for inserting safepoints into arbitrary IR. r228090.

  • (Very) minimal support for the newly announced ARM Cortex-A72 landed. For now, the A72 is modeled as an A57. r228140.

  • A new heuristic has been added for complete loop unrolling, which looks at what loads might be made constant if the loop is completely unrolled. r228265.

  • A pass to exploit PowerPC's pre-increment load/store support has been added. r228328.

  • A platform-independent interface to a PDB reader has landed. r228428.

  • LLVM learnt to recognise masked gather and scatter intrinsics. r228521.

Clang commits

  • Clang learnt the 'novtable' attribute (for MS ABI support). r227796, r227838.

  • New functionality has been added for thread safety analysis, before/after annotations can now be used on mutexes. r227997.

Other project commits

  • A whole bunch of work on LLDB with multithreaded applications on Linux has landed. r227909, r227912, r227913, and more.

  • The default Polly build is now completely free of GPL dependencies. The isl and imath dependencies have been imported into the codebase to make it easier to build with a known-good revision. r228193.