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

Description

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.
 
VuoCompilerNodegetNode (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.
 

Constructor & Destructor Documentation

VuoCompilerLeaf::VuoCompilerLeaf ( VuoCompilerNode node,
set< VuoCompilerTriggerPort * >  loopTriggers 
)

Creates synchronization data for the specified leaf node.

Member Function Documentation

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.


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