Vuo  0.3
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
VuoCompilerNode Class Reference

Description

The compiler detail class for VuoNode.

Public Member Functions

 VuoCompilerNode (VuoNode *baseNode)
 Creates a compiler detail for the specified baseNode.
 
void generateAllocation (Module *module)
 Generates the allocation of the node's runtime representation, which consists of the runtime representations for the ports and the instance data.
 
void generateEventFunctionCall (Module *module, BasicBlock *block)
 Generates a call to nodeEvent or nodeInstanceEvent.
 
void generateInitFunctionCall (Module *module, BasicBlock *block)
 Generates a call to nodeInstanceInit and stores the return value into the node's instance data.
 
void generateFiniFunctionCall (Module *module, BasicBlock *block)
 Generates a call to nodeInstanceFini.
 
Value * generatePushedCondition (BasicBlock *block)
 Generates a condition that is true if any of this node's input event ports has been pushed.
 
void generatePushedReset (BasicBlock *block)
 Generates code to set all of this node's input and output event ports to an unpushed state.
 
void generateReleaseOfAllPortValues (Module *module, BasicBlock *block)
 Releases all reference-counted input and output port values.
 
VuoCompilerInstanceDatagetInstanceData (void)
 If this node is stateful, returns the instance data.
 
string getIdentifier (void)
 Returns the identifier prefix in the generated code for this node instance.
 
- Public Member Functions inherited from VuoBaseDetail< VuoNode >
 VuoBaseDetail (string id, VuoNode *base)
 Creates a VuoNode detail class.
 
VuoNodegetBase (void) const
 Returns the VuoNode detail class instance's base class instance.
 
void setBase (VuoNode *base)
 Sets the VuoNode detail class instance's base class instance.
 

Member Function Documentation

void VuoCompilerNode::generateAllocation ( Module *  module)

Generates the allocation of the node's runtime representation, which consists of the runtime representations for the ports and the instance data.

Parameters
moduleThe destination LLVM module (i.e., generated code).
void VuoCompilerNode::generateEventFunctionCall ( Module *  module,
BasicBlock *  block 
)

Generates a call to nodeEvent or nodeInstanceEvent.

Parameters
moduleThe destination LLVM module (i.e., generated code).
blockThe LLVM block to which to append the function call.
void VuoCompilerNode::generateFiniFunctionCall ( Module *  module,
BasicBlock *  block 
)

Generates a call to nodeInstanceFini.

Assumes the node is stateful.

Parameters
moduleThe destination LLVM module (i.e., generated code).
blockThe LLVM block to which to append the function call.
void VuoCompilerNode::generateInitFunctionCall ( Module *  module,
BasicBlock *  block 
)

Generates a call to nodeInstanceInit and stores the return value into the node's instance data.

Assumes the node is stateful. Assumes any generator ports' function declarations have been generated.

Parameters
moduleThe destination LLVM module (i.e., generated code).
blockThe LLVM block to which to append the function call.
string VuoCompilerNode::getIdentifier ( void  )

Returns the identifier prefix in the generated code for this node instance.

See Also
VuoCompilerNode::VuoCompilerNode
Example:
vuo_math_sum_i64__My_Awesome_Sum
VuoCompilerInstanceData * VuoCompilerNode::getInstanceData ( void  )

If this node is stateful, returns the instance data.

Otherwise null.


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