[PATCH] D93828: [CGSCC][Coroutine][NewPM] Properly support function splitting/outlining
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 29 18:40:36 PST 2020
aeubanks added inline comments.
================
Comment at: llvm/lib/Analysis/LazyCallGraph.cpp:1716
+ // There is no reference from the new function back to the original
+ // function, so the new node is in its own SCC/RefSCC.
+ NewRC = createRefSCC(*this);
----------------
lxfind wrote:
> Could NewN be able to reach OriginalN by calling other functions?
> For example, before CoroSplit, say A is the coroutine. A calls B, and B calls A.
> After split, A references A.resume, A.resume calls B, and B calls A. In this case, they will still be in the same RefSCC?
You're completely right, I totally missed that case. Updated the code to handle that (and it's a bit simpler now too which is nice).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93828/new/
https://reviews.llvm.org/D93828
More information about the llvm-commits
mailing list