Alex Bradbury via llvm-dev
2017-Sep-11 18:24 UTC
[llvm-dev] LLVM Weekly - #193, Sept 11th 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).