[all-commits] [llvm/llvm-project] 3e51af: [Coroutines] Improve rematerialization stage

David Stuttard via All-commits all-commits at lists.llvm.org
Mon Feb 13 03:07:03 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3e51af9b5b3a2a1e4793fdaba9aa57c09d0b77cc
      https://github.com/llvm/llvm-project/commit/3e51af9b5b3a2a1e4793fdaba9aa57c09d0b77cc
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/test/Transforms/Coroutines/coro-materialize.ll
    M llvm/test/Transforms/Coroutines/coro-retcon-remat.ll

  Log Message:
  -----------
  [Coroutines] Improve rematerialization stage

As originally implemented, the rematerialization of valid instructions across
the suspend point would iterate 4 times, meaning that up to 4 instructions could
be rematerialized.

This implementation changes that approach to instead build a graph of
rematerializable instructions, then move all of them. This is faster than the
original approach and is not limited to an arbitrary limit.

Differential Revision: https://reviews.llvm.org/D142620




More information about the All-commits mailing list