[LLVMdev] LLVM Weekly - #62, Mar 9th 2015

Alex Bradbury asb at asbradbury.org
Mon Mar 9 03:32:19 PDT 2015

LLVM Weekly - #62, Mar 9th 2015

If you prefer, you can read a HTML version of this email at

Welcome to the sixth-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

LLVM is taking part in [Google Summer of
Code](https://developers.google.com/open-source/soc/) as a mentoring
organisation. Students can earn a $5500 stipend by working on open source
projects over the summer. See
for the list of mentoring organisations advertising LLVM-related projects.
Please do help spread the word, applications open on Monday the 16th of March.
I am biased, but I'd like to draw particular attention to the wide variety of
[lowRISC GSoC ideas](http://www.lowrisc.org/docs/gsoc-2015-ideas/), including
a project to use tagged memory to provide protection against control-flow

Ravi, a programming language based on Lua 5.3 has been
It features JIT compilation using LLVM, though in the current [development
version](https://github.com/dibyendumajumdar/ravi) only a fraction of the Lua
bytecodes are JIT-compiled.

## On the mailing lists

* Douglas Gregor has posted an RFC on [adding nullability
The mailing list post justifies the reason for adding new qualifiers despite
the fact `__attribute__((nonnull))` exists.

* Jonas Paulsson queries the [current status of spilling support in the PBQP
allocator](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83077). As
Arnaud confirms, there's still [work to be
done](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83079) to
improve things.

* Chris Bieneman has posted an [update on the CMake build system's ability to

* Tom Stellard has shared his proposed [release schedule for 3.5.2 and
3.6.1](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83016). This
would see 3.5.2 released on the 25th of March and 3.6.1 on the 13th of May.

## LLVM commits

* An initial implementation of a loop interchange pass has landed. This will
interchange loops to provide a more cache-friendly memory access.

* A high-level support library for the new pass manager has been added.

* The LLVM performance tips document has seen some new additions.

* DenseMapIterators will now fail fast when compiled in debug mode.

* LowerBitSets will now use byte arrays rather than bit sets to represent
in-memory bit sets, which can be looked up with only a few instructions.

* Another large portion of the DebugInfo changes has landed.

* A new optimisation for AddressSanitizer has been added that reduces the
amount of instrumentation needed, eliminating it when accessing stack
variables that can be proven to be inbounds.

* llvm.frameallocate has been replaced with llvm.frameescape.

## Clang commits

* When the `-pedantic` flag is given, clang will warn when a format string
uses `%p` with non-`void*` args. [r231211](http://reviews.llvm.org/rL231211).

* Work on MS ABI support continues. Throwing a C++ exception under the MS ABI
is now supported. [r231328](http://reviews.llvm.org/rL231328).

## Other project commits

* The lld resolver has had a significant performance optimisation. The commit
message indicates linking chrome.dll now takes 30 seconds down from 70
seconds. [r231434](http://reviews.llvm.org/rL231434).

* The static binary size of lldb-server has been reduced due to a reduction in
the number of initialised components.

More information about the llvm-dev mailing list