Alex Bradbury via llvm-dev
2018-Aug-27 18:54 UTC
[llvm-dev] LLVM Weekly - #243, August 27th 2018
LLVM Weekly - #243, August 27th 2018 =================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/243>. Welcome to the two hundred and forty-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](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 7.0.0-rc2 has been [tagged](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125524.html). The first Women in Compilers and Tools Workshop has been [announced](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125579.html), and will take place on October 16th in San Jose, the day before the LLVM Developers' Meeting. Registration (max 100 attendees) opens today. The deadline to submit papers/talks for the LLVM-HPC2018 workshop at SC18 has been [extended](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125623.html) to September 9th. Get your proposals in! Bekket McClane's series on writing an LLVM pass [continues](https://medium.com/@mshockwave/writing-llvm-pass-in-2018-part-iii-d44cd0c2c354) in part 3, covering how to integrate a pass into the LLVM source tree. The [point-free libtool](https://github.com/agozillon/point-free) will convert pointful template metafunctions to point-free template metafunction classes. If that doesn't mean much to you, worry not because the project's README does an excellent job of unpacking and explaining these terms. clangmetatool 0.8.0 has been [released](https://github.com/bloomberg/clangmetatool/releases/tag/0.8.0). This includes functionality to determine whether the value of an argument to a function can be determined at compile time. ## On the mailing lists * JF Bastien has started an RFC discussion on [a new C++17 Parallel STL project](http://lists.llvm.org/pipermail/cfe-dev/2018-August/059023.html). Apple, Red Hat, and Intel hope to begin implementation work of the C++17 Parallel STL under the umbrella of the LLVM Foundation. The Foundation's board approves of this plan, and this thread aims to get wider community feedback as well as attracting contributors. * Leonard Chan [kicks off](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125433.html) a long discussion on fixed point support in LLVM. John McCall makes the case for [adding new IR types to represent fixed point values](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125445.html), arguing this may lead to less overall complexity than representing them as integers and adding new intrinsics. * Cameron McInally has [started](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125467.html) a discussion on adding an IR instruction for fneg, explaining that by the IEEE-754 standard neg(x) and sub(-0.0,x) are different operations. The former is a bitwise operation and the latter is an arithmetic operation. * Johannes Doerfert [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125537.html) a major re-organisation of the function attribute deduction pass. * Jonas Toth has been looking at clang-refactor and is [looking for feedback](http://lists.llvm.org/pipermail/cfe-dev/2018-August/059113.html) on the best way of contributing. Kirill Bobyrev [clarifies](http://lists.llvm.org/pipermail/cfe-dev/2018-August/059114.html) when it makes sense to implement a transformation in clang-tidy vs clang-refactor. * Aleksandar Beserminji is interested in [organising an LLVM social in Belgrade or Novi Sad](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125556.html). Get in touch with Aleksandar if you are interested. * Kit Barton [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125441.html) removing Darwin support from the POWER backend. There seems to be consensus that it's worth doing this. ## LLVM commits * The MS demangler has been rewritten and refactored. [r340710](https://reviews.llvm.org/rL340710). * Work has started to remove TerminatorInst from the IR's instruction type hierarchy. [r340698](https://reviews.llvm.org/rL340698), [r34069](https://reviews.llvm.org/rL340699), [r340701](https://reviews.llvm.org/rL340701). * YAML serialization using LLVM's support library was sped up by ~2.5x. [r340154](https://reviews.llvm.org/rL340154). * The 'Itanium' demangler has been refactored into a generic reusable library. [r340203](https://reviews.llvm.org/rL340203). * Initial support was added for the Tiny Code Model for AArch64. In this code model, code and its statically defined symbols must be within 1MB of each other. [r340397](https://reviews.llvm.org/rL340397). * The Mips GlobalISel implementation can how lower i8 and i16 arguments. [r340572](https://reviews.llvm.org/rL340572). ## Clang commits * The new `-fno-c++-static-destructors` flag and `[[clang::no_destroy]]`, `[[clang::always_destroy]]` attributes can control static destructor registration. [r340306](https://reviews.llvm.org/rL340306). * clangd gained a prototype of a new 'Dex' symbol index. [r340175](https://reviews.llvm.org/rL340175). ## Other project commits * LLD can now perform TLS initial exec to local exec relaxation for PPC64. [r340281](https://reviews.llvm.org/rL340281). * LLD gained improvements for older Arm architectures, supporting the reduced branch range and armv5/armv6 compatible thinks. [r340159](https://reviews.llvm.org/rL340159), [r340160](https://reviews.llvm.org/rL340160).