[PATCH] D71899: [Coroutines][2/6] New pass manager: coro-split
Brian Gesiak via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 6 21:21:16 PST 2020
modocache updated this revision to Diff 236511.
modocache added a comment.
To avoid an assert when compiling recursive coroutine functions, use the new API I added in D72226 <https://reviews.llvm.org/D72226>: `CallGraphUpdater::registerReferredToOutlinedFunction`. This is also a more valid method of updating the call graph. Previously, we were inserting coroutine funclets into the same SCC, despite the fact that they did not form a strongly-connected cycle with the original coroutine function. Now, we insert them as referred-to-by the original coroutine.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71899/new/
https://reviews.llvm.org/D71899
Files:
llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassRegistry.def
llvm/lib/Transforms/Coroutines/CoroSplit.cpp
llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
llvm/test/Transforms/Coroutines/coro-alloc-with-param.ll
llvm/test/Transforms/Coroutines/coro-catchswitch.ll
llvm/test/Transforms/Coroutines/coro-debug.ll
llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split.ll
llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
llvm/test/Transforms/Coroutines/coro-frame-unreachable.ll
llvm/test/Transforms/Coroutines/coro-frame.ll
llvm/test/Transforms/Coroutines/coro-materialize.ll
llvm/test/Transforms/Coroutines/coro-padding.ll
llvm/test/Transforms/Coroutines/coro-param-copy.ll
llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
llvm/test/Transforms/Coroutines/coro-split-00.ll
llvm/test/Transforms/Coroutines/coro-split-02.ll
llvm/test/Transforms/Coroutines/coro-split-alloc.ll
llvm/test/Transforms/Coroutines/coro-split-dbg.ll
llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
llvm/test/Transforms/Coroutines/coro-split-eh.ll
llvm/test/Transforms/Coroutines/coro-split-hidden.ll
llvm/test/Transforms/Coroutines/coro-split-musttail.ll
llvm/test/Transforms/Coroutines/no-suspend.ll
llvm/test/Transforms/Coroutines/restart-trigger.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71899.236511.patch
Type: text/x-patch
Size: 53054 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200107/68256722/attachment.bin>
More information about the llvm-commits
mailing list