LLVM Weekly - #39, Sep 29th 2014
===============================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/39>.
Welcome to the thirty-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
An implementation of Common Lisp with an LLVM backend, Clasp, [has been
announced](http://drmeister.wordpress.com/2014/09/18/announcing-clasp/).
There's a lot of work to be done on performance, but development is [very
active on Github](https://github.com/drmeister/clasp).
A backend for the educational 'y86' instruction set architecture has
[been
started](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77236). The
source is [on Github](https://github.com/ltcmelo/llvm).
A new binary snopshot of the ELLCC cross compilation toolchain is [now
available](http://article.gmane.org/gmane.comp.compilers.clang.devel/39063).
Pre-compiled binaries are available for ARM, MIPS, PPC, and x86. All tarballs
contain header files and runtime libraries for all targets to allow you to
build for any supported target (sadly this is not true for the ARM ELLCC due
to the ecc binary becoming too large).
## On the mailing lists
* Bill Schmidt started off an interesting discussion about [whether sqrt of a
negative number should be optimised to 0 or
NaN](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77238). The
xalanc benchmark in SPEC CPU2006 relies on it returning a NaN apparently.
* Chandler Carruth has posted an RFC proposing that [LLVM should require a
working C++11 thread, mutex, and
atomic](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77148) with
the intention being that support for MinGW and win32threads is dropped.
Switching to MinGW-win64 seems like a feasible path forwards.
* Wondering how to use noalias and alias.scope metadata notations? Hal Finkel
[has the
answer](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77174) for
you.
* Should the LLVM project standardise on a [commit message
policy](http://article.gmane.org/gmane.comp.compilers.clang.devel/39017)?
Renato Golin suggests trying to keep the first line short followed by some
number of 80 character paragraphs. It seems there's massive agreement on
this
sort of guidance.
* Richard Pennington has posted a [size comparison of bzip2 compiled for
different
architectures](http://article.gmane.org/gmane.comp.compilers.clang.devel/39084).
All executables are statically linked with musl and compiler-rt.
## LLVM commits
* Segmented stacks support for the x32 ABI has been fixed.
[r218427](http://reviews.llvm.org/rL218427).
* Robin Morisset's work on optimisation of atomics continues.
AtomicExpandPass
now inserts fences itself rather than SelectionDAGBuilder.
[r218329](http://reviews.llvm.org/rL218329).
* LLVM's libSupport gained a type-safe alternative to `llvm::format()`.
[r218463](http://reviews.llvm.org/rL218463).
* llvm-vtabledump learned how to dump RTTI structures for the MS ABI.
[r218498](http://reviews.llvm.org/rL218498).
## Clang commits
* The `assume_aligned` function attribute is now supported.
[r218500](http://reviews.llvm.org/rL218500).
* The thread safety analysis documentation has seen a hefty update.
[r218420](http://reviews.llvm.org/rL218420).
* MS compatibility is further improved with support for the `__super` scope
specifier. [r218484](http://reviews.llvm.org/rL218484).
## Other project commits
* ASan in compiler-rt gained the start of a debugging API.
[r218538](http://reviews.llvm.org/rL218538).
* LLDB gained the beginnings of an example Tk UI.
[r218279](http://reviews.llvm.org/rL218279).