Vuo  0.4.4
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
VuoCompilerChain Class Reference

Description

A linear sequence of nodes along which a push may be conducted.

Public Member Functions

 VuoCompilerChain (vector< VuoCompilerNode * > nodes, bool isLastNodeInLoop)
 Creates a linear chain of nodes that would be pushed by the given trigger.
 
void generateAllocationForDispatchGroup (Module *module, string triggerIdentifier)
 Generates the allocation of this chain's dispatch group.
 
void generateInitializationForDispatchGroup (Module *module, BasicBlock *block)
 Generates the initialization of this chain's dispatch group, initializing it to a new dispatch group.
 
void generateFinalizationForDispatchGroup (Module *module, BasicBlock *block)
 Generates the finalization of this chain's dispatch group.
 
Function * generateSubmissionForDispatchGroup (Module *module, BasicBlock *block)
 Generates code that submits a function for asynchronous execution and associates it with this chain's dispatch group.
 
void generateWaitForDispatchGroup (Module *module, BasicBlock *block)
 Generates code that waits on this chain's dispatch group.
 
vector< VuoCompilerNode * > getNodes (void)
 Returns the sequence of nodes in this chain.
 

Constructor & Destructor Documentation

VuoCompilerChain::VuoCompilerChain ( vector< VuoCompilerNode * >  nodes,
bool  isLastNodeInLoop 
)

Creates a linear chain of nodes that would be pushed by the given trigger.

Assumes nodes is not empty.

Member Function Documentation

Function * VuoCompilerChain::generateSubmissionForDispatchGroup ( Module *  module,
BasicBlock *  block 
)

Generates code that submits a function for asynchronous execution and associates it with this chain's dispatch group.

Returns
The submitted function. The caller is responsible for filling in the body of this function.

The documentation for this class was generated from the following files: