[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
<http://llvmweekly.org/issue/50>.
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
tagged](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79743).
Volunteer testers are very welcome.
Clang UPC 3.4.1 [has been
released](http://clangupc.github.io/2014/11/03/clang-upc-3-4-1-1-announcement/).
This is a Unified Parallel C compiler that can target SMP systems or
[Portals4](http://clangupc.github.io/portals4/).
## 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
instrinsics](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79657)
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
[here](http://llvm.org/docs/tutorial/LangImpl8.html).
* Extensive documentation has been added for the MergeFunctions pass.
[r223931](http://reviews.llvm.org/rL223931).
* 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),
[r224128](http://reviews.llvm.org/rL224128).
* Work has started on an LLVM-based dsymutil tool, with the aim to replace
Darwin's dsymutil (a DWARF linker).
[r223793](http://reviews.llvm.org/rL224134).
* LiveInterval has gained support to track the liveness of subregisters.
[r223877](http://reviews.llvm.org/rL223877).
* Work has started on converting moves to pushes on X86 when appropriate.
[r223757](http://reviews.llvm.org/rL223757).
* Print and verify passes are now added after each MachineFunctionPass by
default, rather than on some arbitrarily chosen subset.
[r224042](http://reviews.llvm.org/rL224059).
* LLVM now requires Python 2.7. Previously 2.5 was required.
[r224129](http://reviews.llvm.org/rL224129).
## Clang commits
* The `__builtin_call_with_static_chain` GNU extension has been implemented.
[r224167](http://reviews.llvm.org/rL224167).
* Clang's CodeGenPGO has moved to using the new LLVM `-instrprof` pass.
[r223683](http://reviews.llvm.org/rL223683).
* Clang now accepts Intel microarchitecture names as the `-march` argument.
[r223776](http://reviews.llvm.org/rL223776).
## Other project commits
* libcxx gained relational operators in std::experimental::optional.
[r223775](http://reviews.llvm.org/rL223775).
* libcxx can now be built as a 32-bit library.
[r224096](http://reviews.llvm.org/rL224096).
* The lldb unwinder has learned to use unwind information from the
compact-unwind section for x86-64 and i386 on Darwin.
[r223625](http://reviews.llvm.org/rL223625).
More information about the llvm-dev
mailing list