[PATCH] D71899: [Coroutines][2/6] New pass manager: coro-split
JunMa via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 30 19:55:35 PST 2019
junparser added a comment.
In D71899#1799233 <https://reviews.llvm.org/D71899#1799233>, @wenlei wrote:
> My understanding is devirt trigger is only a trick used with Legacy PM to run optimizations on coroutine funclets after coro-split. With NewPM's `CGSCCUpdateResult` infra, can we communicate that change and request passes directly with `ModuleToPostOrderCGSCCPassAdaptor`, without artificially introducing the indirect call and devirt?
The devirt trigger here is to restart CGSCC pipeline to run coro-split again to split the coroutine function. There is no need to introduce devirt trigger in NewPM since we call coro-split pass manually.
> I would imaging any form of outlining would require this communication if optimization is needed for the outlined region. How is that handled for outlining in general with New PM and can we follow that without the devirt trick?
However, I do think the SCC should be updated using CGSCCUpdateResult in second run of coro-split for outlined functions
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71899/new/
https://reviews.llvm.org/D71899
More information about the llvm-commits
mailing list