[LLVMdev] LLVM Weekly - #65, Mar 30th 2015

Alex Bradbury asb at asbradbury.org
Mon Mar 30 02:46:50 PDT 2015


LLVM Weekly - #65, Mar 30th 2015
================================

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

Welcome to the sixty-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

The Z3 theorem prover from Microsoft Research is [now on
Github](https://github.com/Z3Prover/z3/), and more importantly now [released
under the MIT
license](https://github.com/Z3Prover/z3/commit/40269c8511ca343bc6848cae8c4f2d0f0455b949).
This is a true open source license allowing commercial use, unlike the
previous non-commercial use only license. It's been used with LLVM in the
[ALIVe project](http://blog.regehr.org/archives/1170).

The [schedule](http://llvm.org/devmtg/2015-04/) for EuroLLVM has been
published. There are still a number of [early registration tickets
left](http://www.eventbrite.com/e/eurollvm-2015-tickets-15350278095). If you
can be in London on 13th and 14th of April then I'd highly recommend
registering.

## On the mailing lists

* Tom Stellard, maintainer of the R600 backend has a [question about
manipulating the machine scheduler to intermix ALU instruction with
loads](http://article.gmane.org/gmane.comp.compilers.llvm.devel/84045).

* Sanjoy Das is seeking feedback on [an optimisation issue he's seeing due to
`llvm.$opt.with.overflow`
intrinsics](http://article.gmane.org/gmane.comp.compilers.llvm.devel/84037).
There is some followup discussion on how this should be dealt with.

* Martin O'Riordan from Movidius [asks for guidance on submitting contributing
changes back
upstream](http://article.gmane.org/gmane.comp.compilers.llvm.devel/84069). Tom
Stellard has a [useful
response](http://article.gmane.org/gmane.comp.compilers.clang.devel/41976).

* Dylan McKay is working on an AVR backend port and is [seeking advice on
lowering division
calls](http://article.gmane.org/gmane.comp.compilers.llvm.devel/84057). The
current version of his backend is [here](https://github.com/avr-llvm/llvm).

* Benoit Belley writes in with [an optimisation
puzzle](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83985),
looking for an explanation for why an icmp isn't removed. Daniel Berlin
responds just a couple of hours later with [an explanation of the missed
optimisation](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83985)
as well as a path to fix it.

* Gordon Kaiser is looking for [anyone interested in a backend for the Fujitsu
FR-series
processors](http://article.gmane.org/gmane.comp.compilers.llvm.devel/83979),
now manufactured by Spansion.


## LLVM commits

* The GlobalMerge pass will no longer run at O1 on AArch64+ARM, and instead
will only be enabled at O3. [r233024](http://reviews.llvm.org/rL233024).

* A float2int pass was added which, as the name suggests, attempts to demote
from float to int where possible. [r233062](http://reviews.llvm.org/rL233062).

* A simple Orc-based lazy JIT has been added to lli.
[r233182](http://reviews.llvm.org/rL233182).

* LLVM gained support for PowerPC hardware transactional memory.
[r233204](http://reviews.llvm.org/rL233204).

* The ARMv8.1a architecture has been added along with some of its new
instructions. [r233290](http://reviews.llvm.org/rL233290),
[r233301](http://reviews.llvm.org/rL233301)


## Clang commits

* The on-disk hash table for modules should now have a stable representation.
[r233156](http://reviews.llvm.org/rL233156),
[r233249](http://reviews.llvm.org/rL233249).

* Intrinsics have been added for PowerPC hardware transaction memory support.
[r233205](http://reviews.llvm.org/rL233205).

* An initial version of a clang-fuzzer has been added, making use of the
LLVMFuzzer library. [r233455](http://reviews.llvm.org/rL233455).


## Other project commits

* libclc gained more builtin implementations.
[r232977](http://reviews.llvm.org/rL232977),
[r232965](http://reviews.llvm.org/rL232965),
[r232964](http://reviews.llvm.org/rL232964).

* lld learnt how to understand the MIPS N64 relocation record format (which is
described in the commit message). [r233057](http://reviews.llvm.org/rL233057).

* lld's ARM support has improved with with the addition of indirect function
handling and GOT relocations. [r233383](http://reviews.llvm.org/rL233383),
[r233277](http://reviews.llvm.org/rL233277).



More information about the llvm-dev mailing list