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

Go to the source code of this file.

Classes

struct  llvm::coro::LowererBase
 
struct  llvm::coro::Shape
 
struct  llvm::coro::Shape::SwitchFieldIndex
 
struct  llvm::coro::Shape::SwitchLoweringStorage
 
struct  llvm::coro::Shape::RetconLoweringStorage
 
struct  llvm::coro::Shape::AsyncLoweringStorage
 

Namespaces

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

Enumerations

enum class  llvm::coro::ABI { llvm::coro::Switch , llvm::coro::Retcon , llvm::coro::RetconOnce , llvm::coro::Async }
 

Functions

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::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::buildCoroutineFrame (Function &F, Shape &Shape, TargetTransformInfo &TTI, const std::function< bool(Instruction &)> &MaterializableCallback)
 
CallInstllvm::coro::createMustTailCall (DebugLoc Loc, Function *MustTailCallFn, TargetTransformInfo &TTI, ArrayRef< Value * > Arguments, IRBuilder<> &)