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 https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to [email protected], 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
-
Daniel Berlin has summarised the issues he sees with LLVM's current type-based alias analysis metadata for unions.
-
The discussion about setting C++11 as the default language dialect for Clang expanded significantly. Specifically, there is some disagreement about whether different platform/targets should use different defaults (the PS4 target recently changed to default to C++11).
-
Kristof Beyls has some really useful advice on dealing with noisy benchmark results.
-
Tim Northover has a concise explanation of why determining the number of bytes of target machine code are needed for a IR instruction can't be done in general.
-
Diana Picus has made a Doodle poll to gauge people's preference for the timing of the first LLVM social in Stockholm.
-
Eric Fiselier is planning to remove the buildit and testit scripts from libcxxabi, after doing the same for libcxx. If that poses a problem for you, then speak up.
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.