[llvm-dev] LLVM Weekly - #166, Mar 6th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 6 05:58:45 PST 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).


More information about the llvm-dev mailing list