HomePhabricator

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

Authored by modocache on Dec 26 2019, 5:00 AM.

Description

[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

Details

Committed
modocacheFeb 17 2020, 10:27 AM
Reviewer
wenlei
Differential Revision
D71898: [Coroutines][1/6] New pass manager: coro-early
Parents
rG3431dc32a416: [lldb/Plugin] Fix plugin definition for ProcessWindows
Branches
Unknown
Tags
Unknown