[llvm-dev] LLVM Weekly - #208, Dec 25th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 25 02:22:52 PST 2017


LLVM Weekly - #208, Dec 25th 2017
=================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/208>.

Welcome to the two hundred and eighth 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.

For those of you who celebrate it, Merry Christmas! This festive edition of
LLVM Weekly is packed full of what you really wanted for christmas - LLVM
development summaries.


## News and articles from around the web

LLVM 5.0.1 [has been
released](http://lists.llvm.org/pipermail/llvm-announce/2017-December/000076.html).

Kotlin/Native v0.5 [is
here](https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/).
This release includes support for LLVM 5, as well as C, Objective C and Swift
interoperability.

Portable Computing Language (pocl) v1.0 [has been
released](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119859.html).
Pocl is an open-source implementation of the OpenCL standard. This release
adds support for LLVM/Clang 4.0 and 5.0, experimental NVIDIA GPU support, and
passing OpenCL 1.2 conformance tests for some targets.


## On the mailing lists

* There's been further discussion about [enabling GlobalISel for AArch64 O0 by
default](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119822.html),
and whether to do so prior to the branching of LLVM 6.0. A patch to flip the
switch is [under review](https://reviews.llvm.org/D41362).

* Ariel Ben-Yehuda from the Rust team started a thread regarding a [pass
ordering problem encountered by
Rust](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119955.html).
Philip Reames
[suggests](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119970.html)
that using a frontend-specific pass order might be the pragmatic route
forwards (as is done for the Azul Java compiler).

* Petr Hosek started an RFC thread on [the default path for cross-compiled
runtimes](http://lists.llvm.org/pipermail/cfe-dev/2017-December/056442.html):
specifically libc++, libc++abi, and libunwind. The proposal aims to better
support cross-compilation, though as some of the respondents suggest
`--sysroot` may be sufficient.

* "xoviat" started a discussion on [changes to the Clang driver needed for the
flang Fortran
frontend](http://lists.llvm.org/pipermail/cfe-dev/2017-December/056432.html).
Hal Finkel
[suggests](http://lists.llvm.org/pipermail/cfe-dev/2017-December/056456.html)
that as much of the Clang driver code as possible should be reused.


## LLVM commits

* The hot path of llvm-symbolizer has been rewritten for higher performance.
With the new implementation, llvm-symbolizer is over 2x faster for symbolizing
backtraces from LLVM unit-tests. [r321345](http://reviews.llvm.org/rL321345).

* Upstreaming of MC layer patches for AArch64 SVE is continuing, with support
for parsing SVE predicate registers and the ZIP1/ZIP2 instructions.
[r320970](http://reviews.llvm.org/rL320970),
[r320973](http://reviews.llvm.org/rL320973).

* The generated MatchTable used for GlobalISel is now more efficient.
[r321017](http://reviews.llvm.org/rL321017).

* MemCpyOptimizer can now optimize across basic blocks.
[r321138](http://reviews.llvm.org/rL321138).


## Clang commits

* Clang (re)gained ARMv8.2-A FP16 vector intrinsics.
[r321294](http://reviews.llvm.org/rL321294).

* The Clang ASTDumper now supports a 'printing policy', allowing the output
formatting to be specialised for C++.
[r321310](http://reviews.llvm.org/rL321310).


## Other project commits

* LLD gained support for optimising Arm PLT sequences.
[r320987](http://reviews.llvm.org/rL320987).

* The LLVM test suite build system gained the CPU architecture detection
capabilities. [r321143](http://reviews.llvm.org/rL321143).


## Review corner

The LLVM Weekly review corner serves to highlight patches that are stuck
waiting awaiting review, or work from first-time contributors. See
[here](http://llvmweekly.org/reviewcorner) for more information and how to
submit you work for inclusion. Of course the hope is that highlighting these
patches will enable LLVM Weekly readers will step up and help to get them
merged. I'll be reporting back each week on any activity generated on these
patches, as well as sharing a new batch. If you want your patch included you
must submit it via the linked form.

* "Syndicate common code between CallInst and InvokeInst in a shared template
base class. No functional change expected, but much less redundant code to
support.". [D40727](https://reviews.llvm.org/D40727), patch by
"serge-sans-paille".


More information about the llvm-dev mailing list