LLVM Weekly - #65, Mar 30th 2015
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. 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 email@example.com, or @llvmweekly or @asbradbury on Twitter.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
The Z3 theorem prover from Microsoft Research is now on Github, and more importantly now released under the MIT license. 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.
The schedule for EuroLLVM has been published. There are still a number of early registration tickets left. 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.
Sanjoy Das is seeking feedback on an optimisation issue he's seeing due to
llvm.$op.with.overflowintrinsics. 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. Tom Stellard has a useful response.
Benoit Belley writes in with an optimisation puzzle, 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 as well as a path to fix it.
Gordon Kaiser is looking for anyone interested in a backend for the Fujitsu FR-series processors, now manufactured by Spansion.
The GlobalMerge pass will no longer run at O1 on AArch64+ARM, and instead will only be enabled at O3. r233024.
A float2int pass was added which, as the name suggests, attempts to demote from float to int where possible. r233062.
A simple Orc-based lazy JIT has been added to lli. r233182.
LLVM gained support for PowerPC hardware transactional memory. r233204.
Intrinsics have been added for PowerPC hardware transaction memory support. r233205.
An initial version of a clang-fuzzer has been added, making use of the LLVMFuzzer library. r233455.
Other project commits
lld learnt how to understand the MIPS N64 relocation record format (which is described in the commit message). r233057.