[llvm-dev] LLVM Weekly - #170, Apr 3rd 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 3 02:44:55 PDT 2017


LLVM Weekly - #170, Apr 3rd 2017
================================

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

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

Jeremy Bennett of Embecosm has written up a helpful list of [highlights of
EuroLLVM 2017](http://www.embecosm.com/2017/03/29/eurollvm-2017/).

Diana Picus and the other organisers of the Stockholm LLVM social are
[polling](https://www.meetup.com/LLVM-Clang-Sweden-socials/polls/1244591/) to
determine people's preferences for the date of the next meetup.


## On the mailing lists

* Diana Picus has posted a [follow-up to the GlobalISel BoF at
EuroLLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111683.html)
including a number of useful links.

* Quentin Colombet is [looking for help ins testing GlobalISel on
AArch64](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111586.html). He
reports they are close to being able to enable GlobalISel at O0 by default on
that platform.

* Tom Stellard has [proposed a 4.0.1 release
schedule](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111530.html) and
is looking for feedback on improving the process. For instance, longer term
support for stable releases, automated release testing, or automated merge
requests.

* Michael Kruse kicked off a long thread on the [llvm.lifetime.start and
llvm.lifetime.end
intrinsics](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111551.html).
I think a reasonable summary of the thread is that these intrinsics are often
confusing to people and needs someone to invest the time in proposing and
documenting new semantics for a replacement.

* Marina Yatsina has revived the issue of [supporting 'asm
goto'](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111546.html).
Respondents to the thread are unsure if the cost of supporting asm goto is
worth the benefit.


## LLVM commits

* A large reduction in memory consumption for LTO has been achieved. As
explained in the commit message, the newly added in-memory symbol table data
structures reduce peak memory consumption for an incremental ThinLTO Chromium
link on Linux from 5.4GB to 2.8GB. The improvement is even greater for COFF.
[r299168](http://reviews.llvm.org/rL299168).

* A large commit has landed improving support for the WebAssembly binary
format. There's now also support for WebAssembly relocation and linking
metadata. [r299101](http://reviews.llvm.org/rL299101),
[r299141](http://reviews.llvm.org/rL299141).

* A document has been added which walks through an example of how to use XRay
to debug latency issues. [r299133](http://reviews.llvm.org/rL299133).

* Support has been added for predicate implication in ScalarEvolution. This
allows implications to be proven based on expression predicates, e.g.
`if x > 2 then x/2 > 0`. [r299205](http://reviews.llvm.org/rL299205).

* The machine scheduler has been further improved for in-order processors.
Schedulers can now specify instructions that cannot be issued with any other
instructions. [r298885](http://reviews.llvm.org/rL298885).

* -fno-builtin is now supported with LTO.
[r298936](http://reviews.llvm.org/rL298936).

* The GlobalISel SelectionDAG importer has been refactored to use tree
walking. [r299001](http://reviews.llvm.org/rL299001).

* The FastISel stat counters (e.g. NumFastISelFailMul) have been removed and
replaced with optimisation remarks.
[r299093](http://reviews.llvm.org/rL299093).

* The DAGCombiner gained initial support for the 'contract' fast-math flag.
[r299096](http://reviews.llvm.org/rL299096).


## Clang commits

* Support has been added for a `clang::suppress` attribute, which is intended
to be used for suppressing warnings from the C++ Core Guidelines.
[r298880](http://reviews.llvm.org/rL298880).

* Clang gained support for the `-fxray-{always,never]-instrument=` flags.
[r299041](http://reviews.llvm.org/rL299041).


## Other project commits

* LLDB can now trace simple applications on NetBSD.
[r298953](http://reviews.llvm.org/rL298953).

* ThreadSanitizer gained new mutex annotations.
[r298809](http://reviews.llvm.org/rL298809).

* LLD now gives a prettier and more useful error message for duplicate
symbols. [r299280](http://reviews.llvm.org/rL299280).

* LLDB gained basic OpenBSD support, enough to analyze core dumps for 9386,
amd64, arm, and arm64. [r298810](http://reviews.llvm.org/rL298810).


More information about the llvm-dev mailing list