LLVM Weekly - #100, Nov 30th 2015
Welcome to the one hundredth 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 asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
Eagle-eyed readers will note we've now reached issue 100, marking 100 weeks of uninterrupted service and of course meaning there's just 28 weeks to go until an important numerical milestone.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
There is going to be an LLVM Devroom at FOSDEM next year and the call for proposals closes on December 1st. Get your submissions in!
Most slides from the recent LLVM in HPC workshop have now been posted.
Jeff Trull has posted a great blog post on fuzzing C++ code with AFL and libFuzzer.
On the mailing lists
The upcoming removal of the autoconf build system came up on the mailing list again. Chris Bieneman explains the policy on blocking vs non-blocking bugs for this. If you think you're likely to be affected, now is a very good time to kick the tires on CMake.
Geoffrey Romer is interested in adding the ability to customise the behaviour of std::hash and is looking for feedback.
Is it possible to use a static base register on ARM rather than PC-relative addressing? Oliver Stannard has a patch for this which should be upstreamed soon.
Rail Shafigulin is looking for information on how slots are assigned for packets in Hexagon. As usual, Krzystof Parzyszek provides some useful answers.
LLVM commits
A number of patches related to ARMv8.2-A have landed. Public documentation doesn't seem to have been released for this architecture revision, but the patches indicate some of the new features including: persistent memory instruction and FP16 instructions. You can see the patches still in review here. r254156, r254198.
A series of helper functions from SelectionDAGNodes have been exposed (isNullConstant, isNullFPConstant, isAllOnesConstant, isOneConstant). These helpers can help simplify code in your target's ISelLowering. r254085.
The WebAssembly backend's block placement algorithm has been improved. r253876.
Tests generated from
utils/update_llc_test_checks.py
are now marked as autogenerated. r253917.
Clang commits
DataRecursiveASTVisitor has been removed, and RecursiveASTVisitor can be used in its place. This resulted in the removal of 2912 lines of code. r253948.
Sparc and SparcV9 default to using an external assembler again. r254199
Functions with the interrupt attribute are now supported for mips32r2+. r254205.