LLVM Weekly - #105, Jan 4th 2016
Welcome to the one hundred and 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 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.
Happy new year! This issue marks the second anniversary of LLVM Weekly. It's rather short as the past week has been very quiet, with most LLVM developers seemingly taking a break over the holidays. My colleague Wei Song and myself will be presenting about lowRISC at the 3rd RISC-V workshop on Wednesday this week. Do say hi if you're going to be there.
News and articles from around the web
Sanjoy Das has written a blog post about issues with LLVM's undef value. Interestingly, he provides an example where undef can actually inhibit optimisations.
On the mailing lists
-
Devin Coughlin provided a really useful and detailed guide to how you might implement a lifetime checker in the Clang static analyzer.
-
There's been some questions raised about what happened to the LLVM/Clang 3.7.1 release. Everything is ready to go, it's just waiting for the release manager to push the button.
-
Rahman Lavaee Mashhadi has been experimenting with disabling function alignment. He observes this results in a segfault on some programs, which David Chisnall points out is because of the C++ ABI using low-bits on pointers.
-
Dan Liew has posted some feedback on the Arcanist/Phabricator work-flow. This has resulted in a new patch up for review improving the LLVM Phabricator documentation.
LLVM commits
-
The
-align-all-loops
and-align-all-functions
arguments have been introduced to force function or loop alignments for testing purposes. r256571. -
The x86 backend has added intrinsics for reading and writing to the flags register. r256685.
Clang commits
-
Various Clang classes have been converted to use the TrailingObjects helper. r256658, r256659, and more.
-
__readeflags
and__writeeflags
intrinsics are exposed in Clang. r256686.
Other project commits
In libcxx, undefined behaviour in
<list>
has been fixed for builtin pointer types and support added for the next ABI version. r256652.