[llvm-dev] LLVM Weekly - #190, Aug 21st 2017

Alex Bradbury via llvm-dev
Mon, 21 Aug 2017 17:53:26 -0000

LLVM Weekly - #190, Aug 21st 2017
================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/190>.

Welcome to the one hundred and ninetieth 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 on Windows [now supports PDB debug
info](http://blog.llvm.org/2017/08/llvm-on-windows-now-supports-pdb-debug.html).

Leslie Zhai has announced that [DragonEgg has been updated to work with GCC
8.x and LLVM
6.x](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116705.html).
DragonEgg allows LLVM to be used as a GCC backend. The main motivation for
doing this would be for languages where GCC has support but there is no LLVM
frontend.

The next Cambridge LLVM Social [will take
place](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116571.html) this
Wednesday (Aug 23rd) at 7.30pm.

Noam Lewis has released a [collection of Clang
plugins](https://github.com/sinelaw/elfs-clang-plugins), aimed at enabling
safer C programming.


## On the mailing lists

* Ivan A. Kosarev has [proposed a new approach for improving type-based alias
analysis](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116554.html).
This resulted in a huge discussion thread, which I apologise I don't have
time
to summarise. If a thread participant or lurker is able to write and post a
summary, that would be a very useful contribution for the wider LLVM
community.

* I have shared an
[update](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116709.html) on
my RISC-V LLVM backend work, along with a brief roadmap and suggestions on how
to contribute. When targeting RV32I at O0, 1315/1352 tests compile and run.
See the mailing list post for full details. I would greatly appreciate reviews
for the [outstanding
patches](https://reviews.llvm.org/differential/?authors=asb&order=updated).
Thank you to everyone who has contributed [so
far](https://github.com/lowrisc/riscv-llvm#credits).

* Graham Yiu has shared an RFC on [improving the partial inliner by outlining
cold
blocks](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116515.html). The
responses discuss this proposal in relation to the existing in-tree
machine-level outliner and the proposed IR-level outliner.

* Daniel Neilson has posted an RFC on [integrating element atomic memory
intrinsics into the MemIntrinsic class
hierarchy](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116589.html).

* Alex Denisov asked for advice on [debugging instruction
selection](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116498.html)
and received two helpful answers.

* Puyan Lotfi has
[proposed](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116518.html) a
new tool, mir-canon, for canonicalizing MIR. It has yet to receive feedback,
so if this interests you then do drop by and say so.

* Hans Wennborg has [sent out a
reminder](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116649.html)
that the 5.0.0 release notes are still incomplete. If you added something in
the past six months, ensure it is mentioned.


## LLVM commits

* The PostDominatorTree learnt about infinite loops.
[r310940](http://reviews.llvm.org/rL310940).

* RISCVInstPrinter has been added, allowing the MC assembler to be tested.
[r310917](http://reviews.llvm.org/rL310917).

* A new target property was added, allowing interprocedural register
allocation to be enabled by default for that target.
[r310876](http://reviews.llvm.org/rL310876).

* A new strictfp attribute has been introduced.
[r310885](http://reviews.llvm.org/rL310885).

* Dominators now support batch updates.
[r311015](http://reviews.llvm.org/rL311015).

* Post-RA scheduling has been improved.
[r311072](http://reviews.llvm.org/rL311072).

* The CodingStandards and ProgrammersManual documents now give more guidance
on when to use `report_fatal_error`.
[r311146](http://reviews.llvm.org/rL311146),
[r311147](http://reviews.llvm.org/rL311147).


## Clang commits

* The clang-diff tool gained HTML side-by-side diff output.
[r311241](http://reviews.llvm.org/rL311241).

* clang-tidy added a number of close-on-exec checks for Android.
[r310858](http://reviews.llvm.org/rL310858), and more.

## Other project commits

* The LLVM test suite now has two new benchmarks. HPCG (a conjugate gradient
benchmark) and PENNANT (physical algorithms). These are both DOE proxy apps.
[r310951](http://reviews.llvm.org/rL310951).

* The CMake files for the sanitizers have seen some refactoring.
[r310971](http://reviews.llvm.org/rL310971).