[llvm] [Coroutines][LazyCallGraph] resumes are not really SCC (PR #116285)
Tyler Nowicki via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 10 10:14:06 PST 2025
================
@@ -1720,6 +1720,7 @@ void LazyCallGraph::addSplitRefRecursiveFunctions(
for (Function *NewFunction : NewFunctions) {
Node &NewN = initNode(*NewFunction);
+ // Make the original function reference each new function
----------------
TylerNowicki wrote:
Identifying the RefSCCs and SCCs here may not be the right thing to do. I wanted to point out John's early comment
> Yeah, it's probably not trivial to get that information right during splitting because the cloned functions can end up containing arbitrary subsets of the original function.
I am worried about doing this right. And also consider that the refs are not yet finalized when addSplitRefRecursiveFunctions() is called. There is some clean-up still to do, i.e. removing unreachable blocks / simplify-cfg.
https://github.com/llvm/llvm-project/pull/116285
More information about the llvm-commits
mailing list