The LLVM Project Blog

LLVM Project News and Details from the Trenches

LLVM Weekly - #54, Jan 12th 2015

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

As you receive this week's issue, I should be on my way to California where I'll be presenting lowRISC at the RISC-V workshop in Monterey and having a few mother meetings. I'm in SF Fri-Sun and somewhat free on the Saturday if anyone wants to meet and chat LLVM or lowRISC/RISC-V.

The canonical home for this issue can be found here at

News and articles from around the web

Euro LLVM 2015 will be held on April 13th-14th in London, UK. The call for papers is now open with a deadline of 16th Feb.

Talks for the LLVM devroom at FOSDEMhave been announced. The LLVM devroom is on Sunday 1st Feb. Readers will be pleased to know this doesn't clash with my talk on lowRISC which is on the Saturday.

Google now use Clang for production Chrome builds on Linux. They were previously using GCC 4.6. Compared to that baseline, performance stayed roughly the same while binary size decreased by 8%. It would certainly have been interesting to compare to a more recent GCC baseline. The blog post indicates they're hopeful to use Clang in the future for building Chrome for Windows.

Philip Reames did an interesting back of the envelope calculation about the cost of maintaining LLVM. He picked out commits which seems like they could be trivially automated and guesstimated a cost based on developer time. The figure he arrives at is $1400 per month.

The next LLVM social for Cambridge, UK will be on Wed 21st Jan at 7:30pm.

On the mailing lists

LLVM commits

  • An option hoist-cheap-insts has been added to the machine loop invariant code motion pass to enable hosting even cheap instructions (as long as register pressure is low). This is disabled by default. r225470.

  • The calculation of the unrolled loop size has been fixed. Targets may want to re-tune their default threshold. r225565, r225566.

  • DIE.h (datastructures for DWARF info entries) is now a public CodeGen header rather than being private to the AsmPrinter implementation. dsymutil will make use of it. r225208.

  • The new pass manager now has a handy utility for generating a no-op pass that forces a usually lazy analysis to be run. r225236.

  • There's been a minor change to the .ll syntax for comdats. r225302.

  • There have been some minor improvements to the emacs packages for LLVM and tablegen mode. r225356.

  • An example GCStrategy using the new statepoint infrastructure has been added. r225365, r225366.

Clang commits

  • A Wself-move warning has been introduced. Similar to -Wself-assign, it will warn you when your code tries to move a value to itself. r225581.

  • The I, J, K, M, N, O inline assembly constraints are now checked. r225244.

Other project commits

  • The libcxx test infrastructure has been refactored into separate modules. r225532.

  • The effort to retire InputElement in lld continues. Linker script files are no longer represented as an InputElement. r225330.

  • Polly has gained a changelog in preparation of the next release.r225264.

  • Polly has also gained a TODO list for its next phase of development. r225388.