[LLVMdev] LLVM Weekly - #80, Jul 13th 2015

Alex Bradbury asb at asbradbury.org
Mon Jul 13 09:44:12 PDT 2015


LLVM Weekly - #80, Jul 13th 2015
================================

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

Welcome to the eightieth 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 2015 LLVM Developers' Meeting [has been
announced](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87925). It
will take place on October the 29th and 30th in San Jose, California.
Registration information and a call for papers will be sent out later in the
month.

LLVM/Clang 3.6.2 [has been
tagged](http://article.gmane.org/gmane.comp.compilers.clang.devel/43613). All
being well, we can expect 3.6.2 to be released soon.


## On the mailing lists

* Daniel Sanders has kicked off an amusingly named conversation on [the
trouble with
triples](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87804). The
thread gives context for a proposed change to move from ambiguous TargetTriple
to unambiguous TargetTuples.

* Juergen Ributzka has [proposed a new StackMap
format](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87930). The
feedback seems positive so far.

* The discussion regarding the [analysis of responses to the C as used in
practice
survey](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87279) has
rumbled on. Chris Lattner has shared [some of his thoughts on the freedom
undefined behaviour gives the compiler to
optimise](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87749).

* Christos Margiolas has [shared patches for his work on heterogeneous
execution with
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87849).


## LLVM commits

* The Hexagon backend gained a BitTracker class. This is intended to be target
independent. As described at the top of BitTracker.cpp, this is intended to be
used with a target-specific machine instruction evaluator. There have been
some other large additions to the Hexagon backend this week too. I hope the
authors will consider given another talk on their work at some point.
[r241595](http://reviews.llvm.org/rL241595).

* llc learnt the `run-pass` option, which will run one specific code
generation pass only. [r241476](http://reviews.llvm.org/rL241476).

* LLVM now has documentation on its inline assembly!
[r241698](http://reviews.llvm.org/rL241698).

* The llvm.frameescape and llvm.framerecover intrinsics have been renamed to
localescape and localrecover. [r241463](http://reviews.llvm.org/rL241463).

* Various refactoring commits have been made with the aim of having a single
DataLayout used during compilation, owned by the module.
[r241775](http://reviews.llvm.org/rL241775).

* A new llvm.canonicalize intrinsics has been introduced, intended to be used
to canonicalize floating point values.
[r241977](http://reviews.llvm.org/rL241977).

* The new argmemonly attribute can be used to mark functions that can only
access memory through its argument pointers.
[r241979](http://reviews.llvm.org/rL241979).


## Clang commits

* A few patches landed in Clang improving Objective-C support. This includes
parsing, semantic analysis, and AST support for Objective-C type parameters,
support for Objective-C type arguments, the `__kindof` type qualifier. Douglas
Gregor has more to say about these changes [on the mailing
list](http://article.gmane.org/gmane.comp.compilers.clang.devel/43614).
[r241541](http://reviews.llvm.org/rL241541),
[r241542](http://reviews.llvm.org/rL241542),
[r241548](http://reviews.llvm.org/rL241548), and more.

* Clang will attached the readonly or readnone attributes when appropriate to
inline assembly instructions, meaning the inline asm will not be treated as
conservatively. e.g. in some cases an inline asm block could be hoisted out of
a loop. [r241930](http://reviews.llvm.org/rL241930).

* PCH (pre-compiled headers) are now wrapped in an object file.
[r241690](http://reviews.llvm.org/rL241690),
[r241620](http://reviews.llvm.org/rL241620).

* Clang now recognises the GCC-compatible `-fprofile-generate` and
`-fprofile-use` flags. [r241825](http://reviews.llvm.org/rL241825).


## Other project commits

* libcxx add `try_emplace` and `insert_or_assign` to `map` and
`unordered_map`, as specified in
[N4279](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279).
[r241539](http://reviews.llvm.org/rL241539).

* The new LLD COFF linker now has basic support for x86 (it was previously
x86-64 only). [r241857](http://reviews.llvm.org/rL241857).



More information about the llvm-dev mailing list