[llvm-dev] LLVM Weekly - #194, Sep 18th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 18 11:56:35 PDT 2017


LLVM Weekly - #194, Sep 18th 2017
=================================

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

Welcome to the one hundred and ninety-fourth 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.


## Review corner

>From next week, I'm going to give the ['review
corner'](http://llvmweekly.org/reviewcorner) idea a try. If you have patches
that have been stuck without any meaningful review for two weeks or more (or
are making your first contribution to an LLVM project), please submit them for
inclusion. This is an experiment - we're going to see how it works out and
fine-tune the details as we go. Feedback always very welcome.

Submit your stuck review threads now: <http://llvmweekly.org/reviewcorner>


## News and articles from around the web

DIVA: Debug Information Visual Analyser has been
[released](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117478.html)
by SN Systems as open source. It was first
[presented](https://www.youtube.com/watch?v=SwtpXaCk2bE) at the European LLVM
Dev Meeting this year. To quote the project description "DIVA is a command
line tool that processes DWARF debug information contained within ELF files
and prints the semantics of that debug information. The DIVA output is
designed to be understandable by software programmers without any low-level
compiler or DWARF knowledge; as such, it can be used to report debug
information bugs to the compiler provider."

BenoƮt Blanchon has written up a handy summary of [new features in
clang-format 5.0.0](https://blog.benoitblanchon.fr/clang-format-5/).


## On the mailing lists

* Zachary Turner has sent a
[heads-up](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117418.html)
about a slight change to the lit workflow. If you already use `./bin/llvm-lit`
in the build dir rather than `utils/lit/lit.py` from source, you should see no
changes.

* Dinar Temirbulatov has posted an RFC on adding a ['phantom' memory
intrinsic](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117381.html).
This would keep track of cases where load operations are removed by passes
like InstCombine.

* Kyle Butt has posted an RFC [implementing trace-based basic block
layout](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117458.html),
with a detailed overview of the proposed design. He points to [this
paper](https://www.ece.cmu.edu/~ece447/s13/lib/exe/fetch.php?media=p16-pettis.pdf)
as a relevant reference.

* Discussion has continued regarding the [integration of Polly in to
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117379.html).


## LLVM commits

* Support for parameterized register classes has landed. Making use of this
feature removed 10k lines from the Hexagon backend.
[r313271](http://reviews.llvm.org/rL313271),
[r313362](http://reviews.llvm.org/rL313362).

* GetElementPtr merging is now undone around indirect branches in some cases.
This is another optimisation benchmarked using the Python interpreter loop,
this time offering a 5% performance improvement.
[r312930](http://reviews.llvm.org/rL312930).

* MC-layer support for all RISC-V RV32I instruction has been committed, as
well as disassembly support. [r313485](http://reviews.llvm.org/rL313485),
[r313486](http://reviews.llvm.org/rL313486).

* The llvm-dwarfdump command line parameter naming has been updated, as
[discussed](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html)
on the mailing list last week. [r312970](http://reviews.llvm.org/rL312970).

* LoopAcessAnalysis gained support for generating run-time alias checks in
more cases. [r313012](http://reviews.llvm.org/rL313012).

* The BPF backend now has an ASMParser.
[r313055](http://reviews.llvm.org/rL313055).

* A new flag was added to disable LowerDbgDeclare. This improved optimized
debug info for address-taken variables, but may reduce accuracy of debug info
in some cases. This is a temporary measure until a more long-term resolution
can be implemented. [r313108](http://reviews.llvm.org/rL313108).


## Clang commits

* An initial version of the clang-refactor tool has been added.
[r313244](http://reviews.llvm.org/rL313244).

* clang-tidy has a new C++ core guideline checker. This performs checks for
`gsl::owner`. [r313067](http://reviews.llvm.org/rL313067).

* The recently added 'minimal' runtime for the Undefined Behavior Sanitizer
(UBSan) has been documented. [r312957](http://reviews.llvm.org/rL312957).

* clangd gained support for snippet completions.
[r313029](http://reviews.llvm.org/rL313029).


## Other project commits

* LLD now has a GNU LD-style driver for COFF, to make it easier for MinGW
toolchains. [r312926](http://reviews.llvm.org/rL312926).

* LLD gained initial support for microMIPS code linking.
[r313028](http://reviews.llvm.org/rL313028).

* LLDB compatibility with OpenOCD has been improved.
[r313442](http://reviews.llvm.org/rL313442).


More information about the llvm-dev mailing list