[llvm-dev] LLVM Weekly - #389, June 14th 2021
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 14 11:22:48 PDT 2021
LLVM Weekly - #389, June 14th 2021
If you prefer, you can read a HTML version of this email at
Welcome to the three hundred and eighty-ninth 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
Inspired by the recent thread on introducing a 'byte' type to LLVM IR, Nicolai
Hähnle blogged about [the challenges of implementing memcpy in LLVM
The competition to build Clang and LLVM in the fastest time possible
continues, with Takumi Nakamura [demonstrating a build in under
60s](https://twitter.com/chapuni/status/1401519362058555393) on the AWS
Herb Sutter wrote up a [trip report from the Summer 2021 ISO C++ standard
## On the mailing lists
* Reid Kleckner kicked off an RFC thread on [revisiting the LLD-as-a-library
There is broad support for making LLD usable as a library, with a few
concerns about how this might impact the work-in-progress MachO linker.
* Chris Lattner [shared some
about the recent [blog post on design issues in LLVM
* Philip Reames followed up on the thread on moving to Discourse, [sharing
on the potential drawbacks of this move.
* Anastasia Stulova
changing the default version for OpenCL kernel compilation to OpenCL 1.2
* Nicolai Hähnle
to the thread on introducing a byte type to LLVM, providing a summary of the
* Ellis Hoag shared an RFC on [adding MachineIR
new instrumentation pass that can produce optimisation profiles with a focus
on binary size and runtime performance of the instrumented binaries.
* Necip Yildiran posted an RFC on [computing, storing, and restoring
conservative call graphs with
goal is to store sufficient information to allow the call graph to be
constructed while source information is present, and store it in a non-code
section of the binary.
* Sameer Sahasrabuddhe responded to the previous thread about abstracting
over SSA form IRs to implement generic analyses with [some statistics on the
performance cost of introducing virtual
## LLVM commits
* A function specialisation pass was added. As explained in the commit
message, it isn't yet enabled by default but the hope is to enable it for
`-O3` and above in order to close the gap for a number of benchmarks where
GCC produces better code than LLVM.
* A post-processing step was added for block frequency info inference in order
to correctly handle CFGs with irreducible loops.
* A new option was added to the CFGPrinter to hide 'cold' blocks from the
emitted graph. [9197bac](https://reviews.llvm.org/rG9197bac297f7).
* LLVM's Sequence type is now reverse-iterable.
## Clang commits
* The C++ P1099 "using enum" proposal was implemented.
* The OpenMP `#pragma omp unroll` directive was implemented.
* A status page for tracking C proposals was added.
## Other project commits
* Fixed-width literal and cstring deduplication was implemented in the MachO
* mlir-lsp-server now supports textDocument/documentSymbols, allowing for easy
navigation to functions/modules.
* The `alloca_scope` op was added to MLIR.
* Patches implementing OMPD (an OpenMP debugging interface) started to land.
* Scudo was extended to support [Trusty
* LLVM's libc gained an implementation of expm1f.
* range.subrange was added to libcxx.
More information about the llvm-dev