LLVM Weekly - #131, Jul 4th 2016
Welcome to the one hundred and thirty-first 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 https://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.
News and articles from around the web
We (your editor along with his co-conspirators) are pleased to announce that registration and talk submission is now open for the 2016 LLVM Cauldron. This is a free one-day conference which will be held on Thursday September 8th in Hebden Bridge, UK. It's held on the day before the GNU Tools Cauldron which is at the same venue, so you're strongly recommended to sign up for both. We're also looking for additional sponsors. If you think you may be able to help then please contact me at asb@asbradbury.org.
The 2016 LLVM Developers' Meeting has been announced. The call for papers is open until August 25th. The Meeting will be held over November 3rd-4th in San Jose, California and registration is now open.
The SwiftShader CPU-based OpenGL ES implementation is now open source. It of course uses LLVM as the backend to its code generator.
Herb Sutter has written up a trip report from the Summer ISO C++ standard meeting at Oulu. The big news is that C++17 is now feature complete.
On the mailing lists
-
Renato Golin shared a proposal for a community voting mechanism. This ultimately led to a lot of discussion on the governance structure of LLVM and how the LLVM Foundation fits in to that. Paul Robinson shared some thoughts on this. David Chisnall also gave a helpful overview of the FreeBSD governance structure.
-
Hal Finkel started a discussion on various libc++ performance regressions vs libstdc++. Now these have been identified, hopefully they will be addressed.
-
Chandler Carruth shares that the initial draft of the LLVM code of conduct has now been committed.
-
The discussion about whether 4.0 or 3.10 should follow 3.9 continues. Chris Lattner has again argued that moving to 4.0 is more logical.
-
Daniel Michael Berris has shared instructions on building a simple demo of the XRay tracing infrastructure and has some questions for the LLVM community on how best to move forwards.
-
Xing Su wonders why not do machine instruction scheduling on SSA form. Matthias Braun and Andrew Trick respond with some thoughts.
-
Richard Smith has started a thread to discuss Clang's policy for the default language standard. i.e. when should clang++ and clang-cl default to C++17.
-
Renato Golin has shared a detailed proposal on how to support a sequential git ID hook on Github. Some have suggested the solution is too complex vs just having a repository containing all subprojects. Other have suggested using git tags to represent sequential IDs.
LLVM commits
-
The LLVM command-line parser was updated to support subcommands. r274171. Zachary Turner, the patch author has written about this on the mailing list.
-
The
TargetInstrInfo
API will now always takeMachineInstr&
instead ofMachineInstr*
orMachineBasicBlock::iterator
. r274189. -
A LoadStoreVectorizer pass has been added. r274293.
-
The Kaleidoscope tutorial now features a new chapter on creating object files. r274441.
-
Stack coloring has been implemented for SafeStack. r274162.
-
LLVM's internal datastructure library gained a priority worklist. r274198.
-
The Broadcom Vulcan processor (implementing ARMv8.1A) now has a scheduling model. r274213.
-
MCCodeGenInfo has been deleted. r274258.
-
The draft LLVM community code of conduct has landed. r274268.
Clang commits
-
A simple modules fuzzer script was added to Clang's utils directory. r273913.
-
Clang now implements a new approach for inheriting constructors. r274049.
-
Clang learnt to parse init-statements in 'if' and 'switch' statements. Semantic analysis remains to be implemented. r274169.
Other project commits
-
libcxx's
unordered_set<uint32_t>::find
has had its performance improved by 45%, with a benchmark also added to the repository. r274423. -
lld now supports the
--unresolved-symbols
option, allowing you to configure what to do when there are unresolved symbols. r274123. -
LLDB gained support for thread local variables on all Apple OS variants. r274366.