- User Since
- Mar 11 2019, 11:18 PM (48 w, 6 d)
Jan 16 2020
Jan 5 2020
Jan 4 2020
Dec 30 2019
There are two issues here: 1) coro-split needs run at least twice, we do not need CGSCC pipeline at pre-split stage which coro-split pass just works as a function pass 2) request CGSCC passes on split funclet after 2nd running of coro-split, and coroutine optimization such as coro-elide pass also depends on these optimization.
Manually schedule coro-split twice is a workaround for 1), as for 2) the current pipeline of coroutine in this patch set need be changed.
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.
Dec 29 2019
update the testcase, and @modocache can you commit this patch? thanks.
There is another issue we should consider: clang is crashed when compile coroutine with -disable-llvm-passes and output an object file.
Is it reasonable to run coroutine passes even -disable-llvm-passes is enabled?
@modocache kindly ping~
Dec 26 2019
@modocache kindly ping～
Dec 22 2019
Dec 18 2019
Nov 28 2019
This also fix same ice when build cppcoro with current trunk. FYI
Nov 22 2019
Nov 21 2019
update as @modocache's suggestion