[LLVMdev] LLVM Weekly - #33, Aug 18th 2014

Alex Bradbury asb at asbradbury.org
Mon Aug 18 05:04:14 PDT 2014


LLVM Weekly - #33, Aug 18th 2014
================================

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

Welcome to the thirty-third 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

Binaries for LLVM/Clang 3.5RC2 are now [available for
testing](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75752). Try
it on your codebases, and be sure to report any regressions.

LDC 0.14.0 [has been
released](https://github.com/ldc-developers/ldc/releases/tag/v0.14.0). LDC is
an LLVM-based compiler for the D programming language. There's a mixture of
new features and bug fixes,
see the release notes for full details of what's changed.

Viva64, who sell the PVS-Studio static analyzer has written up their
experiences of [using the Clang static analyzer on the PVS-Studio
codebase](http://www.viva64.com/en/b/0270/). It managed to find 12 issues
which the blog author considers genuine bugs.


## On the mailing lists

* Matt Arsenault has written on [RFC on adding fmin/fmax
intrinsics](http://article.gmane.org/gmane.comp.compilers.llvm.cvs/201804).
Both the R600 and AArch64 platforms support fmin/fmax instructions with
semantics that match the libm functions.

* Chris Matthews writes that Apple are [working on bringing up a new Darwin
build cluster and switching from Buildbot to
Jenkins](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75776).
There was an amount of followup discussion on Buildbot vs Jenkins, and David
Chisnall has [shared a patch](http://reviews.llvm.org/D4901) that makes lit
produce JUnit XML output that Jenkins can consume.

* Arch Robinson has written a [proposal for llvm.mem.vectorize.safelen
metadata](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75769).
This allows the user to bless a loop as having no memory dependences that
prevent vectorization.

* Daniel Berlin has written a [very brief summary of LLVM's
TypeBasedAliasAnalysis](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75731)
in response to a question, that others may find enlightening.

* Hans Wennborg [shares his results from profiling the run-time sizes of
SmallVector and similar
classes](http://article.gmane.org/gmane.comp.compilers.llvm.devel/75707). The
intention is to see if there are cases where they are misused (i.e. a heap
allocation always results so there is no benefit from being initially
allocated on the stack).

* There has been some [discussion about an extended Clang
API](http://article.gmane.org/gmane.comp.compilers.clang.devel/38411). The
initial discussion frames this as an 'ABI support library'. An extended Clang
API could be used for automatically generating bindings to C or even C++ code
(which right now Julia is using private interfaces to do).

* Renato Golin has started a discussion about [a target specific parsing
API](http://article.gmane.org/gmane.comp.compilers.clang.devel/38465). The
[bug report](http://llvm.org/bugs/show_bug.cgi?id=20683) describes the problem
more fully, which is duplication of code which performs the same parsing task
(e.g. `-mfpu` on command line and the `.fpu` assembly directive).


## LLVM commits

* FastISel for AArch64 will now make use of the zero register when possible
and supports more addressing modes.
[r215591](http://reviews.llvm.org/rL215591),
[r215597](http://reviews.llvm.org/rL215597).

* MIPS gained support for the .end, .end, .frame, .mask, and .fmask assembler
directives. [r215359](http://reviews.llvm.org/rL215359).

* ARM gained the MRS/MSR system instructions.
[r215700](http://reviews.llvm.org/rL215700).


## Clang commits

* Documentation has been added describing how the Language options in
.clang-format files works. [r215443](http://reviews.llvm.org/rL215443).

* Prefetch intrinsics were added for ARM and AArch64.
[r215568](http://reviews.llvm.org/rL215568),
[r215569](http://reviews.llvm.org/rL215569).

* The logic for the `-include` command line parameter is now properly
implemented. [r215433](http://reviews.llvm.org/rL215433).

## Other project commits

* LLD now has initial support for ELF/AArch64.
[r215544](http://reviews.llvm.org/rL215544).

* UndefinedBehaviourSanitizer gained a returns-nonnull sanitizer. This
verifies that functions annotated with `returns_nonnull` do return nonnull
pointers. [r215485](http://reviews.llvm.org/rL215485).

* A number of lldb tests now compile on Windows.
[r215562](http://reviews.llvm.org/rL215562).



More information about the llvm-dev mailing list