Alex Bradbury via llvm-dev
2018-May-21 18:55 UTC
[llvm-dev] LLVM Weekly - #229, May 21st 2018
LLVM Weekly - #229, May 21st 2018 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/229>. Welcome to the two hundred and twenty-ninth 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](https://www.linkedin.com/in/alex-bradbury/). 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.2 has [been released](http://lists.llvm.org/pipermail/llvm-announce/2018-May/000078.htm). The main addition is mitigation for Spectre Variant 2 for X86 and MIPS. ## On the mailing lists * Philip Reames [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123393.html) changing the representation of guards so they are considered explicit control flow rather than implicit control flow - i.e. they are considered to be a possible terminator. Philip suggests that although the current representation has advantages, updating upstream optimisation passes to support it would be a huge amount of work. Responses so far are in favour. * Vedant Kumar [suggests](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123310.html) removing tools that are only useful for testing LLVM from the binary LLVM+Clang distribution, noting tools like clang-check contribute significantly to the installed size. Feedback is being sought in that thread. * Fabien Giesen [started](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123292.html) a discussion on rotate instructions, suggesting that rotate intrinsics should be added. Sanjay Patel has some [interesting thoughts](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123383.html) on potential criteria or informal measures for the benefit of adding an intrinsic. * Chandler Carruth posted an RFC on [simplifying the IR type system by removing TerminatorInst](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123407.html). The aim would be to remove TerminatoINst, which would allow CallInst and InvokeInst to share a base class and allow the removal of the CallSite abstraction. * Tom Stellard is getting ready for the 6.0.1 release, with rc2 [scheduled](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123389.html) for May 25th. * Jens Widell has [summarized](http://lists.llvm.org/pipermail/cfe-dev/2018-May/058003.html) the thread on 'JumboSupport'/unity builds in Clang and proposes a path forwards. * Alexey Sidorin has [shared](http://lists.llvm.org/pipermail/cfe-dev/2018-May/057985.html) proof-of-concept work on a new API for specifying a graph patcher for Clang static analyzer. ## LLVM commits * A new script has been added to utils/ which will try to match open Phabricator reviews with potential reviewers. This script was mentioned at a EuroLLVM lightning talk. [r332711](https://reviews.llvm.org/rL332711). * GlobalISel now splits aggregates during IR translation, which is necessary to support big endian code correctly. [r332449](https://reviews.llvm.org/rL332449). * The DEBUG macro has been renamed to `LLVM_DEBUG`. [r332240](https://reviews.llvm.org/rL332240). * llvm-mca gained the abstraction of a pipeline stage, and now includes a simple FetchStage. [r332390](https://reviews.llvm.org/rL332390). * SimplifyLibCalls learned to replace locked IO with unlocked IO when this can be proven to be safe. [r332452](https://reviews.llvm.org/rL332452). * The MC Assembler now matches the behaviour of the GNU assembler for comparison operators. [r332215](https://reviews.llvm.org/rL332215). * LLVM's signal handling code is now signal-safe. [r332496](https://reviews.llvm.org/rL332496). * You can now use `-Rpass-analysis=size-info` to have remarks printed which describe when a pass changes the number of IR instructions in a module. [r332739](https://reviews.llvm.org/rL332739). ## Clang commits * diagtool was added to the Clang install target and so will ship with the LLVM release. It now has a man page too. [r332448](https://reviews.llvm.org/rL332448). * Early textual substitutions can now be performed for Diagnostic messages specified in TableGen. This is intended to avoid repeating strings verbatim in multiple diagnostics. [r332799](https://reviews.llvm.org/rL332799). ## Other project commits * The XRay Function Call Trie datastructure was implemented in compiler-rt in order to support XRay Profiling Mode. [r332313](https://reviews.llvm.org/rL332313). * LLD gained support for the `--keep-unique` option, as supported by gold. [r332332](https://reviews.llvm.org/rL332332).