[llvm-dev] LLVM Weekly - #219, Mar 12th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 12 13:49:39 PDT 2018


LLVM Weekly - #219, Mar 12th 2018
=================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/219>.

Welcome to the two hundred and nineteenth 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](https://www.linkedin.com/in/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 at asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.


## News and articles from around the web

LLVM 6.0.0 has been
[released](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121675.html).
"This release is the result of the community's work over the past six
months, including: retpoline Spectre variant 2 mitigation,
significantly improved CodeView debug info for Windows, GlobalISel by
default for AArch64 at -O0, improved scheduling on several x86
micro-architectures, Clang defaults to -std=gnu++14 instead of
-std=gnu++98, support for some upcoming C++2a features, improved
optimizations, new compiler warnings, many bug fixes, and more."

Clang is now used to build Chrome for Windows, and this [LLVM blog
post](http://blog.llvm.org/2018/03/clang-is-now-used-to-build-chrome-for.html)
goes in to much more detail.

Version 1.1 of the Pocl implementation of the OpenCL standard has [been
released](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121698.html).
This release features support for LLVM/Clang 6.0 and 5.0, as well as
experimental SPIR and SPIR-V support.


## On the mailing lists

* Zachary Turner is [looking for
feedback](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121655.html) on
approaches to extending llvm-objcopy to support COFF.

* Sanjay Patel has followed up on the discussion on simplifying floating point
operations with undef with [his understanding of the
conclusion](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121591.html)
and now has [four patches up for
review](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121699.html).

* In response to a question, Francis Visoiu Mistrih gives a [helpful
overview](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121684.html) of
MachineMemOperand.

* Alexandre Isoard
[wonders](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121634.html) if
anyone is interested in a feature to export IR to a git repo after each pass.

* Volodymyr Sapsai has
[proposed](http://lists.llvm.org/pipermail/cfe-dev/2018-March/057113.html)
making the C++ `atomic` and C `stdatomic.h` headers explicitly incompatible,
resulting in a short and easy to understand error message if both are included
in the same translation unit.


## LLVM commits

* TableGen gained `!foldl` and `!isa` operations, as well as a new `defset`
statement. [r326790](http://reviews.llvm.org/rL326790),
[r327117](http://reviews.llvm.org/rL327117),
[r327121](http://reviews.llvm.org/rL327121).

* llvm-mca, the LLVM Machine Code Analyzer tool, has been committed. It an be
used to statically estimate the performance of code.
[r326998](http://reviews.llvm.org/rL326998).

* The syntax for `!foreach` in TableGen has been modified, allowing more
complex expressions. [r326705](http://reviews.llvm.org/rL26705).

* `llvm::GetStatistics()` can now be used to inspect the statistics which have
been touched during execution. [r32738](http://reviews.llvm.org/rL326738).

* The DependenceAnalysis pass has been cleaned up to no longer use
GetElementPtr, and instead rely on Scalar Evolution.
[r326837](http://reviews.llvm.org/rL326837).

* The LLVM Language Reference Manual was updated to clarify that floating
point instructions do not have side effects.
[r327138](http://reviews.llvm.org/rL327138).


## Clang commits

* The new CMake variables `CLANG_DEFAULT_STD_C/CLANG_DEFAULT_STD_CXX` can be
set when building Clang to override the default C/C++ standard.
[r326836](http://reviews.llvm.org/rL326836).

* Clang will now eagerly emit lifetime.end markers for aggregates returned
from calls. [r327229](http://reviews.llvm.org/rL327229).


## Other project commits

* LLDB gained avx512 register support in debugserver.
[r326756](http://reviews.llvm.org/rL326756).

* XRay gained APIs for processing logs in memory.
[r326866](http://reviews.llvm.org/rL326866).


More information about the llvm-dev mailing list