[LLVMdev] LLVM Weekly - #34, Aug 25th 2014

Alex Bradbury asb at asbradbury.org
Mon Aug 25 07:39:01 PDT 2014


LLVM Weekly - #34, Aug 25th 2014
================================

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

Welcome to the thirty-fourth 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

The third release candidate for LLVM/Clang 3.5 is [now
available](http://article.gmane.org/gmane.comp.compilers.clang.devel/38553).
As ever, test it on your codebases and report any regressions.

Adrian Sampson has written a [blog post about
Quala](https://homes.cs.washington.edu/~asampson/blog/quala.html), a tool for
implementing pluggable type systems for C/C++ using Clang. The example type
systems are a system allowing nullable and non-nullable pointers as well as an
information flow tracking system. In the future, Adrian wants to connect type
annotations to LLVM IR.

C++14 is [now done](http://isocpp.org/blog/2014/08/we-have-cpp14). A quick
look at the
[Clang C++14 implementation status](http://clang.llvm.org/cxx_status.html#cxx14)
confirms that Clang support is in pretty good shape.

Santiago Fernandez has been an intern on the .NET team at Microsoft this
summer. In this MSDN Channel9 posting, Beth Massi [interviews him about his
work on using LLVM in the .NET native code
generator](http://channel9.msdn.com/Blogs/funkyonex/Fun-with-the-Interns-Santiago-Fernandez-on-LLVM-Based-Optimizer-for-MSIL).

The next Cambridge (UK) LLVM social [will be held on Weds 27th August,
7.30pm](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75952).


## On the mailing lists

* There is a
[proposal](http://article.gmane.org/gmane.comp.debugging.lldb.devel/4887) to
move the minimum supported Visual Studio version for compiling LLVM/Clang up
to 2013 from 2012. LLVM/Clang 3.6 would be the first stable release with this
requirement assuming there are no objections. With the introduction of C++11
features into the LLVM/Clang codebases, MSVC2012 support is troublesome due to
a number of unsupported constructs. If this change would effect you
negatively, now is the time to pipe up.

* Richard Carback
[reports](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75943) that
two of his interns at Draper Laboratories have been working on resurrecting
the LLVM C Backend, with [source on
Github](https://github.com/draperlaboratory/llvm-cbe). If this is to make it
back into the mainstream repository, somebody will have to volunteer to
maintain it which [Richard has kindly
done](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75974).

* Diego Novillo has posted an [update on his plans for supporting profile data
from Perf in
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/76135). He is
now planning on keeping conversion to Perf's format out-of-tree. The current
LLVM representation can be used as an exchange format, but Diego will be
submitting a more compact representation for internal use.

* Chris Bieneman has posted on RFC on [removing static initializers for
command line
options](http://article.gmane.org/gmane.comp.compilers.llvm.devel/76135). This
would make it easier for LLVM clients like WebKit and Mesa. There is a lot of
discussion about this proposal that I'm afraid I don't have time to summarise.


## LLVM commits

* X86 Haswell gained a detailed scheduling model.
[r215094](http://reviews.llvm.org/rL215094),
[r215905](http://reviews.llvm.org/rL215095), and more.

* LLVM's code coverage mapping format gained extensive documentation.
[r215990](http://reviews.llvm.org/rL215990).

* FastISel for AArch64 saw yet more changes, this time optimisations for
ADDS/SUBS emission and support for variable shifts.
[r216033](http://reviews.llvm.org/rL216033),
[r216242](http://reviews.llvm.org/rL216242).

* The MIPS assembler gained support for `.set arch=x`.
[r215978](http://reviews.llvm.org/rL215978).

* The PeepholeOptimizer has been improved to take advantage of the recently
added isRegSequence, isExtractSubreg, and isInsertSubreg properties.
[r216088](http://reviews.llvm.org/rL216088),
[r216136](http://reviews.llvm.org/rL216136),
[r216144](http://reviews.llvm.org/rL216144).

* A thread-model option has been added along with the 'single' option for
lowering atomics on baremetal and single-threaded systems.
[r216182](http://reviews.llvm.org/rL216182).

* The gold plugin has been rewritten in order to fix
[bug 19901](http://llvm.org/bugs/show_bug.cgi?id=19901).
[r216215](http://reviews.llvm.org/rL216215).


## Clang commits

* C++1y is now called C++14. [r215982](http://reviews.llvm.org/rL215982).

* CGcall (code generation for function call) has been refactored.
[r216251](http://reviews.llvm.org/rL216251).


## Other project commits

* The libcxx build and test system gained support for `LLCM_USE_SANITIZER`.
[r215872](http://reviews.llvm.org/rL215872).

* libcxxabi/libunwind now supports baremetal ARM.
[r216202](http://reviews.llvm.org/rL216202).



More information about the llvm-dev mailing list