[llvm-dev] LLVM Weekly - #345, August 10th 2020
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 10 10:44:05 PDT 2020
LLVM Weekly - #345, August 10th 2020
====================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/345>.
Welcome to the three hundred and forty-fifth 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 10.0.1 has [been
released](http://lists.llvm.org/pipermail/llvm-announce/2020-August/000088.html).
Dan Curran has written a blog post about [implementing Unified Function
Calling Syntax (UFCS) in
Clang](https://dancrn.com/2020/08/02/ufcs-in-clang.html).
## On the mailing lists
* Snehasish Kumar presented a [machine function
splitter](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144012.html)
optimisation pass, which splits functions into hot and cold parts, reporting
2% performance improvement on clang bootstrap, ~1% improvement on Google
workloads and 1.6% mean performance improvement on SPEC IntRate 2017.
* Wenlei He is seeking feedback on upstreaming [context-sensitive sample PGO
with
pseudo-instrumentation](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144101.html),
built at Facebook as an alternative to AutoFDO.
* Kazu Hirata proposed [introducing the "dump
accumulator"](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144047.html),
a mechanism to dump arbitrary messages into object files during compilation
and retrieve them from the final executable. Some of the respondents [ask
about whether optimisations remarks could be used for
this](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144056.html).
* Nicolai Hähnle posted a detailed RFC on [introducing convergence control
bundles and
intrinsics](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144165.html).
* Bill Wendling posted an RFC on [adding support for zeroing caller saved
registers](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144082.html),
for use by the KSSP project to improve Linux kernel security.
* Nathan Lanza [suggested deprecating Python 2 in the LLDB scripting
API](http://lists.llvm.org/pipermail/lldb-dev/2020-August/016387.html) and
adding type annotations.
* Paul C. Anagnostopoulos [suggested changing TableGen's range syntax to use
`..` to avoid ambiguity in the current use of
`-`](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143912.html).
* Bevin Hansson proposed [moving fixed-point classes from Clang to LLVM and
adding a
FixedPointBuilder](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144025.html),
providing a canonical LLVM IR interface for constructing fixed-point
operations.
* Nicolai Hähnle suggested [creating a Discourse category for the AMDGPU
target](http://lists.llvm.org/pipermail/llvm-dev/2020-July/143786.html).
* ORC JIT Weekly #19 [is
out](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144177.html).
llvm-jitlink now supports object-level mocking/testing.
## LLVM commits
* A new llvm-profdata 'overlap' feature was implemented, reporting weighted
similarity and unweighted overlap metrics at program and function level.
[540489d](https://reviews.llvm.org/rG540489de681).
* As part of the ongoing new pass manager work, a machine pass manager was
introduced. [911565d](https://reviews.llvm.org/rG911565d1085).
* A new utility `split-file` was added to help produce test cases involving
multiple documents in the same input file.
[bcea3a7](https://reviews.llvm.org/rGbcea3a7a288).
* The llvm-readobj test cases were cleaned up.
[2bca784](https://reviews.llvm.org/rG2bca784ab84).
* LoopVersioning was ported to the new pass manager.
[7c19c89](https://reviews.llvm.org/rG7c19c89dd5c).
* lit gained a `--time-trace-output` command line options to emit a
chrome://tracking compatible trace file.
[98827fe](https://reviews.llvm.org/rG98827feddb9).
* Documentation was added on using CHECK-SAME in FileCheck tests.
[4963ca4](https://reviews.llvm.org/rG4963ca4658b).
## Clang commits
* Diagnostics were improved for misaligned and large atomics.
[e18c6ef](https://reviews.llvm.org/rGe18c6ef6b41).
* A new webkit.UncountedLambdaCapturesChecker was added to flag when raw
pointers and references to uncounted types are captured in lambdas.
[820e8d8](https://reviews.llvm.org/rG820e8d8656e).
* A new `-Wtautological-value-range-compare` warning was added.
[d6492d8](https://reviews.llvm.org/rGd6492d87447).
## Other project commits
* Initial C APIs were introduced for MLIR.
[75f239e](https://reviews.llvm.org/rG75f239e9756).
* Classes were added to MLIR to model LLVM IR types without wrapping them, and
MLIR was migrated to make use of these.
[0c40af6](https://reviews.llvm.org/rG0c40af6b594),
[d4fbbab](https://reviews.llvm.org/rGd4fbbab2e49),
[ec1f4e7](https://reviews.llvm.org/rGec1f4e7c3b1),
[b2ab375](https://reviews.llvm.org/rGb2ab375d1f0).
* LLD `.debug_*` tombstone values were changed back to match GNU ld more
closely. [004be40](https://reviews.llvm.org/rG004be4037e1).
* flang's I/O runtime gained support for OutputDescriptor() and
InputDescriptor(). [cc01194](https://reviews.llvm.org/rGcc01194c2fa).
* LLVM's libc gained implementations of isblank, iscntrl, isgraph, ispunct,
isspace, isprint, isxdigit, strspn, tolower, toupper, strcpsn, and strpbrk.
[6cd50e7](https://reviews.llvm.org/rG6cd50e7b75e),
[1fdab96](https://reviews.llvm.org/rG1fdab96130f),
[f3b4150](https://reviews.llvm.org/rGf3b41502554),
[128bf45](https://reviews.llvm.org/rG128bf458ab8),
[dc13a9a](https://reviews.llvm.org/rGdc13a9a7813).
* A `--dependency-file` option was added to LLD to create a dependency file in
a Make-compatible format. [81eeabb](https://reviews.llvm.org/rG81eeabbd97f).
* lldb-vscode now supports syntax highlighting in the disassembly view.
[e7af986](https://reviews.llvm.org/rGe7af98680ad).
More information about the llvm-dev
mailing list