[llvm-dev] LLVM Weekly - #84, Aug 10th 2015

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 10 05:34:43 PDT 2015


LLVM Weekly - #84, Aug 10th 2015
================================

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

Welcome to the eighty-fourth 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

Adrian Sampson has written a fantastic [introduction to
LLVM](http://adriansampson.net/blog/llvm.html). It's titled LLVM for Grad
Students, but it should be useful for anybody looking to use LLVM or just
wanting to understand it better.

Brandon Holt has written up a short and helpful post giving [hints and tips on
debugging
LLVM](http://homes.cs.washington.edu/~bholt/posts/llvm-debugging.html).

The move of the mailing lists from UIUC on to lists.llvm.org is now complete.
All public LLVM-related mailing lists [are shown
here](http://lists.llvm.org/cgi-bin/mailman/listinfo). List addresses have now
changed to listname at lists.llvm.org.

There's been some exciting activity in the world of GCC. Support for the draft
C++ Concepts TS [has been
committed](https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=56c12fd4ba064759724236ad896232603b8797ed).
A draft of the technical specification is [available
here](http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2015/n4377.pdf).
Additionally, Nick Clifton has posted a useful summary of [GNU toolchain
developments for
July/August](https://gcc.gnu.org/ml/gcc/2015-08/msg00013.html).


## On the mailing lists

* Rong Xu has shared an [RFC for late instrumentation in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089044.html). The
RFC describes (and quantifies) the performance cost of inserting
instrumentation for profile-guided optimisation in the frontend and proposes
approaches for adding instrumentation in the middle-end instead.

* Jingyue Wu kicked off a discussion about [modifying the BasicAA alias
analysis to understand whether there is aliasing between different address
spaces](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089023.html).

* Teresa Johnson has posted RFCs for the [ThinLTO file API and data
structures](http://lists.llvm.org/pipermail/llvm-dev/2015-August/088920.html)
and the [ThinLTO file
format](http://lists.llvm.org/pipermail/llvm-dev/2015-August/088916.html).

* Chandler Carruth is looking to enable the GlobalModsRef in the default pass
pipeline. He's found it performance neutral in his tests so far, but would
[appreciate more people to try and benchmark
it](http://lists.llvm.org/pipermail/llvm-dev/2015-August/088988.html).

* Asking for advice on how to get started with LLVM is very common. Few take
as much time on detailing their background, motivations, and proposed plan as
[Arno Bastenhof in a recent
message](http://lists.llvm.org/pipermail/llvm-dev/2015-August/088915.html).
Probably because of this, his request has attracted some very high quality
replies.


## LLVM commits

* A handy new LLVM Support header was introduced. The TrailingObjects template
class abstracts away `reinterpret_cast`, pointer arithmetic, and size
calculation needed for the case where a class has some other objects appended
to the end of it. [r244164](http://reviews.llvm.org/rL244164).

* Initial documentation for the Machine IR serialization format has been
written. [r244292](http://reviews.llvm.org/rL244292).

* Uniquable DICompilerUnits have been disallowed. Old bitcode will be
automatically upgraded and the sed script in the commit message should be
useful for updating out-of-tree testcases.
[r243885](http://reviews.llvm.org/rL243885).

* All of the TargetTransformInfo cost APIs now use int rather than unsigned.
[r244080](http://reviews.llvm.org/rL244080).


## Clang commits

* A new checker for code-level localizability issues on OSX/iOS was born. It
will warn about the use of non-localized NSStrings passed to UI methods and
about failing to include a comment in NSLocalizedString macros.
[r244389](http://reviews.llvm.org/rL244389).

* New AST matchers have been introduced for constructors that are default,
copy, or move. [r244036](http://reviews.llvm.org/rL2440236).


## Other project commits

* The old COFF linker in LLD has been removed in favour of the new, faster,
and simpler implementation. [r244226](http://reviews.llvm.org/rL244226).

* ThreadSanitizer is now enabled for AArch64.
[r244055](http://reviews.llvm.org/rL244055).


More information about the llvm-dev mailing list