[llvm-dev] LLVM Weekly - #87, Aug 31st 2015

Alex Bradbury via llvm-dev
Mon, 31 Aug 2015 12:01:22 -0000

LLVM Weekly - #87, Aug 31st 2015
===============================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/87>.

Welcome to the eighty-seventh 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.

It's a bank holiday weekend here in the UK, so apologies that you're
reading
this a few hours later than usual. As a quick reminder, if you're able to be
in Geneva for the 9th-11th October then you should definitely [come along to
ORConf](http://www.lowrisc.org/blog/2015/08/lowrisc-at-orconf-2015/).


## News and articles from around the web

At the time of writing, LLVM 3.7.0 has not yet seen its official release, [but
it has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089761.html). The
final release should be out within the next day or so. Congratulations to
everyone involved.

The deadline for submissions to the LLVM in HPC workshop has been [extended to
Friday, September
4th](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089572.html).

Save the date! The next Cambridge LLVM Social will be [on Wednesday 30th
September](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089650.html).


## On the mailing lists

* Jingyue Wu has shared a [design doc on NVPTX memory space
inference](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089845.html)
and on [straight-line scalar
optimisations](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089574.html).

* An RFC from Swaroop Sridhar on [extending alloca to allow the specification
of the address space of the
allocation](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089706.html)
has resulted in a lot of discussion and is well worth a read for those
interested in the intricacies of supporting GC in LLVM. Or particular interest
is this [design doc from Philip
Reames](https://docs.google.com/document/d/1H5am1PyY8n8hc1hIAisDQMgbZDmMgnjU8wdN25YqMbQ/edit)
on the interaction of stack-based allocation and GC in LLVM. See also this
summary from Joseph Tremoulet of [his understanding of how LLILC is hoping to
use address
spaces](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089843.html).

* There's been some discussion on [flaky
buildbots](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089652.html).
Renato [details his concerns with simply ignoring these
bots](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089657.html). Some
of the issues with the bots in question [may be due to the use of incremental
builds](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089753.html).


## LLVM commits

* The 'kaleidoscope' tutorial has seen a major update. Now, rather than
introducing MCJIT it describes how to use ORC, building a custom JIT called
KaleidoscopeJIT. [r246002](http://reviews.llvm.org/rL246002).

* WebAssembly backend implementation work has been continuing over the past
few weeks. The individual commits tend to be small and focused (as good
commits should be). I mainly wanted to include a mention to highlight how work
is ongoing.
e.g. this recent commit added support for emitting simple call s-expressions.
[r245986](http://reviews.llvm.org/rL245986).

* The documentation on statepoints now has more to say about base pointers and
related assumptions and optimisations.
[r246103](http://reviews.llvm.org/rL246103).

* Constant propagation is enabled for more single precisions math functions,
such as acosf, powf, logf. [r246194](http://reviews.llvm.org/rL246194).

* The function `llvm::splitCodeGen` has been introduced in order to support
the implementation of parallel LTO code generation. It uses SplitModule to
split the module in to linkable partitions that are distributed among threads
to be codegenned. [r246236](http://reviews.llvm.org/rL246236).

* There's been another change to DebugInfo. DISubprogram definitions must
now
be marked as distinct. The commit message includes a suggested script for
updating IR. [r246327](http://reviews.llvm.org/rL246327).

* Chandler has been doing some refactoring of the ARM target parsing code with
the hope of making it more efficient. He's reduced the cases where the code
is
called, which has a noticeable effect on some LLVM timings (e.g. check-llvm
with non-optimized builds is 15 seconds faster).
[r246370](http://reviews.llvm.org/rL246370),
[r246378](http://reviews.llvm.org/rL246378).


## Clang commits

* A NullabilityChecker has been introduced, which is designed to catch a
number of nullability-related issues.
[r246105](http://reviews.llvm.org/rL246105).


## Other project commits

* ThreadSanitizer is now enabled for AArch64 with 42-bit virtual addressing on
Linux. [r246330](http://reviews.llvm.org/rL246330).

* libcxx now contains release goals for 3.8 in its TODO.txt. This includes the
Filesystem TS and the asynchronous I/O TS.
[r245864](http://reviews.llvm.org/rL245864).

* LLD's ELF linker gained a basic AMDGPU ReaderWriter that enables it to
emit
binaries that can be consumed by the HSA runtime.
[r246155](http://reviews.llvm.org/rL246155).

* LLD's COFF linker gained support for parallel LTO code generation.
[r246342](http://reviews.llvm.org/rL246342).

* LLDB now supports hardware watchpoints on ARM.
[r245961](http://reviews.llvm.org/rL245961).

* The concept of 'language plugins' was introduced to LLDB. These will
provide
language-specific data formatters or expression evaluation.
[r246212](http://reviews.llvm.org/rL246212).