[llvm-dev] LLVM Weekly - #390, June 21st 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 21 10:57:35 PDT 2021

LLVM Weekly - #390, June 21st 2021

If you prefer, you can read a HTML version of this email at

Welcome to the three hundred and ninetieth 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

Uma Srinivasan will be presenting "From Packing Decimals With Cobol to
Optimizing Tweets With Scala: A Journey Through Space, Time, & Culture with
Compilers" at the [Women in Compilers and Tools June
Meetup](https://www.meetup.com/meetup-group-ifwtlvwd/events/278899544/). June
24th, 6pm PDT.

A new book on LLVM has been published - [Learn LLVM 12 by Kai

## On the mailing lists

* The [thread suggesting a migration to
  has seen continued discussions. To pick a few messages:
  * Christian K├╝hnel
    a [draft migration
  * James Y Knight
    that the [Open Source Community
    Infrastructure](https://www.osci.io/tenants/) would be willing to provide
    Mailman3 hosting.
  * John McCall provided a [summary of issues with mailing
    "Now, forums have their own usability annoyances, without question. [...]
    My point is that those problems should not be treated as blockers when we
    have equal or worse problems with mailing lists that we've just come to

* Reid Kleckner [summarised responses to the RFC on

* Tom Stellard announced that [12.0.1-rc2 has been
  tagged](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151223.html) and
  an extended deadline for requesting backports.

* Matt Morehouse responded to an old thread on first-class metadata with a
  [list of potential use

* Gulfem Savrun Yeniceri
  adding a binary id to profiles, in order to aid matching executables to

* John McCall responded to the RFC thread on byte types in LLVM, [summarising
  how this may relate to work to add a provenance model to
  C](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151199.html), and
  arguing that it would be better to start by considering inttoptr and
  ptrtoint casts.

* Luke Drummond started a conversation about [when it is appropriate to use the
  [NFC] tag](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151234.html).

* LLVM GPU News Issue #14 [is

* Kito Cheng posted an [RFC on providing a #pragma to implement the
  avoiding the parsing of ~60k lines. David Rector [pointed
  to](https://lists.llvm.org/pipermail/cfe-dev/2021-June/068346.html) recent
  work to solve a similar problem in OpenCL.

## LLVM commits

* A CustomBehaviour class was added llvm-mca, intended to allow developers to
  implement modelling for instructions that require special handling.

* The SpeculateAroundPHIs pass was removed, with the commit message noting
  some of the regressions observed with the NewPM transition may have been
  caused by it. [e523645](https://reviews.llvm.org/rGe52364532afb).

* `DW_CFA_LLVM_` was added, as part of the work to add extensions for
  heterogeneous debugging on AMDGPU.

* DebugInfo handling was added for IR outlined functions.

* Initial GlobalISel infrastructure was added for M68k.

* Relocation emission for RISC-V was refactored and improved, bringing it more
  closely in line with GNU as.

* The MIRPrinter gained machine metadata support.

## Clang commits

* Improvements were made for named return value optimisation.

* The performance-unnecessary-copy-initialization checker was updated to fix
  some false positive cases.

## Other project commits

* EmitC, an MLIR dialect for emitting C++, was upstreamed to MLIR.

* Identical code folding was implemented in lld-macho.

* An implementation of a two-level distributed barrier was added to LLVM's
  OpenMP library. [25073a4](https://reviews.llvm.org/rG25073a4ecfc9).

* LLVM's libc gained implementation of a set of abstract elementary operations
  acting on fixed chunks of memory, intended to be used as building blocks for
  higher level abstractions.

More information about the llvm-dev mailing list