[llvm-dev] LLVM Weekly - #172, Apr 17th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 17 06:24:49 PDT 2017


LLVM Weekly - #172, Apr 17th 2017
=================================

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

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

John Regehr has written up a [blog post](http://blog.regehr.org/archives/1496)
to accompany an upcoming PLDI 2017 paper on undefined behaviour in LLVM.

Iota is an intriguing project that [converts LLVM bitcode to Common
Lisp](https://github.com/froggey/Iota).

The next Paris LLVM Social will be held [on 18th
April](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112120.html).
Please don't forget to register if you'd like to attend.

Portable Computing Language (pocl) version 0.14 [has been
released](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111910.html).
This adds support for LLVM/Clang 3.9+4.0, a new binary format, and initial
support for out-of-order command queue task scheduling.


## On the mailing lists

* Mikhail Zolotukhin has contributed an [update on LLVM performance vs
January](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112026.html). The
good news is that this time LLVM has gotten faster, about 10% compile-time
improvement on CTMark vs January. Mikhail has provided a list of potential
future optimisations.

* Sanjoy Das has a [useful
explanation](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112089.html)
for some potentially confusing alias analysis results.

* Piotr Padlewski has written up the [current status of
devirtualization](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112109.html)
in LLVM and Clang.

* Andrei Grischenko reports he is [starting to work towards upstreaming a Nios
II LLVM
backend](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112033.html).

* Sanjoy Das reports on a [potential semantic issue with marking @malloc and
@realloc and
noalias](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112009.html).

* Nick Johnson has updated his question from last week to details his [partial
solution for modelling long register
reservations](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111925.html).

* Krzysztof Parzyszek
[reports](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112004.html)
that his initial patchset to support parameterized (variable-sized) register
classes are now up for review.

* Marshall Clow has proposed a [plan for removing std::experimental
components](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111941.html)
that have now graduated to the normal std namespace.


## LLVM commits

* The LLVM project SVN repository hit 300k commits. Matt Arsenault had the
honour of producing the commit that marked this milestone "AMDGPU: Insert wait
at start of callee functions". [r300000](http://reviews.llvm.org/rL300000).

* Testing scheduling models (specifically latencies and throughput) has been
made much easier with the introduction of the `-print-schedule` flag to llc.
[r300311](http://reviews.llvm.org/rL300311).

* The address space for alloca can now be specified in a target's datalayout
string. [r299888](http://reviews.llvm.org/rL299888).

* MemorySSA has been moved to Analysis from Transforms/Utils.
[r299980](http://reviews.llvm.org/rL299980).

* The AMDGPU backend gained a new pass to insert wait instructions for memory
reads and writes. [r300023](http://reviews.llvm.org/rL300023).

* LLVM's Casting.h now supports `unique_ptr<>`.
[r300098](http://reviews.llvm.org/rL300098).

* Development of llbm-pdbdump has continued, with support added for
recursively dumping class layout. [r300258](http://reviews.llvm.org/rL300258).

* The documentation now describes how to simplify .mir tests.
[r300282](http://reviews.llvm.org/rL300282).


## Clang commits

* UBSan will now insert far fewer alignment checks on C++ object pointers than
before. [r300370](http://reviews.llvm.org/rL300370).

* The clang-format documentation now has more examples of the effect of the
various configuration options. [r299919](http://reviews.llvm.org/rL299919).

* To help aid the debugging of issues with codegen for modules, a new
`-gen-reproducer` command-line option was added.
[r300109](http://reviews.llvm.org/rL300109).


## Other project commits

* LeakSanitizer is now supported on ARM Linux.
[r299923](http://reviews.llvm.org/rL299923).

* The libcxx `uniqute_ptr` tests have been almost completely rewritten, and
the implementation of `unique_ptr` has also been overhauled.
[r300388](http://reviews.llvm.org/rL300388),
[r300406](http://reviews.llvm.org/rL300406).

* LLDB's debugserver can now be unit-tested.
[r300111](http://reviews.llvm.org/rL300111).


More information about the llvm-dev mailing list