[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