[LLVMdev] LLVM Weekly - #58, Feb 9th 2015

Alex Bradbury asb at asbradbury.org
Mon Feb 9 08:29:16 PST 2015


LLVM Weekly - #58, Feb 9th 2015
===============================

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

Welcome to the fifty-ninth 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 Red Hat developer blog has a post about the plan to [change the G++ ABI
along with GCC
5](http://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/). This is
required for full C++11 compatibility. Unlike the last ABI change where the
libc++ soname was changed, it will stay the same and instead different mangled
names will be used for symbols.

Quarks lab have a tutorial on how to [add a simple obfuscation pass to
LLVM](http://blog.quarkslab.com/turning-regular-code-into-atrocities-with-llvm.html).


## On the mailing lists

* It is currently planned to [raise the LLVM minimum required MSVC to
2013](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81596). If you
are using MSVC 2012 to build LLVM and this would cause significant hardship to
you for some reason, now is the time to speak up.

* Chandler Carruth has shared a [handy
cheatsheet](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81659)
for those maintaining an out-of-tree target on how to adjust to the recent
TargetTransformInfo changes.

* The idea of dropping pointer types in LLVM IR has been brought up a few
times recently. David Blaikie is [interested in volunteering to do the
necessary
work](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81923). Much of
the ensuing discussion is about how this might be done in an incremental way,
without causing too many problems for people with out of tree passes. Chandler
Carruth [proposes a rough
work-plan](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81945).

* James Molloy has posted an RFC on [inlining of recursive
functions](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81848).

* Chris Bieneman has summarised progress on brining the [CMake buildsystem to
the point it can replace
autoconf](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81741) in
LLVM/Clang.

* Karthik Bat has posted an [RFC on adding a LoopInterchange pass to
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/81854). This is
a pass targeted at improving performance through cache locality.


## LLVM commits

* A straight-line strength reduction pass has been introduced. This is
intended to simplify statements that are generated after loop unrolling. It is
enabled only for NVPTX for the time being.
[r228016](http://reviews.llvm.org/rL228016).

* A MachineInstruction pass that converts stack-relative moves of function
arguments to use the X86 push instruction. This is only enabled when
optimising for code size. [r227752](http://reviews.llvm.org/rL227752).

* The BasicAA will now try to disambiguate GetElementPtr through arrays of
structs into different fields. [r228498](http://reviews.llvm.org/rL228498).

* Work on improving support in LLVM for GC continues, with the addition of a
pass for inserting safepoints into arbitrary IR.
[r228090](http://reviews.llvm.org/rL228090).

* (Very) minimal support for the newly announced ARM Cortex-A72 landed. For
now, the A72 is modeled as an A57.
[r228140](http://reviews.llvm.org/rL228140).

* A new heuristic has been added for complete loop unrolling, which looks at
what loads might be made constant if the loop is completely unrolled.
[r228265](http://reviews.llvm.org/rL228265).

* A pass to exploit PowerPC's pre-increment load/store support has been added.
[r228328](http://reviews.llvm.org/rL228328).

* A platform-independent interface to a PDB reader has landed.
[r228428](http://reviews.llvm.org/rL228428).

* LLVM learnt to recognise masked gather and scatter intrinsics.
[r228521](http://reviews.llvm.org/rL228521).


## Clang commits

* Clang learnt the 'novtable' attribute (for MS ABI support).
[r227796](http://reviews.llvm.org/rL227796),
[r227838](http://reviews.llvm.org/rL227838).

* New functionality has been added for thread safety analysis, before/after
annotations can now be used on mutexes.
[r227997](http://reviews.llvm.org/rL227997).


## Other project commits

* A whole bunch of work on LLDB with multithreaded applications on Linux has
landed. [r227909](http://reviews.llvm.org/rL227909),
[r227912](http://reviews.llvm.org/rL227912),
[r227913](http://reviews.llvm.org/rL227913), and more.

* The default Polly build is now completely free of GPL dependencies. The isl
and imath dependencies have been imported into the codebase to make it easier
to build with a known-good revision.
[r228193](http://reviews.llvm.org/rL228193).



More information about the llvm-dev mailing list