LLVM  6.0.0svn
Classes | Namespaces | Macros | Functions
CoroInternal.h File Reference
#include "CoroInstr.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
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::coro
 

Macros

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

Functions

void llvm::initializeCoroEarlyPass (PassRegistry &)
 
void llvm::initializeCoroSplitPass (PassRegistry &)
 
void llvm::initializeCoroElidePass (PassRegistry &)
 
void llvm::initializeCoroCleanupPass (PassRegistry &)
 
bool llvm::coro::declaresIntrinsics (Module &M, std::initializer_list< StringRef >)
 
void llvm::coro::replaceAllCoroAllocs (CoroBeginInst *CB, bool Replacement)
 
void llvm::coro::replaceAllCoroFrees (CoroBeginInst *CB, Value *Replacement)
 
void llvm::coro::replaceCoroFree (CoroIdInst *CoroId, bool Elide)
 
void llvm::coro::updateCallGraph (Function &Caller, ArrayRef< Function *> Funcs, CallGraph &CG, CallGraphSCC &SCC)
 
void llvm::coro::buildCoroutineFrame (Function &F, Shape &Shape)
 

Macro Definition Documentation

◆ CORO_DEVIRT_TRIGGER_FN

#define CORO_DEVIRT_TRIGGER_FN   "coro.devirt.trigger"

Definition at line 42 of file CoroInternal.h.

Referenced by createDevirtTriggerFunc(), prepareForSplit(), and replaceDevirtTrigger().

◆ CORO_PRESPLIT_ATTR

#define CORO_PRESPLIT_ATTR   "coroutine.presplit"

◆ PREPARED_FOR_SPLIT

#define PREPARED_FOR_SPLIT   "1"

Definition at line 40 of file CoroInternal.h.

Referenced by prepareForSplit().

◆ UNPREPARED_FOR_SPLIT

#define UNPREPARED_FOR_SPLIT   "0"

Definition at line 39 of file CoroInternal.h.

Referenced by createDevirtTriggerFunc(), and setCannotDuplicate().