[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