[llvm] [CoroEarly] Hide promise alloca for later passes (PR #139243)
Chuanqi Xu via llvm-commits
llvm-commits at lists.llvm.org
Tue May 13 02:50:53 PDT 2025
================
@@ -79,15 +79,17 @@ struct Shape {
// Scan the function and collect the above intrinsics for later processing
void analyze(Function &F, SmallVectorImpl<CoroFrameInst *> &CoroFrames,
- SmallVectorImpl<CoroSaveInst *> &UnusedCoroSaves);
+ SmallVectorImpl<CoroSaveInst *> &UnusedCoroSaves,
+ SmallVectorImpl<CoroPromiseInst *> &CoroPromises);
// If for some reason, we were not able to find coro.begin, bailout.
void invalidateCoroutine(Function &F,
SmallVectorImpl<CoroFrameInst *> &CoroFrames);
// Perform ABI related initial transformation
void initABI();
// Remove orphaned and unnecessary intrinsics
void cleanCoroutine(SmallVectorImpl<CoroFrameInst *> &CoroFrames,
- SmallVectorImpl<CoroSaveInst *> &UnusedCoroSaves);
+ SmallVectorImpl<CoroSaveInst *> &UnusedCoroSaves,
+ SmallVectorImpl<CoroPromiseInst *> &CoroPromises);
----------------
ChuanqiXu9 wrote:
Can have multiple promises in a coroutine?
https://github.com/llvm/llvm-project/pull/139243
More information about the llvm-commits
mailing list