[all-commits] [llvm/llvm-project] e9849d: [Coroutines][1/6] New pass manager: coro-early

Brian Gesiak via All-commits all-commits at lists.llvm.org
Mon Feb 17 10:30:22 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e9849d5195e9951a8210ebf63d19c014800c3368
      https://github.com/llvm/llvm-project/commit/e9849d5195e9951a8210ebf63d19c014800c3368
  Author: Brian Gesiak <modocache at gmail.com>
  Date:   2020-02-17 (Mon, 17 Feb 2020)

  Changed paths:
    A llvm/include/llvm/Transforms/Coroutines/CoroEarly.h
    M llvm/lib/Passes/LLVMBuild.txt
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/test/Transforms/Coroutines/coro-early.ll

  Log Message:
  -----------
  [Coroutines][1/6] New pass manager: coro-early

Summary:
The first in a series of patches that ports the LLVM coroutines passes
to the new pass manager infrastructure. This patch implements
'coro-early'.

NB: All coroutines passes begin by checking that coroutine intrinsics are
declared within the LLVM IR module they're operating on. To do so, they call
`coro::declaresIntrinsics`. The next 3 patches in this series, which add new
pass manager implementations of the 'coro-split', 'coro-elide', and
'coro-cleanup' passes, use a similar pattern as the one used here: a static
function is shared across both old and new passes to detect if relevant
coroutine intrinsics are delcared. To make this pattern easier to read, this
patch adds `const` keywords to the parameters of `coro::declaresIntrinsics`.

Reviewers: GorNishanov, lewissbaker, junparser, chandlerc, deadalnix, wenlei

Reviewed By: wenlei

Subscribers: ychen, wenlei, EricWF, hiraditya, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list