Vuo
0.4.7
|
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. | |