[LLVMdev] LLVM Weekly - #75, Jun 8th 2015

Alex Bradbury asb at asbradbury.org
Mon Jun 8 04:34:22 PDT 2015


LLVM Weekly - #75, Jun 8th 2015
===============================

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

Welcome to the seventy-fifth 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

Botond Ballo has posted a [wonderfully thorough summary of the recent Lenexa
C++ standards
meeting](https://botondballo.wordpress.com/2015/06/05/trip-report-c-standards-meeting-in-lenexa-may-2015/),
even including a table to summarise the status of various major proposals.

I have somehow neglected to mention the [Crystal
language](http://crystal-lang.org/) previously. It is a statically typed
language with syntax inspired by Ruby which (of course) compiles using LLVM.
It was [discussed last week on Hacker
News](https://news.ycombinator.com/item?id=9669166).

icGrep has [been
released](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86599). It
makes use of the 'Parabix' text representation and LLVM for high performance
regex matching. More details are available [at the icGrep
homepage](http://parabix.costar.sfu.ca/wiki/ICgrep).

The winners of the 7th Underhanded C Contest [have now been announced
online](http://www.underhanded-c.org/). Congratulations to the winner, Karen
Pease, for creating such a monstrous piece of code.


## On the mailing lists

* Chandler Carruth has posted a [summary of a recent in-person discussion
about LLD's future and
design](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86607). It
looks like this was a very positive meeting with agreement in important areas.
The recently contributed experimental COFF linker is going to be evaluated to
see if its linking model would be appropriate for Darwin. If so, the hope is
work can focus on adopting that as the standard model. If not, more work will
need to be done on refactoring LLD and making sure that code which makes sense
to be shared is.

* Christos Margiolas has been working as an intern at the Qualcomm Innovation
Center on support for heterogeneous compute, including transparent offloading
of loops or functions to accelerators. He is [asking for
feedback](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86569) and
looking to see if there is interest in getting this upstream. He has [shared a
slide deck](https://drive.google.com/file/d/0B5GasMlWJhTOb2tXTDZsal9qclE/view)
which gives more details.

* Woodrow Barlow is interested in [implementing a new PIC backend for
LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86373). Renato
Golin gave a very thorough and helpful response about [how you might
proceed](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86375).

* Frank Winter is looking for a way to [replace a sequence of repetitive code
with a loop](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86481).
It was pointed out that the LLVM loop reroll pass should be helpful for this,
but it does need to run on an existing loop. This would mean it requires
modification or the IR should be modified to introduce a trivial loop before
running the reroll pass.

* Philip Reames has posted an RFC on adding a [liveoncall parameter
attribute](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86407).
This would be used to leave an argument marked as live even if it isn't
actually used (so it might be later inspected at runtime). Chris Lattner
queried whether [adding an intrinsic might be a better
approach](http://article.gmane.org/gmane.comp.compilers.llvm.devel/86522).


## LLVM commits

* LLVM gained support for the new AArch64 v8.1a atomic instructions.
[r238818](http://reviews.llvm.org/rL238818).

* The MPX (Intel Memory Protection eXtensions) feature bit and bound registers
are now supported on the X86 backend.
[r238916](http://reviews.llvm.org/rL238916).

* MIPS FastISel gained more instruction and intrinsic implementations.
[r238756](http://reviews.llvm.org/rL238756),
[r238757](http://reviews.llvm.org/rL238757),
[r238759](http://reviews.llvm.org/rL238759).

* With the introduction of MCSymbolELF, the base MCSymbol size is now reduced
to 48 bytes on x86-64. [r238801](http://reviews.llvm.org/rL238801).

* Work has started on porting AliasAnalysis to the new pass manager.
[r239003](http://reviews.llvm.org/rL239003).

* The BPF backend now supports big and host endian, in addition to the
previously supported little endian.
[r239071](http://reviews.llvm.org/rL239071).

* The naming and structure of the recently added unroll heuristics has been
modified. [r239164](http://reviews.llvm.org/rL239164).


## Clang commits

* `-mcpu` for ARM will now ignore the case of its arguments for ARM.
[r239059](http://reviews.llvm.org/rL239059).

* A mass of predefined vector functions for PowerPC has been added.
[r239066](http://reviews.llvm.org/rL239066).

* The concept and requires keywords (as used in the C++ Concepts TS) are now
lexed. Let's hope this starting point is followed up with work towards full
concepts support in the coming months.
[r239128](http://reviews.llvm.org/rL239128).


## Other project commits

* The lld COFF linker gained an initial implementation of link-time
optimisation. [r238777](http://reviews.llvm.org/rL238777).

* LLDB gained support for software emulation of the MIPS64 branch
instructions. [r238820](http://reviews.llvm.org/rL238820).

* libiomp5 is now libomp. [r238712](http://reviews.llvm.org/rL238712).



More information about the llvm-dev mailing list