This is an archive of the discontinued LLVM Phabricator instance.

[Coroutines][4/6] New pass manager: coro-cleanup
ClosedPublic

Authored by modocache on Dec 26 2019, 6:26 AM.

Details

Summary

Depends on https://reviews.llvm.org/D71900.

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

No existing regression tests check the behavior of coro-cleanup on its
own, so this patch adds one. (A test named 'coro-cleanup.ll' exists, but
it relies on the entire coroutines pipeline being run. It's updated to
test the new pass manager in the 5th patch of this series.)

Diff Detail

Event Timeline

modocache created this revision.Dec 26 2019, 6:26 AM
Herald added a project: Restricted Project. · View Herald Transcript
modocache updated this revision to Diff 235813.Jan 1 2020, 7:10 PM

As per one of the review comments on D71899, I split out the trivial parts of this patch, such as the 'legacy' pass renaming, and committed them separately. Here's an updated version of this patch without those 'NFC' changes.

wenlei added a subscriber: wenlei.Jan 2 2020, 8:22 AM
wenlei added inline comments.Jan 5 2020, 2:47 PM
llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
97–101

Since this is also shared with legacy PM, is the removal of *.retcon used by swift intentional?

modocache marked an inline comment as done.Jan 5 2020, 4:22 PM
modocache added inline comments.
llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
97–101

Good catch, it's not! I didn't even notice -- scary! I think I applied a change I had before the retcon changes were committed. I'll update this.

modocache updated this revision to Diff 236275.Jan 5 2020, 4:25 PM

Added missing intrinsics.

modocache updated this revision to Diff 236677.Jan 7 2020, 1:30 PM

Apply clang-format.

wenlei accepted this revision.Feb 17 2020, 8:24 PM
This revision is now accepted and ready to land.Feb 17 2020, 8:24 PM
This revision was automatically updated to reflect the committed changes.