[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
  (from 1.0).

* 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
  Profile](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151086.html), a
  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
  LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151044.html). The
  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
  linker. [04259cd](https://reviews.llvm.org/rG04259cde15a9),

* 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 mailing list