[llvm-dev] LLVM Weekly - #243, August 27th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 27 11:54:05 PDT 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).


More information about the llvm-dev mailing list