[llvm] [Coroutines][LazyCallGraph] resumes are not really SCC (PR #116285)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 15:47:30 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
----------------
aeubanks wrote:
As long as the new functions are a RefSCC when we call `addSplitRefRecursiveFunctions()`, it's fine if they stop being a RefSCC as long as we call `updateCGAndAnalysisManagerForCGSCCPass()` after making those changes (e.g. simplify-cfg). `updateCGAndAnalysisManagerForCGSCCPass()` should handle all possible call graph changes that are legal in an SCC pass (including updating the LazyCallGraph to reflect that), and if it doesn't that's a bug in `updateCGAndAnalysisManagerForCGSCCPass()`
https://github.com/llvm/llvm-project/pull/116285
More information about the llvm-commits
mailing list