LLVM  13.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
CoroInternal.h File Reference
#include "CoroInstr.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Transforms/Coroutines.h"
Include dependency graph for CoroInternal.h:
This graph shows which files directly or indirectly include this file:

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

 llvm
 
 llvm::coro
 

Macros

#define CORO_PRESPLIT_ATTR   "coroutine.presplit"
 
#define UNPREPARED_FOR_SPLIT   "0"
 
#define PREPARED_FOR_SPLIT   "1"
 
#define ASYNC_RESTART_AFTER_SPLIT   "2"
 
#define CORO_DEVIRT_TRIGGER_FN   "coro.devirt.trigger"
 

Enumerations

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

Functions

void llvm::initializeCoroEarlyLegacyPass (PassRegistry &)
 
void llvm::initializeCoroSplitLegacyPass (PassRegistry &)
 
void llvm::initializeCoroElideLegacyPass (PassRegistry &)
 
void llvm::initializeCoroCleanupLegacyPass (PassRegistry &)
 
bool llvm::coro::declaresIntrinsics (const Module &M, const std::initializer_list< StringRef >)
 
void llvm::coro::replaceCoroFree (CoroIdInst *CoroId, bool Elide)
 
void llvm::coro::updateCallGraph (Function &Caller, ArrayRef< Function * > Funcs, CallGraph &CG, CallGraphSCC &SCC)
 
void llvm::coro::salvageDebugInfo (SmallDenseMap< llvm::Value *, llvm::AllocaInst *, 4 > &DbgPtrAllocaCache, DbgDeclareInst *DDI, bool ReuseFrameSlot)
 Recover a dbg.declare prepared by the frontend and emit an alloca holding a pointer to the coroutine frame. More...
 
void llvm::coro::buildCoroutineFrame (Function &F, Shape &Shape)
 
CallInstllvm::coro::createMustTailCall (DebugLoc Loc, Function *MustTailCallFn, ArrayRef< Value * > Arguments, IRBuilder<> &)
 

Macro Definition Documentation

◆ ASYNC_RESTART_AFTER_SPLIT

#define ASYNC_RESTART_AFTER_SPLIT   "2"

Definition at line 42 of file CoroInternal.h.

◆ CORO_DEVIRT_TRIGGER_FN

#define CORO_DEVIRT_TRIGGER_FN   "coro.devirt.trigger"

Definition at line 44 of file CoroInternal.h.

◆ CORO_PRESPLIT_ATTR

#define CORO_PRESPLIT_ATTR   "coroutine.presplit"

Definition at line 39 of file CoroInternal.h.

◆ PREPARED_FOR_SPLIT

#define PREPARED_FOR_SPLIT   "1"

Definition at line 41 of file CoroInternal.h.

◆ UNPREPARED_FOR_SPLIT

#define UNPREPARED_FOR_SPLIT   "0"

Definition at line 40 of file CoroInternal.h.