Vuo
0.5.1
|
Provides a semaphore for waiting on a leaf node.
A node is a leaf node if at least one of the following is true for at least one trigger:
Public Member Functions | |
VuoCompilerLeaf (VuoCompilerNode *node, set< VuoCompilerTriggerPort * > loopTriggers) | |
Creates synchronization data for the specified leaf node. | |
void | generateAllocationForSemaphore (Module *module) |
Generates code to allocate the leaf node's semaphore. | |
void | generateInitializationForSemaphore (Module *module, BasicBlock *block) |
Generates code to initialize the leaf node's semaphore. | |
void | generateFinalizationForSemaphore (Module *module, BasicBlock *block) |
Generates code to finalize the leaf node's semaphore. | |
void | generateWaitForSemaphore (Module *module, BasicBlock *block) |
Generates code to claim the leaf node's semaphore. | |
void | generateSignalForSemaphore (Module *module, BasicBlock *block) |
Generates code to relinquish the leaf node's semaphore. | |
VuoCompilerNode * | getNode (void) |
Returns the leaf node. | |
bool | isLastNodeInLoop (VuoCompilerTriggerPort *trigger) |
Returns true if this node is the last node scheduled to execute in a feedback loop. | |
VuoCompilerLeaf::VuoCompilerLeaf | ( | VuoCompilerNode * | node, |
set< VuoCompilerTriggerPort * > | loopTriggers | ||
) |
Creates synchronization data for the specified leaf node.
void VuoCompilerLeaf::generateAllocationForSemaphore | ( | Module * | module | ) |
Generates code to allocate the leaf node's semaphore.
void VuoCompilerLeaf::generateFinalizationForSemaphore | ( | Module * | module, |
BasicBlock * | block | ||
) |
Generates code to finalize the leaf node's semaphore.
void VuoCompilerLeaf::generateInitializationForSemaphore | ( | Module * | module, |
BasicBlock * | block | ||
) |
Generates code to initialize the leaf node's semaphore.
void VuoCompilerLeaf::generateSignalForSemaphore | ( | Module * | module, |
BasicBlock * | block | ||
) |
Generates code to relinquish the leaf node's semaphore.
void VuoCompilerLeaf::generateWaitForSemaphore | ( | Module * | module, |
BasicBlock * | block | ||
) |
Generates code to claim the leaf node's semaphore.
VuoCompilerNode * VuoCompilerLeaf::getNode | ( | void | ) |
Returns the leaf node.
bool VuoCompilerLeaf::isLastNodeInLoop | ( | VuoCompilerTriggerPort * | trigger | ) |
Returns true if this node is the last node scheduled to execute in a feedback loop.