The LLVM Project Blog

LLVM Project News and Details from the Trenches

LLVM Weekly - #24, Jun 16th 2014

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

On the mailing lists

LLVM commits

  • A weak variant of cmpxchg has been added to the LLVM IR, as has been argued for on the mailing list. Weak cmpxchg allows failure and the operation returns {iN, i1} (in fact, for uniformity all cmpxchg instructions do this now). According to the commit message, this change will mean legacy assembly IR files will be invalid but legacy bitcode files will be upgraded during read. r210903.

  • X86 FastISel gained support for handling a bunch more intrinsics. r210709, r210720 and more. FastISel also saw some target-independent improvements r210742.

  • This week there were many updates to the MIPS backend for mips32r6/mips64r6. e.g. r210899, r210784 and many more.

  • NoSignedWrap, NoUnsignedWrap and Exact flags are now exposed to the SelectionDAG. r210467.

  • Support has been added for variable length arrays on the Windows on ARM Itanium ABI. r201489.

  • Some simple reordering of fields in Value and User saves 8 bytes of padding on 64-bit. r210501.

  • FastISel will now collect statistics on when it fails with intrinsics. r210556.

  • The MIPS backend gained support for jr.hb and jalr.hb (jump register with hazard barrier, jump and link register with hazard barrier). r210654.

  • AArch64 gained a basic schedule model for the Cortex-A57. r210705.

  • LLVM has transitioned to using std::error_code instead of llvm::error_code. r210687.

Clang commits

  • The -Wdate-time preprocessor warning from GCC has been implemented. This is useful when trying to create reproducible builds. r210511.

  • Loop unroll pragma support was added. r210667.

  • Yet more progress has been made on MS ABI compatibility. e.g. r210813, r210637.

Other project commits

  • libcxx gained an implementation of string_view as proposed in N4023. r210659.

  • Some of the iOS8/OS X Yosemite specific lldb support has been merged. r210874.