[llvm-dev] LLVM Weekly - #156, Dec 26th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 26 07:21:54 PST 2016


LLVM Weekly - #156, Dec 26th 2016
=================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/156>.

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

The bug-fix LLVM 3.9.1
[release](http://lists.llvm.org/pipermail/llvm-announce/2016-December/000072.html)
has taken place.

GCC 6.3 [has been released](https://gcc.gnu.org/ml/gcc/2016-12/msg00132.html).
This is a bug-fix release from the GCC 6 branch.

[RamFuzz](https://github.com/dekimir/RamFuzz) is a Clang-based tool for
fuzzing method parameters. Logging and replay (with mutation) is supported.


## On the mailing lists

* Piotr Padlewski kicked off a discussion on [canonicalising getelementptr
with
zero-offset](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108454.html).
Chandler Carruth [made a
case](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108479.html) for
canonicalising towards gep 0,0 rather than a bitcast.

* George Burgess IV shared an RFC on [allowing @llvm.objectsize to be more
conservative with
null](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108416.html).

* Paul Robinson [queried a case where the compiler appeared to be
zero-initialising a struct
twice](http://lists.llvm.org/pipermail/cfe-dev/2016-December/051942.html).
Richard Smith helpfully
[clarified](http://lists.llvm.org/pipermail/cfe-dev/2016-December/051943.html)
what is going on.


## LLVM commits

* The initial version of the 'NewGVN' global value numbering algorithm
implementation has landed. [r290346](http://reviews.llvm.org/rL290346).

* GlobalISel implementation work continues, with the addition of a basic
tablegen backend. [r290284](http://reviews.llvm.org/rL290284).

* A POWER9 processor model was added for scheduling.
[r290102](http://reviews.llvm.org/rL290102).

* ARM and PPC support has been added to the `update_llc_test_checks.py`
script. [r290144](http://reviews.llvm.org/rL290144),
[r290370](http://reviews.llvm.org/rL290370).

* The GlobPattern class has been imported into LLVM from LLD.
[r290212](http://reviews.llvm.org/rL290212).

* Codegen for the x86 vectorcall calling convention has landed.
[r290240](http://reviews.llvm.org/rL290240).


## Clang commits

* It is now possible to use the (still experimental) new pass manager with
Clang. [r290450](http://reviews.llvm.org/rL290450).

* The `alloc_size` attribute has been introduced. This allows the number of
bytes that will be returned by malloc/realloc/calloc or similar functions to
be inferred. [r290297](http://reviews.llvm.org/rL290297).

* `-disable-llvm-optzns` is now an alias for `-disable-llvm-passes`.
[r290392](http://reviews.llvm.org/rL290392).


## Other project commits

* LLD learned the `--retain-symbols-file` option.
[r290122](http://reviews.llvm.org/rL290122).

* polly will now align newly-created arrays to the first-level cache line
boundary. [r290253](http://reviews.llvm.org/rL290253).


More information about the llvm-dev mailing list