Alex Bradbury via llvm-dev
2017-Apr-03 09:44 UTC
[llvm-dev] LLVM Weekly - #170, Apr 3rd 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).