[llvm-dev] LLVM Weekly - #187, Jul 31st 2017
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Jul 31 11:29:38 PDT 2017
LLVM Weekly - #187, Jul 31st 2017
If you prefer, you can read a HTML version of this email at
Welcome to the one hundred and eighty-seventh 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
OpenBSD has [switched](http://marc.info/?l=openbsd-cvs&m=150109829003860&w=2)
to using Clang as the default compiler for amd64 and i386 platforms.
[KLEE](http://klee.github.io/) version 1.4.0 has been
[released](https://github.com/klee/klee/releases/tag/v1.4.0). Amazingly, the
KLEE symbolic execution engine seems to have escaped a mention in LLVM Weekly
so far. Reminder to anyone building projects built on or relevant to LLVM:
dropping me an email about your latest release is always welcome, if you don't
email me or llvm-dev there's a good chance I won't see it.
ELLCC [has seen a new release](http://ellcc.org/?p=79773), adding full support
for shared libraries and a new ellcc helper utility.
LLVM 5.0.0-rc1 [has been
Version 1.2 of the
Clang plugin [has been released](https://www.kdab.com/clazy-1-2-released/).
This adds a number of new checks for common Qt coding issues, and prebuilt
Windows binaries are now available.
## On the mailing lists
* Alex Lorenz has written an RFC on [the initiation of refactoring actions in
RFC is part of the effort to upstream refactoring features used in XCode 9.
* There has been a large amount of follow-on discussion to last week's thread
about [IR-level interprocedural
For the more recent discussions, Jessica Paquette's
a good starting point. Some of the commenters observe that if possible,
sharing common code between MachineOutliner and this new IR-level outliner
would be beneficial.
* Ever wanted a summary of register classes in the X86 target? Craig Topper
* Why is llvm.stacksave() necessary? David Chisnall [has the
answer](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115806.html) in his
## LLVM commits
* llvm.dbg.value no longer takes an offset parameter.
* LazyValueInfo has been improved by constant-propagating zero extension of a
switch condition value through case edges. This reduces code size and
performance of the Python 2.7 eval loop by about 5%.
* Development has started on llvm-rc, which aims to provide the core
functionality of MS Visual Studio Resource Converter.
* The ARM backend has been updated to use C++11 enum classes for the majority
of enums. [r309287](http://reviews.llvm.org/rL309287).
* Bitrotted support for aliases in MergeFunctions has been removed.
## Clang commits
* The `-nostdlib++` flag has been introduced, which disables linking in the
C++ standard library. [r308997](http://reviews.llvm.org/rL308997).
* The Undefined Behavior Sanitizer (UBSan) learned to detect undefined
behaviour in calls to builtins. [r309459](http://reviews.llvm.org/rL309459).
## Other project commits
* The libcxxabi demangler has been largely rewritten. The implementation now
produces an abstract syntax tree, which results in higher performance than the
previous std::string manipulation.
* The support for 'qurantined' memory in the Scudo secure memory allocator has
been overhauled. The quarantine aims to mitigate against use-after-free
attacks by delaying the reallocation of memory.
* Polly's Simplify pass gained support for write access coalescing.
More information about the llvm-dev