[LLVMdev] LLVM Weekly - #76, Jun 15th 2015

Alex Bradbury asb at asbradbury.org
Mon Jun 15 09:45:26 PDT 2015


LLVM Weekly - #76, Jun 15th 2015
================================

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

Welcome to the seventy-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 big news this week is that Apple have announced Swift 2.0 and, perhaps
more importantly, that [Swift will be open source later this
year](https://developer.apple.com/swift/blog/?id=29). The intention is that
iOS, OS X and Linux will be supported at release.


## On the mailing lists

* Quentin Colombet has posted a [helpful
clarification](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86783)
on the restrictions of a MachineFunctionPass.

* Getting frustrated maintaining your out-of-tree LLVM backend? It's
comforting for me at least to know things could be worse. Patrik Hägglund
reports he and his colleague [maintain patches to support 16-bit bytes and
24/40-bit
MachineValueTypes](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86730).

* Chandler Carruth is planning some [AliasAnalysis refactoring for the new
pass manager](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86842).
He's asking for feedback the general plan as well as the all-important
question of naming conventions.

* Zia Ansari has
[shared](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86742) an
interesting summary of an investigation of performance swings on Intel
architectures related to the post-decode micro-op cache. A [PPTX-formatted
summary is available
here](http://lists.cs.uiuc.edu/pipermail/llvmdev/attachments/20150610/024ed87f/attachment-0001.pptx).


## LLVM commits

* The loop vectorizer gained an optimisation for interleaved memory access. It
is disabled by default but can be turned on using
`-enable-interleaved-mem-accesses=true`. An AArch64InterleavedAccess pass was
also added.
[r239291](http://reviews.llvm.org/rL239291),
[r239514](http://reviews.llvm.org/rL239514).

* A prototype for 32-bit SEH (Structured Exception Handling) has been added.
[r239433](http://reviews.llvm.org/rL239433).

* LLVM has grown LibDriver and llvm-lib, intended to provide a lib.exe
compatible utility. [r239434](http://reviews.llvm.org/rL239434).

* x86 gained a new reassociation MachineCombiner optimisation to increase ILP.
[r239486](http://reviews.llvm.org/rL239486).

* The R600 backend has now been renamed to AMDGPU.
[r239657](http://reviews.llvm.org/rL239657).


## Clang commits

* Support for C99 partial re-initialization behaviour has been implemented.
[r239446](http://reviews.llvm.org/rL239446).

* Clang gained support for the BPF backend.
[r239496](http://reviews.llvm.org/rL239446).

* The loop vectorize pragma now recognises `assume_safety`. This will tell
loop access analysis to skip memory dependency checking.
[r239572](http://reviews.llvm.org/rL239572).

* The target attribute is now supported. Much like GCC's target attribute, it
allows adding subtarget features and changing the CPU for a particular
function. [r239579](http://reviews.llvm.org/rL239579).


## Other project commits

* The COFF linker in LLD continues to get faster.
[r239332](http://reviews.llvm.org/rL239332),
[r239292](http://reviews.llvm.org/rL239292).

* LLD grew a TypeSystem interface to support adding non-clang languages
(though it seems it's reverted for now).
[r239360](http://reviews.llvm.org/rL239360).




More information about the llvm-dev mailing list