[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

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
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

* Michael Kruse kicked off a long thread on the [llvm.lifetime.start and
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
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.

* 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),

* 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.

* 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.

* The DAGCombiner gained initial support for the 'contract' fast-math flag.

## 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.

* Clang gained support for the `-fxray-{always,never]-instrument=` flags.

## Other project commits

* LLDB can now trace simple applications on NetBSD.

* ThreadSanitizer gained new mutex annotations.

* 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