[LLVMdev] LLVM Weekly - #77, Jun 22nd 2015

Alex Bradbury asb at asbradbury.org
Mon Jun 22 04:49:24 PDT 2015


LLVM Weekly - #77, Jun 22nd 2015
================================

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

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

I'll be in California next week for the [second RISC-V
workshop](http://riscv.org/workshop-jun2015.html). Me and my colleague Wei
will both be giving talks about recent [lowRISC](http://www.lowrisc.org/)
progress. Say hi if you're going to be there. I might have some spare time
towards the end of the week too if anyone wants to meet up.


## News and articles from around the web

[WebAssembly](https://github.com/WebAssembly/design) has been announced. It is
a new collaboration between browser vendors to define a new binary executable
format that can be used as a compilation target. A good summary is available
[here on the emscripten mailing
list](https://groups.google.com/forum/#!topic/emscripten-discuss/k-egXO7AkJY).

Tilmann Scheller has written up a
[pair](http://blogs.s-osg.org/an-introduction-to-accelerating-your-build-with-clang/)
[of](http://blogs.s-osg.org/a-conclusion-to-accelerating-your-build-with-clang/)
blog posts about improving build times of Clang. He steps through a wide range
of generic approaches (using Ninja, ccache, the gold linker, LTO+PGO in the
host compiler etc etc) and some specific to Clang/LLVM.

The [Cambridge LLVM
Social](http://article.gmane.org/gmane.comp.compilers.clang.devel/43303) will
be taking place on Wed 24th June, 7.30pm at the Blue.


## On the mailing lists

* Dan Gohman has posted an RFC for the [inclusion of a WebAssembly backend in
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86952). It
seems like everyone is in favour of the proposed approach.

* Yaxun Li has posted a [revised RFC on adding a SPIR-V target to
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86950). There
still seems to be some push-back on the proposed approach. Chandler Carruth
[makes an
argument](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86966) that
SPIR-V should make use of the existing SelectionDAG legalization layer.

* Igor Laevsky is seeking more feedback on adding an [attribute to mark that a
function only accesses memory through its
arguments](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87017).
Philip Reames point out in the thread that this isn't a new concept to LLVM,
except right now [such an attribute can only be specified on
intrinsics](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87070).

* Philip Reames is looking for feedback on his plan to implement
[profile-guided
inlining](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86984).

* Diego Novillo has posted an RFC to enable the [-fprofile-generate and
-fprofile-use Clang
flags](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86970).
Unsurprisingly, people are in favour of supporting these flags for GCC
compatibility.


## LLVM commits

* Some initial support for 'fault maps' and a `FAULTING_LOAD_OP`, intended for
use in a managed language runtime, has been added. The new ImplicitNullChecks
pass will fold null checks into nearby memory operations.
[r239740](http://reviews.llvm.org/rL239740),
[r239743](http://reviews.llvm.org/rL239743).

* The [SafeStack](http://dslab.epfl.ch/proj/cpi/) pass to protect against
stack-based memory corruption errors has been added.
[r239761](http://reviews.llvm.org/rL239761).

* All temporary symbols are now unnamed. This saves a small amount of memory.
[r240130](http://reviews.llvm.org/rL240130).

* There's been some enhancement to the heuristics for switch lowering.
[r240224](http://reviews.llvm.org/rL240224).


## Clang commits

* The `-fsanitize-trap=` flag has been introduced, which will be used to
control if the given sanitizer traps upon detecting an error.
[r240105](http://reviews.llvm.org/rL240105).

* Appropriate bitsets for use by LLVM's control flow integrity implementation
can now be emitted for the Microsoft ABI.
[r240117](http://reviews.llvm.org/rL240117).

* Kernel AddressSanitizer now has basic support.
[r240131](http://reviews.llvm.org/rL240131).

* Clang learned to recognise type nullability specifiers.
[r240146](http://reviews.llvm.org/rL240146).


## Other project commits

* LLDB learnt how to use hardware watchpoints for MIPS.
[r239991](http://reviews.llvm.org/rL239991).

* Compression support has been added to LLDB's implementation of the
gdb-remote protocol. [r240066](http://reviews.llvm.org/rL240066).



More information about the llvm-dev mailing list