[llvm-dev] LLVM Weekly - #193, Sept 11th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 11 11:24:07 PDT 2017


LLVM Weekly - #193, Sept 11th 2017
==================================

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

Welcome to the one hundred and ninety-third 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 5.0.0 [is now
available](http://lists.llvm.org/pipermail/llvm-announce/2017-September/000075.html)!

The program for the LLVM Dev Meeting 2017 has [been
posted](http://llvm.org/devmtg/2017-10/#program). The conference takes place
18th-19th October in San Jose, California. Registration is $300 ($50 for
full-time students).

Herb Sutter reports that [C++17 has been formally
approved](https://herbsutter.com/2017/09/06/c17-is-formally-approved/). Clang
support is of course [in good shape](https://clang.llvm.org/cxx_status.html).


## On the mailing lists

* River Riddle has posted a follow-up RFC on [adding an IR-level
interprocedural outliner for code size
optimisations](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117153.html).
This RFC tries to clear up several points of confusion vs the previous
iteration, and includes direct comparison to the machine outliner.

* Kim Gräsman has posted an RFC on [integrating the popular
include-what-you-use tool into
clang-tools-extra](http://lists.llvm.org/pipermail/cfe-dev/2017-September/055362.html).
Manuel Klimek [outlined some of the potential
challenges](http://lists.llvm.org/pipermail/cfe-dev/2017-September/055369.html)
in upstreaming. Some respondents wonder if the right approach might be to
incrementally build something with equivalent functionality to
include-what-you-use that makes use of existing LLVM/Clang tooling.

* Siddharth Bhat kicked off a really interesting thread on [replacing
InstCombine with a graph
rewriter](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117151.html).
Hal Finkel's
[response](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117311.html)
is a good starting point for the interested reader.

* Eli Friedman has written up a [workflow for source-based code coverage on
baremetal
targets](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117156.html)
and wonders if anyone is interested in more formal documentation and
upstreaming relevant patches. Unsurprisingly, the consensus seems to be "yes
please!".

* There will be an LLVM Foundation birds of a feather session at the upcoming
LLVM Dev Meeting. Chris Lattner is [looking for
input](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117326.html) on
topics people would like to discuss.

* Adrian Prantl is planning to make llvm-dwarfdump a drop-in replacement for
dwarfdump on Darwin and
[wonders](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html)
if anyone is particularly attached to the current command-line parameter
naming.

* Zachary Turner started a discussion on the [status of
debuginfo-tests](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117230.html).
The thread participants went on to discuss the practicalities of using these
test cases for CodeView debug info.

* Juergen Ributzka is
[proposing](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117264.html)
another upstream contribution taken from XCode: TAPI, a tool for handling
text-based dynamic library files. As explained in that thread "Text-based
dynamic library files (TBDs) are a textual representation of the information
in a dynamic library / shared library that is required by the static linker -
basically a symbol list of the exported symbols."

* Leslie Zhai has shared some [motivating use-cases for the recent DragonEgg
update](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117203.html).

* Zachary Turner is
[looking](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117152.html)
for more Windows-based developers to help "dogfood" LLVM's PDB debug info on
Windows.

* Reid Kleckner introduced an RFC on [better describing variables in memory
with
dbg.value](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117141.html).
After discussions on and off the list, Reid followed up with a [new
approach](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117222.html)
that should be simpler. The problem: "The crux of the problem in that thread
is that we need a representation, particularly in the middle-end, to describe
a variables address, at a particular program point." This RFC introduces the
dbg.addr intrinsic to solve this issue.


## LLVM commits

* XRay gained a new 'stacks' tool for stack-based accounting of input traces.
[r312733](http://reviews.llvm.org/rL312733).

* A new getInstructionCost interface has been added to TargetTransformInfo.
This function can be used to query the reciprocal of throughput, latency, and
instruction code size. [r312832](http://reviews.llvm.org/rL312832).

* ORC's RemoteObjectClientLayer and RemoteObjectServerLayer provide an
alternative approach to supporting remote-JITting in LLVM.
[r312511](http://reviews.llvm.org/rL312511).

* The coding standards document gained a warning about non-determinism due to
ordering of pointers. [r312667](http://reviews.llvm.org/rL312667).

* The new DivRemPairs pass will optimise div/rem pairs.
[r312862](http://reviews.llvm.org/rL312862).


## Clang commits

* `_Float16` is now a supported C/C++ source language type.
[r312781](http://reviews.llvm.org/rL312781).

* The `-Wtautological-compare` warning will now complain about comparison of
an unsigned value with signed zero.
[r312750](http://reviews.llvm.org/rL312750).

* A new TableGen backend has been added to generate StmtDataCollectors.inc.
[r312634](http://reviews.llvm.org/rL312634).

* clang-format learned to understand C++17 structured bindings.
[r312723](http://reviews.llvm.org/rL312723).


## Other project commits

* The LLVM test suite has seen more DoE proxy apps added this week. CLAMR,
miniGMG, RSBench, and SimpleMOC.
[r312488](http://reviews.llvm.org/rL312488),[r312497](http://reviews.llvm.org/rL312497),
[rr12592](http://reviews.llvm.org/rL312592),
[r312615](http://reviews.llvm.org/rL312615).

* libcxx's `string_view` gained loads of new tests.
[r312690](http://reviews.llvm.org/rL312690),
[r312691](http://reviews.llvm.org/rL312691),
[r312693](http://reviews.llvm.org/rL312693).


More information about the llvm-dev mailing list