[llvm-dev] LLVM Weekly - #120, Apr 18th 2016
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 18 05:56:41 PDT 2016
LLVM Weekly - #120, Apr 18th 2016
If you prefer, you can read a HTML version of this email at
Welcome to the one hundred and twentieth 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](http://asbradbury.org). 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 at asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.
## News and articles from around the web
This week has seen not one, but two articles about LLVM and profile-guided
optimisation. Dig in John Engelen's article about [optimising D's virtual
function calls with
then read Geoffroy Couprie's article about [PGO with
The next Cambridge (UK) social [will be at 7.30pm on April
20th](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098248.html), at the
Alex Denisov has written a blog post [around the idea of building a mutation
testing system using
## On the mailing lists
* James Knight is [requesting a way to test changes before committing
Golin had a [thorough
* Eric Fiselier has shared an [RFC on packaging the proposed libc++ filesystem
* Teresa Johnson has shared an [RFC on the ThinLTO distributed backend
* Jeroen Dobbelaere is wondering if there's [any interest in an LLVM social in
* Mingwha Wang asks if there's any support for [outlining in
want to [look at
## LLVM commits
* AtomicExpandPass learned to lower various atomic operations to `__atomic_*`
library calls. The eventual aim is to move all atomic lowering from Clang to
* Targets can now define an inlining threshold multiplier, to e.g. increase
the likelihood of inlining on platforms where calls are very expensive.
* The ownership between DICompileUnit and DISubprogram has been reversed. This
may break tests for your out-of-tree backend, but the commit has a link to a
Python script to update your testcases.
* llvm-readobj learned to print a histogram of an input ELF file's .gnu.hash .
* More target-specific support for the Swift calling convention (on ARM,
AARch64, and X86) has landed. Also, a callee save register is used for the
* A new `allocsize` attribute has been introduced. This indicates the given
function is an allocation function.
* analyzeSiblingValues has been replaced with a new lower-complexity
implementation in order to reduce compile times.
* The AMDGPU backend gained a skeleton GlobalISel implementation.
* Every use of getGlobalContext other than the C API has been removed.
## Clang commits
* Clang gained support for the GCC ifunc attribute.
* The `__unaligned` type qualifier was implemented for MSVC compatibility.
* Support for C++ core guideline Type.6: always initialize a member variable
was completed in clang-tidy. [r266191](http://reviews.llvm.org/rL266191).
* A new clang-tidy checker for suspicious sizeof expressions was added.
## Other project commits
* The way relocations are applied in the new ELF linker has been reworked.
* ELF LLD now supports parallel codegen for LTO using splitCodeGen.
* Support for Linux on SystemZ in LLDB landed.
More information about the llvm-dev