[llvm-dev] LLVM Weekly - #171, Apr 10th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 10 04:29:11 PDT 2017


LLVM Weekly - #171, Apr 10th 2017
=================================

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

Welcome to the one hundred and seventy-first 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

A tech preview of Kotlin/Native has been
[released](https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/),
which of course uses LLVM for code generation. As described in the blog post,
no work has been done yet on performance optimisation.

The Haskell community are finding
[much improved link times with
LLD](https://www.reddit.com/r/haskell/comments/63y43y/liked_linking_3x_faster_with_gold_link_10x_faster/).

There will be an LLVM users and developers social meetup [on the 12th
April](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111830.html) in
Sydney, Australia. RSVP on the meetup page if you'd like to attend.

The upcoming Italy [LLVM
social](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111737.html) will
be held on the 21st April. Please register if you would like to attend.


## On the mailing lists

* Hal Finkel shared a summary of a [rough design for a type-based alias
analysis
sanitizer](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html).
Stephen Kell [shared his experience with a somewhat related
work](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111849.html), a tool
for detecting bad pointer casts.

* David Blaikie [started a discussion about the use of widescale automated
cleanups in the LLVM
codebase](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111868.html),
e.g. clang-tidy. Are these sort of patches welcome? Should the normal code
review process be used? Mehdi Amini has a [detailed
view](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111880.html).

* Kamil Rytarowski has shared an [update on LLDB/NetBSD
work](http://lists.llvm.org/pipermail/lldb-dev/2017-April/012178.html).

* Peter Smith has written an [RFC on supporting range thunks in
LLD](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111740.html).

* Kristof Beyls has performed some [initial analysis of cases where the
GlobalISel produces slower code than current
O0](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111812.html).

* Dean Michael Berris is [looking for feedback on custom event logging in
XRay](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111834.html). He
notes the same functionality might be useful in other situations.

* Discussion about support for 'asm goto' in LLVM/Clang has continued.
Chandler Carruth [pointed
out](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111748.html) that the
use cases of asm goto might be better supported with a new intrinsic.

* Peter Collingbourne is looking for feedback on his [RFC to add a string
table to the bitcode
format](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111732.html). He
then followed up with [benchmark results and patches for the three suggestions
explored in the
thread](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111828.html).

* Nick Johnson raised a good question about [modelling long register
reservations](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111721.html).
Unfortunately, it has no answers yet!


## LLVM commits

* GlobalISel gained support for nested instruction matching.
[r299430](http://reviews.llvm.org/rL299430).

* LLVM's ADT helpers now includes a generic breadth-first-search graph
iterator. [r299660](http://reviews.llvm.org/rL299660).

* ARM's ASM parser will now give better error messages when immediates are out
of range. [r299358](http://reviews.llvm.org/rL299358).

* MCAsmBackend::applyFixup now takes an MCContext argument which can be used
for error reporting. [r299529](http://reviews.llvm.org/rL299529).

* The AMDGPU sub-dword addressing peephole optimisations are now enabled by
default. [r299536](http://reviews.llvm.org/rL299536).

* lit has been modified to use process pools for test execution, which
improves test execution startup time particular on Windows.
[r299560](http://reviews.llvm.org/rL299560).


## Clang commits

* Clang's analyzer gained support for the Z3 theorem prover as a constraint
manager backend. [r299463](http://reviews.llvm.org/rL29463).

* A new `#pragma clang fp` was added to allow floating-point options to be
specified in a scoped manner. [r299470](http://reviews.llvm.org/rL29470).

* clangd gained code completion support.
[r299421](http://reviews.llvm.org/rL299421).


## Other project commits

* LLD's error message formatting for incompatible relocations has been
improved. [r299390](http://reviews.llvm.org/rL299390).

* Polly gained new 'performance monitor' functionality. The generated code is
instrumented and runtime information will be printed after program exit,
e.g.the number of cycles spent in SCoPs (static control parts). This gives an
indication of how much scope there is for exploiting polyhedral optimisations
in a program. [r299359](http://reviews.llvm.org/rL299359).

* LLDB gained a new C++ function name parser.
[r299721](http://reviews.llvm.org/rL299721).

* The compiler-rt builtins tests now pass on Windows.
[r299780](http://reviews.llvm.org/rL299780).


More information about the llvm-dev mailing list