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 http://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to firstname.lastname@example.org, 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.
The canonical home for this issue can be found here at llvmweekly.org.
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.
-align-all-functionsarguments 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.
__writeeflagsintrinsics 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.