[llvm-dev] LLVM Weekly - #99, Nov 23rd 2015

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 23 03:57:04 PST 2015


LLVM Weekly - #99, Nov 23rd 2015
================================

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

Welcome to the ninety-ninth 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

LLVM/Clang 3.7.1-rc2 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092684.html).
As always, help testing is appreciated.

Clasp 0.4 [has been
released](https://drmeister.wordpress.com/2015/11/20/clasp-0-4-joining-common-lisp-and-cxx/).
Clasp is a new Common Lisp implementation that uses LLVM as a compiler backend
and aims to offer seamless C++ interoperation.


## On the mailing lists

* Quentin Colombet has shared a [plan for moving forwards with global
instruction
selection](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092566.html),
as proposed in his [Dev Meeting
talk](https://www.youtube.com/watch?v=F6GGbYtae3g). There's a lot of
enthusiasm for this work, though some questions about how in practical terms
the development should proceed and be tested. There is also hope that this new
work will [allow the distinction between integers and pointers to be preserved
through to
MachineInstructions](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092616.html).
This is useful both [for
GC](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092612.html) and
for [architectures where pointers aren't
integers](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092609.html).

* Eric Christopher has shared a [summary of discussions from the recent Birds
of a Feather discussion on the LLVM C
API](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092623.html). This
includes proposed policy for stability guarantees and extending the APIs.

* Ed Maste has been experimenting with [linking the FreeBSD base system with
lld](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092572.html). With
a few extra patches he's managed to link the whole FreeBSD userland.

* Artem Dergachev has shared some [minutes from a call about summary-based
inter-procedural
analysis](http://lists.llvm.org/pipermail/cfe-dev/2015-November/046136.html)
for Clang's static analyser.

* Steve King is [concerned about recent code size regressions with
Os](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092611.html). The
issue was
[bisected](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092675.html)
to recent changes to the heuristic for merging conditional stores. James
Molloy, who authored the patch in question suggests [more investigation is
necessary](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092679.html).

* Rail Shafigulin is working on a custom VLIW architecture and has had a
[number](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092665.html)
[of](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092467.html)
[questions](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092531.html)
[about](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092518.html)
[the](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092480.html)
DFAPacketizer. Krzysztof Parzyszek has provided useful answers each time -
well worth a read of these threads if you're doing any work with VLIW or want
to learn more about DFAPacketizer.

* Nick Johnson pointed out an [interesting potential bug in the LiveVariables
pass](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092526.html).
There haven't been any responses yet, but he has followed up with a [patch to
fix the issue](http://reviews.llvm.org/D14875).

* Amjad Aboud has posted a [detailed RFC on ensuring LLVM debug info supports
all lexically scoped
entities](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092551.html).
He includes a simple example which shows where block-local typedefs or class
definitions can lead to problems.


## LLVM commits

* Initial support for value profiling landed.
[r253484](http://reviews.llvm.org/rL253484).

* It is now possible to use the `-force-attribute` command-line option for
specifying a function attribute for a particular function (e.g. norecurse,
noinline etc). This should be very useful for testing.
[r253550](http://reviews.llvm.org/rL253550).

* The WebAssembly backend gained initial prototype passes for register
coloring (on its virtual registers) and register stackifying.
[r253217](http://reviews.llvm.org/rL253217),
[r253465](http://reviews.llvm.org/rL253465).

* The built-in assembler now treats fatal errors as non-fatal in order to
report all errors in a file rather than just the first one encountered.
[r253328](http://reviews.llvm.org/rL253328).

* As [discussed on the mailing list last
week](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092238.html),
lane masks are now always precise.
[r253279](http://reviews.llvm.org/rL253279).

* Support for prelinking has been dropped. See the commit message for a full
rationale. [r253280](http://reviews.llvm.org/rL253280).

* llvm-lto can now be used to emit assembly rather than object code.
[r253622](http://reviews.llvm.org/rL253622),
[r253624](http://reviews.llvm.org/rL253624).


## Clang commits

* Clang should now be usable for CUDA compilation out of the box.
[r253389](http://reviews.llvm.org/rL253389).

* When giving the `-mcpu/-march` options to Clang targeting ARM, you can now
specify `+feature`. [r253471](http://reviews.llvm.org/rL253471).


## Other project commits

* Compiler-rt gained support for value profiling.
[r253483](http://reviews.llvm.org/rL253483).

* The 'new ELF linker' is now the default ELF linker in lld.
[r253318](http://reviews.llvm.org/rL253318).

* The LLVM test suite gained support for running SPEC2000int and
SPEC2006int+fp with PGO and reference inputs.
[r253362](http://reviews.llvm.org/rL253362).


More information about the llvm-dev mailing list