[PATCH] D71899: [Coroutines][2/6] New pass manager: coro-split

Brian Gesiak via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 5 05:43:53 PST 2020


modocache updated this revision to Diff 236241.
modocache edited the summary of this revision.
modocache removed a subscriber: wenlei.
modocache added a comment.

Thanks for the reviews! This latest revision makes use of the private `LazyCallGraph` API exposed via the `CallGraphUpdater` class from D70927 <https://reviews.llvm.org/D70927>, and the helper function `updateCGAndAnalysisManagerForCGSCCPass` added in D72025 <https://reviews.llvm.org/D72025>, in order to properly update the call graph. It also uses `CGSCCUpdateResult` in order to enqueue the second phase of coro-split, instead of relying on function devirtualization. This patch exposed what I think is a bug, so it now also relies on a fix for that behavior, D72226 <https://reviews.llvm.org/D72226>.


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.236241.patch
Type: text/x-patch
Size: 53085 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200105/17d9e239/attachment-0001.bin>


More information about the llvm-commits mailing list