[LLVMdev] LLVM Weekly - #81, Jul 20th 2015

Alex Bradbury asb at asbradbury.org
Mon Jul 20 06:42:33 PDT 2015


LLVM Weekly - #81, Jul 20th 2015
================================

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

Welcome to the eighty-first 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'm "on holiday" (at EuroPython) this week in Bilbao, mostly helping out the
Raspberry Pi team with the education track. Do say hello, particularly if you
want to chat lowRISC, LLVM, or Raspberry Pi.


## News and articles from around the web

LLVM 3.6.2 [has been released](http://llvm.org/releases/download.html#3.6.2).

LLVM and Clang 3.7 [has been
branched](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88108).

The team behind Pyston, the LLVM-based Python JIT have written a blog post
about [their new object code caching
feature](http://blog.pyston.org/2015/07/14/caching-object-code/).


## On the mailing lists

* Teresa Johnson has posted an [RFC on ThinLTO symbol linkage and
renaming](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88099).

* Robert Lougher has written up a [very detailed analysis of a case of poor
register
allocation](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88092),
which may make interesting reading for some.

* Chandler Carruth has written up on [RFC on stateful alias analysis in
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88070). The
plan assumes the new pass manager. GlobalsModRef is the trickiest case to
handle, and Chandler has [written a separate post about the problems with
it](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88071).

* Hal Finkel is interested in using new functionality introduced in C++11
(such as the final keyword) to [improve
devirtualization](http://article.gmane.org/gmane.comp.compilers.clang.devel/43824).
The proposal generated quite a lot of discussion.

* Juergen Ributzka kicked off a discussion on [improving the maintenance and
management of the LLVM C
API](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88334). Eric
Christopher [suggests moving the C API to another
project](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88357), so
those who want/require a stable API can take on the burden of keeping it up to
date. He [elaborates on his
proposal](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88413) in
response from Chris Lattner. There seems to be [some
support](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88420) for
providing C bindings with the same stability guarantees as the C++ API (i.e.
it might break between major releases).

* Hal Finkel has proposed an [RFC on defining infinite loops in
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88200).


## LLVM commits

* The API to determine callee-save registers has been rewritten.
[r242165](http://reviews.llvm.org/rL242165).

* The 'debugger tuning' concept has been introduced, allowing the
specification of the debugger the debug info should be optimised for. This
defaults to lldb on OS X and FreeBSD and GDB for everything else (other than
PS4, which defaults to the SCE debugger).
[r242388](http://reviews.llvm.org/rL242388).

* Intrinsics for absolute difference operations have been introduced.
[r242409](http://reviews.llvm.org/rL242409).

* The PostRAScheduler has been disabled for the Apple Swift CPU and
MachineScheduler is used in place. The commit message argues PostRAScheduler
is not a good fit for out-of-order architectures and suggests the same switch
might be worth while for other ARM OoO CPUs.
[r242500](http://reviews.llvm.org/rL242500).


## Clang commits

* Support for armv7-windows-gnu targets has been added to the Clang front-end.
[r242292](http://reviews.llvm.org/rL242292).

* The clang module container format is now selectable from the command line
(raw or obj). [r242499](http://reviews.llvm.org/rL242499).

* A minimal AMDGPU toolchain configuration has been added.
[r242601](http://reviews.llvm.org/rL242601).


## Other project commits

* LLD now supports MIPS big-endian targets.
[r242014](http://reviews.llvm.org/rL242014).

* LLDB's gdbserver is moving towards being a single-threaded application.
[r242018](http://reviews.llvm.org/rL242018).

* The OpenMP CMake build system has been massively refactored.
[r242298](http://reviews.llvm.org/rL242298).



More information about the llvm-dev mailing list