[LLVMdev] LLVM Weekly - #50, Dec 15th 2014

Alex Bradbury asb at asbradbury.org
Mon Dec 15 03:26:40 PST 2014

LLVM Weekly - #50, Dec 15th 2014

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

Welcome to the fiftieth 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 at [MICRO-47](http://www.microarch.org/micro47/) this week. If you're
there do say hi, especially if you want to chat about LLVM or lowRISC/RISC-V.

## News and articles from around the web

The videos and slides from the 2014 LLVM dev meeting went online last week. I
already linked to them then, but there's enough interesting stuff there I
think I can justify [linking again](http://llvm.org/devmtg/2014-10/).

LLVM/Clang 3.5.1-rc1 [has been
Volunteer testers are very welcome.

Clang UPC 3.4.1 [has been
This is a Unified Parallel C compiler that can target SMP systems or

## On the mailing lists

* Discussion has continued on [future plans for GC in
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79435) with
input from [Russel Hadley at
Microsoft](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79567) and
[Ben Karel](article.gmane.org/gmane.comp.compilers.llvm.devel/79581), who
seems to be the most extensive user of the existing GC infrastructure with his
[Foster language](https://code.google.com/p/foster/).

* Chris Bieneman started a discussion about [supporting stripping out unused
with the aim of reducing the size of libLLVM. The proposed patches reduce
binary size by
[~500k](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79736), which
he later points out is more significant in the context of their already
size-reduced build.

* Marshall Clow has shared a [proposal on how to manage ABI changes in
libc++](http://article.gmane.org/gmane.comp.compilers.clang.devel/40061). The
proposal involves introducing macros to enable ABI-breaking changes.

## LLVM commits

* The LLVM Kaleidoscope tutorial has been extended with an 8th chapter,
describing how to add debug information using DWARF And DIBuilder.
[r223671](http://reviews.llvm.org/rL223671). A rendered version can be found

* Extensive documentation has been added for the MergeFunctions pass.

* A monster commit to split Metadata from the Value class hierarchy has
landed. [r223802](http://reviews.llvm.org/rL223802).

* InstrProf has been born. This involves the `llvm.instrprof_increment`
instrinsic and the `-instrprof` pass. This moves logic from Clang's CodeGenPGO
into LLVM. [r223672](http://reviews.llvm.org/rL223672).

* With the addition of support for SELECT nodes, the MIPS backend now supports
codegen of MIPS-II targets on the LLVM test-suite. Code generation has also
been enabled for MIPS-III. [r224124](http://reviews.llvm.org/rL224124),

* Work has started on an LLVM-based dsymutil tool, with the aim to replace
Darwin's dsymutil (a DWARF linker).

* LiveInterval has gained support to track the liveness of subregisters.

* Work has started on converting moves to pushes on X86 when appropriate.

* Print and verify passes are now added after each MachineFunctionPass by
default, rather than on some arbitrarily chosen subset.

* LLVM now requires Python 2.7. Previously 2.5 was required.

## Clang commits

* The `__builtin_call_with_static_chain` GNU extension has been implemented.

* Clang's CodeGenPGO has moved to using the new LLVM `-instrprof` pass.

* Clang now accepts Intel microarchitecture names as the `-march` argument.

## Other project commits

* libcxx gained relational operators in std::experimental::optional.

* libcxx can now be built as a 32-bit library.

* The lldb unwinder has learned to use unwind information from the
compact-unwind section for x86-64 and i386 on Darwin.

More information about the llvm-dev mailing list