LLVM 20.0.0git
Classes | Namespaces | Functions
CoroInternal.h File Reference
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Transforms/Coroutines/CoroInstr.h"
#include "llvm/Transforms/Coroutines/CoroShape.h"

Go to the source code of this file.

Classes

struct  llvm::coro::LowererBase
 

Namespaces

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

Functions

bool llvm::coro::isSuspendBlock (BasicBlock *BB)
 
bool llvm::coro::declaresAnyIntrinsic (const Module &M)
 
bool llvm::coro::declaresIntrinsics (const Module &M, const std::initializer_list< StringRef >)
 
void llvm::coro::replaceCoroFree (CoroIdInst *CoroId, bool Elide)
 
void llvm::coro::suppressCoroAllocs (CoroIdInst *CoroId)
 Replaces all @llvm.coro.alloc intrinsics calls associated with a given call @llvm.coro.id instruction with boolean value false.
 
void llvm::coro::suppressCoroAllocs (LLVMContext &Context, ArrayRef< CoroAllocInst * > CoroAllocs)
 Replaces CoroAllocs with boolean value false.
 
void llvm::coro::salvageDebugInfo (SmallDenseMap< Argument *, AllocaInst *, 4 > &ArgToAllocaMap, DbgVariableIntrinsic &DVI, bool IsEntryPoint)
 Attempts to rewrite the location operand of debug intrinsics in terms of the coroutine frame pointer, folding pointer offsets into the DIExpression of the intrinsic.
 
void llvm::coro::salvageDebugInfo (SmallDenseMap< Argument *, AllocaInst *, 4 > &ArgToAllocaMap, DbgVariableRecord &DVR, bool UseEntryValue)
 
bool llvm::coro::defaultMaterializable (Instruction &V)
 Default materializable callback.
 
void llvm::coro::normalizeCoroutine (Function &F, coro::Shape &Shape, TargetTransformInfo &TTI)
 
CallInstllvm::coro::createMustTailCall (DebugLoc Loc, Function *MustTailCallFn, TargetTransformInfo &TTI, ArrayRef< Value * > Arguments, IRBuilder<> &)