[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

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

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
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
Manuel Klimek [outlined some of the potential
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
Hal Finkel's
is a good starting point for the interested reader.

* Eli Friedman has written up a [workflow for source-based code coverage on
and wonders if anyone is interested in more formal documentation and
upstreaming relevant patches. Unsurprisingly, the consensus seems to be "yes

* 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
if anyone is particularly attached to the current command-line parameter

* Zachary Turner started a discussion on the [status of
The thread participants went on to discuss the practicalities of using these
test cases for CodeView debug info.

* Juergen Ributzka is
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

* Zachary Turner is
for more Windows-based developers to help "dogfood" LLVM's PDB debug info on

* Reid Kleckner introduced an RFC on [better describing variables in memory
After discussions on and off the list, Reid followed up with a [new
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.

* 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.

* 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.

## Clang commits

* `_Float16` is now a supported C/C++ source language type.

* The `-Wtautological-compare` warning will now complain about comparison of
an unsigned value with signed zero.

* A new TableGen backend has been added to generate StmtDataCollectors.inc.

* clang-format learned to understand C++17 structured bindings.

## Other project commits

* The LLVM test suite has seen more DoE proxy apps added this week. CLAMR,
miniGMG, RSBench, and SimpleMOC.

* libcxx's `string_view` gained loads of new tests.

More information about the llvm-dev mailing list