[llvm-dev] LLVM Weekly - #173, Apr 24th 2017
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 24 02:47:22 PDT 2017
LLVM Weekly - #173, Apr 24th 2017
If you prefer, you can read a HTML version of this email at
Welcome to the one hundred and seventy-third 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
KDAB have written a blog post about the [clazy clang
which has a variety of checks and warnings for Qt codebases.
The LLVM-based [Crystal](https://crystal-lang.org/) language has just
I've just spotted that another language using LLVM for codegen,
[Pony](https://www.ponylang.org/), now has a [weekly development
"Source code quality classification based on software metrics" is a [recent
publication](http://fruct.org/publications/fruct20/files/Vyt.pdf) that looks
at extending LLVM to generate standard source code quality metrics.
## On the mailing lists
* Chris Lattner has posted a third update/RFC in the [LLVM relicensing
full details, I encourage you to read the email. The proposal is to adopt the
Apache 2.0 license with exceptions to address concerns about GPLv2
compatibility and binary attribution. Mark Kettenis explained the [issues with
Apache as seen by the OpenBSD
while Daniel Berlin [responded to many of these
* Kavon Farvardin has produced an [RFC on better supporting continuation
passing style in
would aid the implementation of languages such as Haskell and ML using LLVM.
* Diana Picus has [summarised recent GlobalISel news and
* Gerolf Hoflehner [explains more about the use of CTMark for tracking LLVM
## LLVM commits
* LLVM's bitcode format now has a string table. This reduces the link time for
Chromium with ThinLTO by 7% for no-op incremental builds.
* The way the Mips backend handles relocations and addresses has been
documented. This is a recommended read for anyone interested in LLVM backend
work. AArch64 has now been refactored to use a similar approach.
* LLVMMetadataRef, the first step towards a new metadata API has been
* libFuzzer gained an interesting new option, `-cleanse_crash` which tries to
replace all bytes in a crash reproducer with garbage while preserving the
crash behaviour. [r300498](http://reviews.llvm.org/rL300498).
* The documentation on statepoints (used to support garbage collection) has
been updated. [r300782](http://reviews.llvm.org/rL300782).
* Support has been added for representing the types needed for ARM's Scalable
Vector Extension. [r300838](http://reviews.llvm.org/rL300838),
## Clang commits
* Optimisation work on UBSan has continued, and the number of null checks has
been substantially reduced. [r300508](http://reviews.llvm.org/rL300508),
* `#pragma clang attribute` has been introduced. This can be used to apply an
attribute to multiple declarations by 'pushing' or 'popping' the attribute.
* git-clang-format is now mostly Python 3 compatible.
## Other project commits
* LLD gained support for `--compress-debug-sections`.
* The ios, tvos and watchos platforms in LLDB have been refactored into a
single parameterised platform. [r300512](http://reviews.llvm.org/rL300512).
* LLDB on NetBSD amd64 now supports FPRs and debug registers.
More information about the llvm-dev