Alex Bradbury via llvm-dev
2017-Mar-06 13:58 UTC
[llvm-dev] LLVM Weekly - #166, Mar 6th 2017
LLVM Weekly - #166, Mar 6th 2017 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/166>. 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](http://asbradbury.org). 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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web LLVM 4.0.0-rc3 has [now been tagged](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110676.html). Timothy Jones has written up a blog post describing his recent [CGO paper](http://www.cl.cam.ac.uk/~tmj32/papers/docs/ainsworth17-cgo.pdf) (with Sam Ainsworth). This describes [software prefetching for indirect memory accesses](http://www-dyn.cl.cam.ac.uk/~tmj32/wordpress/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](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110686.html) 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](https://www.youtube.com/watch?v=VasSufnFswc)', 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](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110653.html). * The discussion about setting C++11 as the default language dialect for Clang expanded significantly. Specifically, there is [some disagreement](http://lists.llvm.org/pipermail/cfe-dev/2017-March/052866.html) 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](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110533.html) [advice](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110537.html) on dealing with noisy benchmark results. * Tim Northover has a concise [explanation](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110549.html) 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](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110534.html). * Eric Fiselier is planning to [remove the buildit and testit scripts from libcxxabi](http://lists.llvm.org/pipermail/cfe-dev/2017-March/052933.html), 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](http://reviews.llvm.org/rL296670). * Code size for X86 debug builds should be improved due to the ability to remove argument copies during instruction selection. [r296683](http://reviews.llvm.org/rL296683). * The XRay documentation has been updated to detail the recently added subcommands. [r296528](http://reviews.llvm.org/rL296528). * The opt-stats.py tool helpfully summarises optimisation remarks for you. [r296682](http://reviews.llvm.org/rL296682). * opt-diff.py will helpfully generate a YAML file representing the difference between two optimisation records. [r296767](http://reviews.llvm.org/rL296767). * lit learned to expand glob expressions. [r296904](http://reviews.llvm.org/rL296904). ## Clang commits * `-fomit-frame-pointer` is now enabled by default for PPC for O1 optimisation levels and above. [r296861](http://reviews.llvm.org/rL296861). * clangd gained the ability to expose 'apply fix' actions. [r296636](http://reviews.llvm.org/rL296636). ## Other project commits * LLD will now only merge identical functions, and not read-only sections. [r296534](http://reviews.llvm.org/rL296534). * LLDB gained a new project ideas list. See the live version [here](http://lldb.llvm.org/projects.html). [r296814](http://reviews.llvm.org/rL296814). * The libcxx 'buildit' and 'testit' scripts have now been removed. [r296922](http://reviews.llvm.org/rL296922).