LLVM 19.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 OptimizeFrame, 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, DPValue &DPV, bool OptimizeFrame, 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<> &)