[LLVMdev] LLVM Weekly - #36, Sep 8th 2014

Alex Bradbury asb at asbradbury.org
Mon Sep 8 07:48:42 PDT 2014


LLVM Weekly - #36, Sep 8th 2014
===============================

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

Welcome to the thirty-sixth 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 biggest news this week is of course undoubtedly the long-awaited [release
of LLVM/Clang
3.5](http://lists.cs.uiuc.edu/pipermail/llvm-announce/2014-September/000055.html).
See the [release notes](http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html)
for a full breakdown of what's changed.

[Rhine](https://github.com/artagnon/rhine), a Clojure-inspired Lisp with an
LLVM JIT backend has been released (or at least, I wasn't aware of it before).
There's plenty of discussion about it [over at
HN](https://news.ycombinator.com/item?id=8277410).

Intel have [released a new
version](http://article.gmane.org/gmane.comp.compilers.llvm.devel/76551) of
their [CilkPlus LLVM-basd compiler](http://cilkplus.github.io/). This releases
implements support for version 1.2 of Intel's Cilk Plus Language Extension
Specification.


## On the mailing lists

* Hal Finkel is [calling for
testers](http://article.gmane.org/gmane.comp.compilers.llvm.devel/76487) of
the new contrext-free language pointer aliasing analysis algorithm. As well as
some speedup, there are some benchmark slowdowns which sound worth of further
investigation.

* Richard Pennington is [seeking
feedback](http://article.gmane.org/gmane.comp.compilers.clang.devel/38774) on
his proposal for a cross compiler config file format for Clang. The initial
prototype spec is [described over at his
blog](http://ellcc.org/blog/?p=11877).

* Balaram Makam triggered an [interesting discussion on whether a particular
case of loop-invariant code motion can be considered
safe](http://article.gmane.org/gmane.comp.compilers.llvm.devel/76467).


## LLVM commits

* LLVM gained a new alias analysis implementation, the CFL (Context-free
language) alias analysis algorithm. When bootstrapping LLVM, this pass gives
7-8% NoAlias responses to queries that TBAA and BasicAA couldn't answer.
[r216970](http://reviews.llvm.org/rL216970).

* The old JIT has finally been removed.
[r216982](http://reviews.llvm.org/rL216982).

* FastISel gained the option to skip target-independent instruction selection.
This is now used by AARch64, which uses target-dependent instruction selection
only. [r216947](http://reviews.llvm.org/rL216947),
[r216955](http://reviews.llvm.org/rL216955).

* MCAnalysis has been removed. The code was judged to be buggy and poorly
tested. [r216983](http://reviews.llvm.org/rL216983).

* AArch64 gained a pass to try to remove redundant comparison operations.
[r217220](http://reviews.llvm.org/rL217220).

* FastISel has seen some spring cleaning.
[r217060](http://reviews.llvm.org/rL217060).


## Clang commits

* `VariantMatcher::MatcherOps` was modified to reduce the amount of generated
code. This reduces object size and compilation time.
[r217152](http://reviews.llvm.org/rL217152).

* Support for the 'w' and 'h' length modifiers in MS format strings was added.
[r217195](http://reviews.llvm.org/rL217195),
[r217196](http://reviews.llvm.org/rL217196).

* A new warning is born. `-Wunused-local-typedef` will warn about unused local
typedefs. [r217298](http://reviews.llvm.org/rL217298).


## Other project commits

* LLDB has gained initial support for 'type validators'. To quote the commit
message, "Type Validators have the purpose of looking at a ValueObject, and
making sure that there is nothing semantically wrong about the object's
contents For instance, if you have a class that represents a speed, the
validator might trigger if the speed value is greater than the speed of
light". [r217277](http://reviews.llvm.org/rL217277).

* It is now possible to build libc++ on systems without POSIX threads.
[r217271](http://reviews.llvm.org/rL217271).

* A `target.process.memory-cache-line-size` option has been added to LLDB
which changes the size of lldb's internal memory cache chunks read from the
remote system. [r217083](http://reviews.llvm.org/rL217083).



More information about the llvm-dev mailing list