LLVM Weekly - #86, Aug 24th 2015
Welcome to the eighty-sixth 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 asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
The LLVM Foundation has been granted 501(c)(3) non-profit status. This means contributions are tax-deductible for US tax payers.
LLVM 3.7-rc3 has been tagged. This is the final release candidate and 3.7.0 final is expected very shortly.
The paper Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers makes use of Clang and LLVM as part of its verification flow.
Good news everyone! The deadline for submissions for the 2015 LLVM Developers' meeting has been extended to August the 25th.
On the mailing lists
Edward Jones and Simon Cook at Embecosm have been developing an LLVM backend for AAP, a 16-bit architecture which aims to be representative of common deeply embedded microprocessors. They're looking for feedback on upstreaming it. The architecture reference can be found here.
Alex Lorenz has shared an update on the status of Machine IR serialization. There's also the beginnings of a reference manual for it, which covers the syntax and how to use it in tests.
'deadal nix' has posted an RFC on supporting load and store for large aggregates. The author gives more detail here.
Lang Hames proposes two changes to the llvm.memcpy and llvm.memmove intrinsics. It seems that based on feedback, the plans is to add alignment information via metadata.
Evgenii Stepanav has an RFC on a minor fix to codegen for AlwaysInline functions. Right now, if an alwaysinline function is only called from dead code it may not be inlined.
Rong Xu has shared some interesting numbers on his investigations regarding front-end vs middle-end instrumentation of binaries.
Renato Golin raises concerns about the introduction of 'hacks' in to LLVM. In this particular instance, it's a patch for TheadSanitizer on AArch64 Android. He elaborated on his concerns here and here.
LLVM commits
TransformUtils gained the module splitter, which splits a module into linkable partitions and is intended to be used for parallel LTO code generation. r245662.
MergeFunctions is now closer to being deterministic. r245762.
ScalarEvolution has been ported to the new pass manager. r245193.
The 'kaleidoscope' tutorials on creating a language backend using LLVM are now partially updated to use C++11 features and idioms. r245322.
The peephole optimiser learned to look through PHIs to find additional register sources. r245479.
Clang commits
The ObjCGenericsChecker will catch type errors related to lightweight generics in Objective-C. r245646.