[llvm-dev] LLVM Weekly - #128, June 13th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 13 05:03:46 PDT 2016


LLVM Weekly - #128, June 13th 2016
==================================

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

Welcome to the one hundred and twenty-eighth 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

LDC, a compiler for the D programming language with an LLVM backends has a
[major release with
1.0.0](http://forum.dlang.org/post/lwsnqbravjqbnnryvjkx@forum.dlang.org). The
big news with this release is that the frontend is now completely written in
D. Congratulations to everyone involved in this release. See [the D
website](http://dlang.org/) for more information about the D programming
language.

The minor release LLVM 3.8.1-rc1 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100787.html).


## On the mailing lists

* Gor Nishanov has shared an RFC on [adding support for coroutines to LLVM
IR](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100838.html).

* Hans Wennborg has shared the [release plan for the 3.9
release](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100913.html). This
plan would see the release branch created on the 18th of July and the final
shipping on the 22nd of August. Hans wonders whether, as with 2.9 and 1.9 the
base version number will be incremented (making release 4.0). He'd also like
to make LLVM's current release cadence "official" on the website and publicly
list people who are currently committed to testing releases.

* Chris Bieneman is [proposing some changes to the LLVM directory
structure](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100859.html).
Specifically, adding a 'runtimes' subdirectory and removing the 'projects'
subdirectory. Chris has helpfully [summarised some of the key
feedback](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100904.html) and
proposed how to move forwards.

* Sebastian Pop is trying to get a feel for [how many LLVM developers are
attending HPCA/PPoPP/CGO in February
2017](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100942.html) in order
to estimate potential numbers for an LLVM gathering.

* In answer to a question, Krzysztof Parzyszek explains [how to use glue
values](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100885.html).

* Philip Reames provides a [handy
explanation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100781.html)
of what is means for allocations to "escape", be "captured" or be "thread
local".

* Simon Brand is seeking feedback on how to [enhance LLDB to better support
HSA
applications](http://lists.llvm.org/pipermail/lldb-dev/2016-June/010453.html).

* Simon Cook describes how he has [set up pseudo-registers representing
register locations on a very register-poor
architecture](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100899.html).

* Vikram TV has shared a proposal on [adding a pass that calculates loop cost
based on cache
data](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100789.html). The
prototype patch analyses references to determine which would be in the same
cache line. This knowledge can then be used to calculate a more accurate loop
cost and. A drawback of the current implementation is it uses a static cache
line size.

* Sean Silva has kicked off a thread about the [intended behaviour of the
CGSCC pass
manager](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100792.html). This
manages passes over strongly connected components of the callgraph.


## LLVM commits

* Some of the work from the GSoC project on interprocedural register
allocation has started to land. A RegUsageInfoCollector analysis was added
that collects the list of clobbered registers for a MachineFunction. A new
transformation pass was committed which scans the body of a function to find
calls and updates the register mask with the one saved by
RegUsageInfoCollector. [r272403](http://reviews.llvm.org/rL272403),
[r272414](http://reviews.llvm.org/rL272414).

* Chapter 2 of the tutorial on building a JIT with ORC has been fleshed out
with a rough draft of the text. [r271885](http://reviews.llvm.org/rL271885).

* The host CPU detection code for x86 has seen a large refactoring.
[r271921](http://reviews.llvm.org/rL271921).

* More documentation has been added about LLVM's CodeView support.
[r272057](http://reviews.llvm.org/rL272057).

* llvm-symbolizer will now be searched for in the same directory as the LLVM
or Clang tool being executed. This increases the chance of being able to print
pretty backtraces for systems where LLVM tools aren't installed in the $PATH.
[r272232](http://reviews.llvm.org/rL272232).


## Clang commits

* Clang analyzer gained a checker for correct usage of the MPI API in C and
C++. [r271907](http://reviews.llvm.org/rL271907).

* Documentation was added on avoiding static initializers when using
profiling. [r272067](http://reviews.llvm.org/rL272067),
[r272214](http://reviews.llvm.org/rL272214).


## Other project commits

* A hardened allocator, 'scudo' was added to compiler-rt. It attempts to
mitigate some common heap-based vulnerabilities.
[r271968](http://reviews.llvm.org/rL271968).

* Initial support for ARM has landed in LLD. This is just enough to link a
hello world on ARM Linux. [r271993](http://reviews.llvm.org/rL271993).

* Initial support for AddressSanitizer on Win64 was added.
[r271915](http://reviews.llvm.org/rL271915).


More information about the llvm-dev mailing list