LLVM Weekly - #180, Jun 12th 2017
Welcome to the one hundred and eightieth 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
Rust version 1.18 has been released. Rust is of course one of a growing number of interesting programming languages that use LLVM for code generation.
On the mailing lists
-
Duncan P. N. Exon Smith reports that after the recently WWDC, Apple are intending to start the process of contributing two new clang features: indexing-while-building and refactoring support.
-
Nuno Lopes proposes changing undef to poison for a number of cases, e.g. insertelement/extractelement with indices out of range.
-
Peter Collingbourne has an RFC on adding a one definition rule checker to Clang and LLD.
-
Stephen Crane has proposed pagerando, which randomises the location of pages containing code. This goes a step further than address space layout randomisation (ASLR), which randomises just the base address. The RFC goes in to quite some detail on how the mechanism works, and you may also be interested in the paper.
-
Clement Courbet has requested comments on a new pass for optimising comparison chains.
-
Charles Saternos has shared an RFC on the format for the ThinLTO module summary in llvm-dis.
-
Geoff Berry is hoping to switch EarlyCSE function simplification to use MemorySSA by default. He is looking for help testing this change.
LLVM commits
-
The AMDGPU backend gained a huge amount of new documentation. r304831.
-
Initial support for the DWARFv5 string offsets table was added. r304759.
-
The LLVM language reference is now explicit that shifting a value by an amount greater than its bitwidth results in poison. r304780.
-
The vast majority of
#include
lines in files in the include/ and lib/ have been sorted by filename. r304787.
Clang commits
-
#pragma clang section
is now supported, and can be used to specify section names for global variables. r304705. -
A new clang-tidy checker has been introduced which will replace dynamic exception specifications with
noexcept
or a user-defined macro. r304977.