LLVM Weekly - #147, Oct 24th 2016
Welcome to the one hundred and forty-seventh 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
I'm heading off to the US this week, first to attend the Google Summer of Code Mentor Summit and then for the LLVM Developers' Meeting. Hope I'll see some of you there.
News and articles from around the web
The long-awaited survey on the move of LLVM development to GitHub is now online. You are strongly encouraged to fill it out and share your views.
There is a lot of LLVM social activity going on this week. The next Cambridge LLVM Social will be held on Wednesday, October 26th. On Thursday October 27th, the inaugural Bristol LLVM Social will be held. Also on Thursday is the LLVM Social in Berlin.
An LLVM Performance Workshop has been announced at CGO in 2017. The call for proposals is open until December 1st.
The Trail of Bits blog has a fantastic and detailed overview of control-flow integrity in Clang.
On the mailing lists
-
Nuno Lopes has kicked off an RFC thread on getting rid of undef in LLVM. This proposal was a group effort, and there is a talk about it at the upcoming Dev Meeting. A huge amount of discussion has been generated, I'm sorry I don't have the time to summarise it.
-
Tanya Lattner is looking for volunteers to help with the 'Hackers Lab' at the upcoming Developers' Meeting.
-
Hal Finkel has proposed removing PowerPC/Darwin support from LLVM. There seem to be no objections.
-
Johannes Doerfert has shared an initial document to collect thoughts in preparation for the BoF discussion on parallel IR.
-
Rui Ueyama shared an RFC on creating linker-generated sections as input sections instead of output sections in LLD. Peter Smith reports that the ARM proprietary linker uses a similar scheme.
LLVM commits
-
The minimum supported GCC version for building LLVM is now 4.8. r284497.
-
The SystemZ backend has gained a post-RA (register allocation) scheduler. r284704.
-
The machine code disassembler for the AVR backend has landed. r284930.
-
The internal
LLVM_ATTRIBUTE_UNUSED_RESULT
define has now been removed. If you're using this in your out-of-tree code, switch toLLVM_NODISCARD
. r284367. -
A number of helpers for formatting numbers have been added to libSupport. r284425. REVERTED
-
A new pass has been added that eliminates library calls where the result value isn't used. r284542.
-
IndVarSimplify's ability to prove non-negativity has been improved. r284629.
-
The internal
LLVM_NOEXCEPT
macro has been removed in favour ofnoexcept
, which all supported compilers can now handle. r284672.
Clang commits
-
A new check, readability-redundant-member-init, was added. This emits a warning if a member-initializer calls the member's default constructor with no arguments. r284742.
-
The Python libclang bindings have been updated to add previously missing cursor kinds. r284464.
-
A new NumberObjectConversion checker, meant for use with classes like Objective-C's NSNumber has been added. r284473.
-
Masses more doxygen comments have been added to the intrinsics described in emmintrin.h. r284754, r284934.
Other project commits
-
Partial support for the
--gdb-index
command line option was added to LLD. This section is generated in order to allow gdb to locate separate .dwo files. r284708. -
The LLDB formatters for libstdc++ smart pointers have been improved, and will now display more useful information. Formatters have also been added for libstdc++ tuple and
unique_ptr
. r284828, r284829, r284830.