LLVM Weekly - #166, Mar 6th 2017

Welcome to the one hundred and sixty-sixth 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

LLVM 4.0.0-rc3 has now been tagged.

Timothy Jones has written up a blog post describing his recent CGO paper (with Sam Ainsworth). This describes software prefetching for indirect memory accesses, which was of course added using a new LLVM pass.

The next LLVM Zurich Social is will be taking place on Thursday, March 9th at 7pm. Please register if you would like to attend. Hans Pabst will be delivering a talk on LIBXSMM.

The talk from the last LLVM social in Berlin was recorded and is now available online. Stanislav Pankevich gave the talk 'Mull meets Rust', about mutation testing in Rust.

On the mailing lists

LLVM commits

A new machine-level branch coalescing pass has been added that coalesces blocks that branch on the same condition. r296670.

Code size for X86 debug builds should be improved due to the ability to remove argument copies during instruction selection. r296683.

The XRay documentation has been updated to detail the recently added subcommands. r296528.

The opt-stats.py tool helpfully summarises optimisation remarks for you. r296682.

opt-diff.py will helpfully generate a YAML file representing the difference between two optimisation records. r296767.

lit learned to expand glob expressions. r296904.

Clang commits

-fomit-frame-pointer is now enabled by default for PPC for O1 optimisation levels and above. r296861.

clangd gained the ability to expose 'apply fix' actions. r296636.

Other project commits