HomePhabricator

[Coroutines][5/6] Add coroutine passes to pipeline

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

Description

[Coroutines][5/6] Add coroutine passes to pipeline

Summary:
Depends on https://reviews.llvm.org/D71901.

The fifth in a series of patches that ports the LLVM coroutines passes
to the new pass manager infrastructure.

The first 4 patches allow users to run coroutine passes by invoking, for
example opt -passes=coro-early. However, most of LLVM's tests for
coroutines use an option, opt -enable-coroutines, which adds all 4
coroutine passes to the appropriate legacy pass manager extension points.
This patch does the same, but using the new pass manager: when
coroutine features are enabled and the new pass manager is being used,
this adds the new-pass-manager-compliant coroutine passes to the pass
builder's pipeline.

This allows us to run all coroutine tests using the new pass manager
(besides those that use the coroutine retcon ABI used by the Swift
compiler, which is not yet supported in the new pass manager).

Reviewers: GorNishanov, lewissbaker, chandlerc, junparser, wenlei

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

Tags: #llvm

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

Details

Committed
modocacheFeb 18 2020, 9:57 PM
Differential Revision
D71902: [Coroutines][5/6] Add coroutine passes to pipeline
Parents
rG5a187d8ed11f: [Coroutines][4/6] New pass manager: coro-cleanup
Branches
Unknown
Tags
Unknown