LLVM 22.0.0git
SpillUtils.h File Reference

Go to the source code of this file.

Classes

struct  llvm::coro::AllocaInfo

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::coro

Typedefs

using llvm::coro::SpillInfo = SmallMapVector<Value *, SmallVector<Instruction *, 2>, 8>

Functions

void llvm::coro::collectSpillsFromArgs (SpillInfo &Spills, Function &F, const SuspendCrossingInfo &Checker)
void llvm::coro::collectSpillsAndAllocasFromInsts (SpillInfo &Spills, SmallVector< AllocaInfo, 8 > &Allocas, SmallVector< Instruction *, 4 > &DeadInstructions, SmallVector< CoroAllocaAllocInst *, 4 > &LocalAllocas, Function &F, const SuspendCrossingInfo &Checker, const DominatorTree &DT, const coro::Shape &Shape)
void llvm::coro::collectSpillsFromDbgInfo (SpillInfo &Spills, Function &F, const SuspendCrossingInfo &Checker)
void llvm::coro::sinkSpillUsesAfterCoroBegin (const DominatorTree &DT, CoroBeginInst *CoroBegin, coro::SpillInfo &Spills, SmallVectorImpl< coro::AllocaInfo > &Allocas)
 Async and Retcon{Once} conventions assume that all spill uses can be sunk after the coro.begin intrinsic.
BasicBlock::iterator llvm::coro::getSpillInsertionPt (const coro::Shape &, Value *Def, const DominatorTree &DT)