Handy methods for generating code.
Definition at line 22 of file VuoCompilerCodeGenUtilities.hh.
Static Public Member Functions | |
static Value * | generateCreateDispatchSemaphore (Module *module, BasicBlock *block, int initialValue=1) |
Generates code that constructs a dispatch_semaphore_t. | |
static Value * | generateWaitForSemaphore (Module *module, BasicBlock *block, Value *semaphoreValue) |
Generates code that waits for and claims a dispatch_semaphore_t, with a timeout of DISPATCH_TIME_FOREVER . | |
static Value * | generateWaitForSemaphore (Module *module, BasicBlock *block, AllocaInst *semaphoreVariable) |
Generates code that waits for and claims a dispatch_semaphore_t, with a timeout of DISPATCH_TIME_FOREVER . | |
static Value * | generateWaitForSemaphore (Module *module, BasicBlock *block, Value *semaphoreValue, Value *timeoutValue) |
Generates code that waits for and possibly claims a dispatch_semaphore_t. | |
static Value * | generateWaitForSemaphore (Module *module, BasicBlock *block, AllocaInst *semaphoreVariable, Value *timeoutValue) |
Generates code that waits for and possibly claims a dispatch_semaphore_t. | |
static void | generateSignalForSemaphore (Module *module, BasicBlock *block, Value *semaphoreValue) |
Generates code that signals a dispatch_semaphore_t. | |
static void | generateSignalForSemaphore (Module *module, BasicBlock *block, AllocaInst *semaphoreVariable) |
Generates code that signals a dispatch_semaphore_t. | |
static Value * | generateCreateDispatchGroup (Module *module, BasicBlock *block) |
Generates code that constructs a dispatch_group_t. | |
static void | generateEnterDispatchGroup (Module *module, BasicBlock *block, Value *dispatchGroupValue) |
Generates code that increments the block count of a dispatch_group_t. | |
static void | generateLeaveDispatchGroup (Module *module, BasicBlock *block, Value *dispatchGroupValue) |
Generates code that decrements the block count of a dispatch_group_t. | |
static void | generateWaitForDispatchGroup (Module *module, BasicBlock *block, Value *dispatchGroupValue, dispatch_time_t timeout=DISPATCH_TIME_FOREVER) |
Generates code that waits on a dispatch_group_t. | |
static Value * | generateGetGlobalDispatchQueue (Module *module, BasicBlock *block) |
Generates code that retrieves the global dispatch queue. | |
static Value * | generateCreateDispatchQueue (Module *module, BasicBlock *block, string dispatchQueueName) |
Generates code that constructs a dispatch_queue_t. | |
static void | generateAsynchronousSubmissionToDispatchQueue (Module *module, BasicBlock *block, Value *dispatchQueueValue, Function *workerFunction, Value *contextValue) |
Generates code that submits a function for asynchronous execution on a dispatch queue. | |
static void | generateSynchronousSubmissionToDispatchQueue (Module *module, BasicBlock *block, Value *dispatchQueueValue, Function *workerFunction, Value *contextValue) |
Generates code that submits a function for synchronous execution on a dispatch queue. | |
static void | generateRetainForDispatchObject (Module *module, BasicBlock *block, Value *dispatchObjectVariable) |
Generates code that retains a dispatch_object_t (dispatch_queue_t, dispatch_group_t, dispatch_semaphore_t, etc.). | |
static void | generateFinalizationForDispatchObject (Module *module, BasicBlock *block, Value *dispatchObjectVariable) |
Generates code that releases a dispatch_object_t (dispatch_queue_t, dispatch_group_t, dispatch_semaphore_t, etc.). | |
static Value * | generateCreateDispatchTime (Module *module, BasicBlock *block, Value *deltaValue) |
Generates code that creates a dispatch_time_t by calling dispatch_time_create(DISPATCH_TIME_NOW, ...) . | |
static Value * | generateCreatePortContext (Module *module, BasicBlock *block, VuoCompilerType *dataType, bool isTrigger, std::string triggerQueueName) |
Generates code that allocates a PortContext on the heap and initializes it with default values. | |
static void | generateSetPortContextEvent (Module *module, BasicBlock *block, Value *portContextValue, Value *eventValue) |
Generates code that sets the event field of a PortContext. | |
static void | generateSetPortContextData (Module *module, BasicBlock *block, Value *portContextValue, Value *dataValue, VuoCompilerType *dataType) |
Generates code that sets the data field of a PortContext to a heap-allocated copy of dataValue. | |
static void | generateSetPortContextTriggerFunction (Module *module, BasicBlock *block, Value *portContextValue, Value *triggerFunctionValue) |
Generates code that sets the triggerFunction field of a PortContext. | |
static void | generateSetPortContextEventBlocking (Module *module, BasicBlock *block, Value *portContextValue, VuoPortClass::EventBlocking eventBlocking) |
Generates code that sets the eventBlocking field of a PortContext. | |
static Value * | generateGetPortContextEvent (Module *module, BasicBlock *block, Value *portContextValue) |
Generates code that gets the event field of a PortContext. | |
static Value * | generateGetPortContextDataVariable (Module *module, BasicBlock *block, Value *portContextValue, VuoCompilerType *dataType) |
Generates code that gets the address of the data field of a PortContext. | |
static Value * | generateGetPortContextDataVariableAsVoidPointer (Module *module, BasicBlock *block, Value *portContextValue) |
Generates code that returns the data field of a PortContext (a void pointer). | |
static Value * | generateGetPortContextTriggerQueue (Module *module, BasicBlock *block, Value *portContextValue) |
Generates code that gets the triggerQueue field of a PortContext. | |
static Value * | generateGetPortContextTriggerSemaphore (Module *module, BasicBlock *block, Value *portContextValue) |
Generates code that gets the triggerSemaphore field of a PortContext. | |
static Value * | generateGetPortContextTriggerFunction (Module *module, BasicBlock *block, Value *portContextValue, FunctionType *functionType) |
Generates code that gets the triggerFunction field of a PortContext. | |
static void | generateRetainPortContextData (Module *module, BasicBlock *block, Value *portContextValue) |
Generates code that calls vuoRetainPortContextData() . | |
static Value * | generateCreateNodeContext (Module *module, BasicBlock *block, bool hasInstanceData, bool isComposition, size_t outputEventCount) |
Generates code that allocates a NodeContext on the heap and initializes it with default values. | |
static void | generateSetNodeContextPortContexts (Module *module, BasicBlock *block, Value *nodeContextValue, vector< Value * > portContextValues) |
Generates code that sets the portContexts and portContextCount fields of a NodeContext. | |
static void | generateSetNodeContextInstanceData (Module *module, BasicBlock *block, Value *nodeContextValue, Value *instanceDataValue) |
Generates code that sets the instanceData field of a NodeContext (to a heap-allocated copy of instanceDataValue) and frees the old value. | |
static void | generateSetNodeContextClaimingEventId (Module *module, BasicBlock *block, Value *nodeContextValue, Value *claimingEventIdValue) |
Generates code that sets the claimingEventId field of a NodeContext. | |
static void | generateSetNodeContextOutputEvent (Module *module, BasicBlock *block, Value *nodeContextValue, size_t index, Value *eventValue) |
Generates code that sets an element of the outputEvents field of a NodeContext. | |
static Value * | generateGetNodeContextPortContext (Module *module, BasicBlock *block, Value *nodeContextValue, int index) |
Generates code that gets an element of the portContexts field of a NodeContext. | |
static Value * | generateGetNodeContextInstanceData (Module *module, BasicBlock *block, Value *nodeContextValue, Type *instanceDataType) |
Generates code that gets the instanceData field of a NodeContext (and dereference it to get the actual instance data). | |
static Value * | generateGetNodeContextInstanceDataVariable (Module *module, BasicBlock *block, Value *nodeContextValue, Type *instanceDataType) |
Generates code that gets the address of the instanceData field of a NodeContext. | |
static Value * | generateGetNodeContextClaimingEventId (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates code that gets the claimingEventId field of a NodeContext. | |
static Value * | generateGetNodeContextExecutingGroup (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates code that gets the executingGroup field of a NodeContext. | |
static Value * | generateGetNodeContextOutputEvent (Module *module, BasicBlock *block, Value *nodeContextValue, size_t index) |
Generates code that gets an element of the outputEvents field of a NodeContext. | |
static Value * | generateEventHitAnyPort (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates a call to vuoEventHitAnyInputPort . | |
static void | generateSetOutputEventsAfterNodeExecution (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates a call to vuoSetOutputEventsAfterNodeExecution . | |
static void | generateResetNodeContextEvents (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates code that sets the event field to false for all PortContexts in a NodeContext. | |
static void | generateStartedExecutingEvent (Module *module, BasicBlock *block, Value *nodeContextValue, Value *eventIdValue) |
Generates a call to vuoStartedExecutingEvent . | |
static void | generateSpunOffExecutingEvent (Module *module, BasicBlock *block, Value *nodeContextValue, Value *eventIdValue) |
Generates a call to vuoSpunOffExecutingEvent . | |
static Value * | generateFinishedExecutingEvent (Module *module, BasicBlock *block, Value *nodeContextValue, Value *eventIdValue) |
Generates a call to vuoFinishedExecutingEvent . | |
static Value * | generateGetOneExecutingEvent (Module *module, BasicBlock *block, Value *nodeContextValue) |
Generates a call to vuoGetOneExecutingEvent . | |
static Value * | generateCreateCompositionState (Module *module, BasicBlock *block, Value *runtimeStateValue, Value *compositionIdentifierValue) |
Generates code that creates a VuoCompositionState * from the given void *runtimeState and char *compositionIdentifier . | |
static Value * | generateGetCompositionStateRuntimeState (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates code that gets the runtimeState field of a VuoCompositionState * . | |
static Value * | generateGetCompositionStateCompositionIdentifier (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates code that gets the compositionIdentifier field of a VuoCompositionState * . | |
static void | generateFreeCompositionState (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates code that frees a VuoCompositionState * (but not its fields). | |
static Value * | generateGetDataForPort (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue) |
Generates code that retrives the data field in a port's context, given the port's identifier. | |
static Value * | generateGetNodeIndexForPort (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue) |
Generates code that retrieves the index (in VuoCompilerBitcodeGenerator::orderedNodes) of a node, given the identifier of a port on the node. | |
static Value * | generateGetTypeIndexForPort (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue) |
Generates code that retrieves the index (in VuoCompilerBitcodeGenerator::orderedTypes) of a port's type, given the port's identifier. | |
static void | generateScheduleTriggerWorker (Module *module, BasicBlock *block, Value *queueValue, Value *contextValue, Value *workerFunctionValue, int minThreadsNeeded, int maxThreadsNeeded, Value *eventIdValue, Value *compositionStateValue, int chainCount) |
Generates a call to vuoScheduleTriggerWorker . | |
static void | generateScheduleChainWorker (Module *module, BasicBlock *block, Value *queueValue, Value *contextValue, Value *workerFunctionValue, int minThreadsNeeded, int maxThreadsNeeded, Value *eventIdValue, Value *compositionStateValue, size_t chainIndex, vector< size_t > upstreamChainIndices) |
Generates a call to vuoScheduleChainWorker . | |
static void | generateGrantThreadsToChain (Module *module, BasicBlock *block, int minThreadsNeeded, int maxThreadsNeeded, Value *eventIdValue, Value *compositionStateValue, size_t chainIndex) |
Generates a call to vuoGrantThreadsToChain . | |
static void | generateGrantThreadsToSubcomposition (Module *module, BasicBlock *block, Value *eventIdValue, Value *compositionStateValue, Value *chainIndexValue, Value *subcompositionIdentifierValue) |
Generates a call to vuoGrantThreadsToSubcomposition . | |
static void | generateReturnThreadsForTriggerWorker (Module *module, BasicBlock *block, Value *eventIdValue, Value *compositionStateValue) |
Generates a call to vuoReturnThreadsForTriggerWorker . | |
static void | generateReturnThreadsForChainWorker (Module *module, BasicBlock *block, Value *eventIdValue, Value *compositionStateValue, Value *chainIndexValue) |
Generates a call to vuoReturnThreadsForChainWorker . | |
static void | generateLockNodes (Module *module, BasicBlock *&block, Value *compositionStateValue, const vector< size_t > &nodeIndices, Value *eventIdValue, VuoCompilerConstantsCache *constantsCache) |
Generates a call to vuoLockNodes() . | |
static void | generateLockNode (Module *module, BasicBlock *&block, Value *compositionStateValue, size_t nodeIndex, Value *eventIdValue) |
Generates a call to vuoLockNode() . | |
static void | generateLockNode (Module *module, BasicBlock *&block, Value *compositionStateValue, Value *nodeIndexValue, Value *eventIdValue) |
Generates a call to vuoLockNode() . | |
static void | generateUnlockNodes (Module *module, BasicBlock *block, Value *compositionStateValue, const vector< size_t > &nodeIndices, VuoCompilerConstantsCache *constantsCache) |
Generates a call to vuoUnlockNodes() . | |
static void | generateUnlockNode (Module *module, BasicBlock *block, Value *compositionStateValue, size_t nodeIndex) |
Generates a call to vuoUnlockNode() . | |
static void | generateUnlockNode (Module *module, BasicBlock *block, Value *compositionStateValue, Value *nodeIndexValue) |
Generates a call to vuoUnlockNode() . | |
static void | generateSetArrayElement (Module *module, BasicBlock *block, Value *arrayValue, size_t elementIndex, Value *value) |
Generates code that sets the array element at the given index. | |
static Value * | generateGetArrayElement (Module *module, BasicBlock *block, Value *arrayValue, size_t elementIndex) |
Generates code that gets the array element at the given index. | |
static Value * | generateGetArrayElement (Module *module, BasicBlock *block, Value *arrayValue, Value *elementIndexValue) |
Generates code that gets the array element at the given index. | |
static void | generateSetStructPointerElement (Module *module, BasicBlock *block, Value *structPointer, size_t elementIndex, Value *value) |
Generates code that sets the struct element at the given index. | |
static Value * | generateGetStructPointerElement (Module *module, BasicBlock *block, Value *structPointer, size_t elementIndex) |
Generates code that gets the struct element at the given index. | |
static Value * | generatePointerToValue (BasicBlock *block, Value *value) |
Generates code that creates a pointer to value (on the stack), and returns the pointer. | |
static Constant * | generatePointerToConstantString (Module *module, string stringValue, string globalVariableName="") |
Generates code that creates a global string variable. | |
static Constant * | generatePointerToConstantArrayOfStrings (Module *module, vector< string > stringValues, string globalVariableName="") |
Generates code that creates a global array-of-strings variable. | |
static Constant * | generatePointerToConstantArrayOfUnsignedLongs (Module *module, const vector< unsigned long > &values, string globalVariableName="") |
Generates a global array-of-unsigned-longs variable. | |
static void | generateStringMatchingCode (Module *module, Function *function, BasicBlock *initialBlock, BasicBlock *finalBlock, Value *inputStringValue, map< string, pair< BasicBlock *, BasicBlock * > > blocksForString, VuoCompilerConstantsCache *constantsCache) |
Generates a series of if-else statements for testing if an input string is equal to any of a set of constant strings, and executing the corresponding block of code if it is. | |
static void | generateIndexMatchingCode (Module *module, Function *function, BasicBlock *initialBlock, BasicBlock *finalBlock, Value *inputIndexValue, vector< pair< BasicBlock *, BasicBlock * > > blocksForIndex) |
Generates a series of if-else statements for testing if an input index is equal to any of a set of indices, and executing the corresponding block of code if it is. | |
static Value * | generateFormattedString (Module *module, BasicBlock *block, string formatString, vector< Value * > replacementValues, VuoCompilerConstantsCache *constantsCache) |
Generates code that allocates a buffer to hold the composite string, then calls snprintf to combine the format string and replacement values into the composite string. | |
static Value * | generateStringConcatenation (Module *module, BasicBlock *block, vector< Value * > stringsToConcatenate, VuoCompilerConstantsCache *constantsCache) |
Generates code that allocates a buffer to hold the composite string, then concatenates each member of stringsToConcatenate into the composite string. | |
static Value * | generateMemoryAllocation (Module *module, BasicBlock *block, Type *elementType, int elementCount) |
Generates code that dynamically allocates memory for an array. | |
static Value * | generateMemoryAllocation (Module *module, BasicBlock *block, Type *elementType, Value *elementCountValue) |
Generates code that dynamically allocates memory for an array. | |
static Value * | generateMemoryAllocation (Module *module, BasicBlock *block, size_t bytes) |
Generates code that dynamically allocates a specified amount of memory. | |
static Value * | generateMemoryAllocation (Module *module, BasicBlock *block, VuoCompilerType *type) |
Generates code that dynamically allocates memory for an instance of type. | |
static void | generateMemoryCopy (Module *module, BasicBlock *block, Value *sourceAddress, Value *destAddress, size_t bytes) |
Generates code that copies memory. | |
static void | generateMemoryCopy (Module *module, BasicBlock *block, Value *sourceAddress, Value *destAddress, VuoCompilerType *type) |
Generates code that copies memory. | |
static Value * | generateTypeCast (Module *module, BasicBlock *block, Value *valueToCast, Type *typeToCastTo) |
Generates code to cast the value to the desired type (if it doesn't already have that type). | |
static void | generateAnnotation (Module *module, BasicBlock *block, Value *value, string annotation, string fileName, unsigned int lineNumber, VuoCompilerConstantsCache *constantsCache) |
Generates a call to llvm.var.annotation , which annotates a value with a string. | |
static void | generateModuleMetadata (Module *module, string metadata, string moduleKey) |
Generates code equivalent to the VuoModuleMetadata macro. | |
static void | generateRegisterCall (Module *module, BasicBlock *block, Value *argument, Function *freeFunction) |
Generates code to register argument. | |
static void | generateRetainCall (Module *module, BasicBlock *block, Value *argument) |
Generates any code needed to retain argument . | |
static void | generateReleaseCall (Module *module, BasicBlock *block, Value *argument) |
Generates any code needed to release argument . | |
static void | generateRetainOrReleaseCall (Module *module, BasicBlock *block, Value *argument, bool isRetain) |
Generates any code needed to retain or release argument . | |
static void | generateFreeCall (Module *module, BasicBlock *block, Value *argument) |
Generates a call to free argument (after casting it to a void pointer). | |
static void | generateJsonObjectPut (Module *module, BasicBlock *block, Value *jsonObjectValue) |
Generates a call to json_object_put() . | |
static void | generateNullCheck (Module *module, Function *function, Value *valueToCheck, BasicBlock *initialBlock, BasicBlock *&nullBlock, BasicBlock *¬NullBlock) |
Generates code that checks if valueToCheck (assumed to have a pointer type) is null. | |
static Value * | generateSerialization (Module *module, BasicBlock *block, Value *valueToSerialize, VuoCompilerConstantsCache *constantsCache) |
Generates code that creates a string representation of the given value. | |
static void | generateUnserialization (Module *module, BasicBlock *block, Value *stringToUnserialize, Value *destinationVariable, VuoCompilerConstantsCache *constantsCache) |
Generates code that creates a value of the given type from the given string representation, and stores it in the destination variable. | |
static ICmpInst * | generateIsPausedComparison (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates code that gets the return value of vuoIsPaused() as a comparison value. | |
static void | generateSendNodeExecutionStarted (Module *module, BasicBlock *block, Value *compositionStateValue, Value *nodeIdentifierValue) |
Generates a call to vuoSendNodeExecutionStarted() . | |
static void | generateSendNodeExecutionFinished (Module *module, BasicBlock *block, Value *compositionStateValue, Value *nodeIdentifierValue) |
Generates a call to vuoSendNodeExecutionFinished() . | |
static void | generateSendInputPortsUpdated (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, bool receivedEvent, bool receivedData, Value *portDataSummaryValue) |
Generates a call to vuoSendInputPortsUpdated() . | |
static void | generateSendInputPortsUpdated (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *receivedEventValue, Value *receivedDataValue, Value *portDataSummaryValue) |
Generates a call to vuoSendInputPortsUpdated() . | |
static void | generateSendOutputPortsUpdated (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *sentEventValue, Value *sentDataValue, Value *portDataSummaryValue) |
Generates a call to vuoSendOutputPortsUpdated() . | |
static void | generateSendPublishedOutputPortsUpdated (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *sentDataValue, Value *portDataSummaryValue) |
Generates a call to vuoSendPublishedOutputPortsUpdated() . | |
static void | generateSendEventFinished (Module *module, BasicBlock *block, Value *compositionStateValue, Value *eventIdValue) |
Generates a call to vuoSendEventFinished() . | |
static void | generateSendEventDropped (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue) |
Generates a call to vuoSendEventDropped() . | |
static ICmpInst * | generateShouldSendDataTelemetryComparison (Module *module, BasicBlock *block, string portIdentifier, Value *compositionStateValue, VuoCompilerConstantsCache *constantsCache) |
Generates code that gets the return value of the vuoShouldSendPortDataTelemetry() function as a comparison value. | |
static void | generateIsNodeBeingRemovedOrReplacedCheck (Module *module, Function *function, string nodeIdentifier, Value *compositionStateValue, BasicBlock *initialBlock, BasicBlock *&trueBlock, BasicBlock *&falseBlock, VuoCompilerConstantsCache *constantsCache, Value *&replacementJsonValue) |
Generates code that checks if vuoIsNodeBeingRemovedOrReplaced() returns true for nodeIdentifier. | |
static ICmpInst * | generateIsNodeBeingAddedOrReplacedCheck (Module *module, Function *function, string nodeIdentifier, Value *compositionStateValue, BasicBlock *initialBlock, BasicBlock *&trueBlock, BasicBlock *&falseBlock, VuoCompilerConstantsCache *constantsCache, Value *&replacementJsonValue) |
Generates code that checks if vuoIsNodeBeingAddedOrReplaced() returns true for nodeIdentifier. | |
static ConstantInt * | generateNoEventIdConstant (Module *module) |
Generates a dummy event ID to represent that no event is claiming a node. | |
static Value * | generateGetNodeContext (Module *module, BasicBlock *block, Value *compositionStateValue, size_t nodeIndex) |
Generates a call to vuoGetNodeContext() . | |
static Value * | generateGetNodeContext (Module *module, BasicBlock *block, Value *compositionStateValue, Value *nodeIndexValue) |
Generates a call to vuoGetNodeContext() . | |
static Value * | generateGetCompositionContext (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates a call to vuoGetCompositionContext() . | |
static void | generateAddNodeMetadata (Module *module, BasicBlock *block, Value *compositionStateValue, Value *nodeIdentifierValue, Function *compositionCreateContextForNodeFunction, Function *compositionSetPortValueFunction, Function *compositionGetPortValueFunction, Function *compositionFireTriggerPortEventFunction, Function *compositionReleasePortDataFunction) |
Generates a call to vuoAddNodeMetadata() . | |
static void | generateAddPortMetadata (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *portNameValue, size_t typeIndex, Value *initialValueValue) |
Generates a call to vuoAddPortMetadata() . | |
static void | generateInitContextForTopLevelComposition (Module *module, BasicBlock *block, Value *compositionStateValue, bool isStatefulComposition, size_t publishedOutputPortCount) |
Generates a call to vuoInitContextForTopLevelComposition() . | |
static void | generateFiniContextForTopLevelComposition (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates a call to vuoFiniContextForTopLevelComposition() . | |
static Value * | getTriggerWorkersScheduledValue (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates a call to vuoGetTriggerWorkersScheduled() . | |
static Value * | generateGetInputPortString (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *interprocessSerializationValue) |
Generates a call to vuoGetInputPortString() . | |
static Value * | generateGetOutputPortString (Module *module, BasicBlock *block, Value *compositionStateValue, Value *portIdentifierValue, Value *interprocessSerializationValue) |
Generates a call to vuoGetOutputPortString() . | |
static Value * | generateRuntimeStateValue (Module *module, BasicBlock *block) |
Generates code that gets the value of the vuoRuntimeState global variable. | |
static Value * | generateGetNextEventId (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates a call to vuoGetNextEventId() . | |
static Value * | generateCreateTriggerWorkerContext (Module *module, BasicBlock *block, Value *compositionStateValue, Value *dataCopyValue, Value *eventIdCopyValue) |
Generates a call to vuoCreateTriggerWorkerContext() . | |
static void | generateFreeTriggerWorkerContext (Module *module, BasicBlock *block, Value *contextValue) |
Generates a call to vuoFreeTriggerWorkerContext() . | |
static Value * | generateCreatePublishedInputWorkerContext (Module *module, BasicBlock *block, Value *compositionStateValue, Value *inputPortIdentifierValue, Value *valueAsStringValue, Value *isCompositionRunningValue) |
Generates a call to vuoCreatePublishedInputWorkerContext() . | |
static void | generateAddCompositionStateToThreadLocalStorage (Module *module, BasicBlock *block, Value *compositionStateValue) |
Generates a call to vuoAddCompositionStateToThreadLocalStorage() . | |
static void | generateRemoveCompositionStateFromThreadLocalStorage (Module *module, BasicBlock *block) |
Generates a call to vuoRemoveCompositionStateFromThreadLocalStorage() . | |
static void | generatePrint (Module *module, BasicBlock *block, string formatString, Value *value=NULL) |
Generates code that prints to stderr either a string literal or a formatted string with a value. | |
static void | generatePrint (Module *module, BasicBlock *block, string formatString, const vector< Value * > &values) |
Generates code that prints to stderr either a string literal or a formatted string with a value. | |
static void | generateVuoLog (Module *module, BasicBlock *block, string formatString, Value *value=NULL) |
Generates code that calls VuoLog() with either a string literal or a formatted string with a value. | |
static void | generateVuoLog (Module *module, BasicBlock *block, string formatString, const vector< Value * > &values) |
Generates code that calls VuoLog() with either a string literal or a formatted string with a value. | |
static bool | isPointerToStruct (Type *type, StructType **structType=nullptr) |
Returns true and outputs the struct type if type is a pointer to a struct. | |
static Value * | callFunctionWithStructReturn (Function *function, vector< Value * > args, BasicBlock *block) |
Generates a call to the function, whose first parameter is assumed to have LLVM's sret attribute. | |
static bool | isFunctionReturningStructViaParameter (Function *function) |
Returns true if the function's first parameter has LLVM's sret attribute, or in other words, LLVM has transformed struct MyType foo(...) to void foo(struct MyType *, ...) . | |
static void | copyParameterAttributes (Function *srcFunction, Function *dstFunction) |
Adds the LLVM attributes of srcFunction's to the corresponding parameters of dstFunction. | |
static void | copyParameterAttributes (Module *module, Function *srcFunction, CallInst *dstCall) |
Adds the LLVM attributes of srcFunction's to the corresponding parameters of dstCall. | |
static void | copyParameterAttributes (Module *module, const AttributeList &srcAttributes, size_t srcStartParam, size_t srcNumParams, Function *dstFunction, size_t dstStartParam) |
Sets the LLVM attributes of dstFunction's parameters to match the corresponding parameters in srcAttributes. | |
static void | copyParameterAttributes (Module *module, const AttributeList &srcAttributes, size_t srcStartParam, size_t srcNumParams, CallInst *dstCall, size_t dstStartParam) |
Sets the LLVM attributes of dstCall's arguments to match the corresponding parameters in srcAttributes. | |
static FunctionType * | getFunctionType (Module *module, VuoType *paramType) |
Returns a function type that accepts a vuoType (or its lowered form) as its parameter and has a void return type. | |
static Value * | getArgumentAtIndex (Function *function, size_t index) |
Returns the argument at index (numbered from 0) in the function's argument list. | |
static PointerType * | getDispatchSemaphoreType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static PointerType * | getDispatchGroupType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static StructType * | getDispatchObjectType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static StructType * | getNodeContextType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static StructType * | getPortContextType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static StructType * | getCompositionStateType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static StructType * | getJsonObjectType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static PointerType * | getCompositionInstanceDataType (Module *module) |
Returns a Type reference, generating code for the declaration if needed. | |
static Function * | getStrcatFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getStrcmpFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getStrdupFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getStrlenFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getSnprintfFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getSscanfFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getFprintfFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoLogFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getPutsFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getMallocFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getMemcpyFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getFreeFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getAnnotateFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getJsonObjectPutFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getJsonObjectToJsonStringExtFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getJsonTokenerParseFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoShaderMakeFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoShaderAddSourceFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoShaderSetTransparentFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoShaderSetUniformFunction (Module *module, VuoCompilerType *type) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoSamplerRectCoordinatesFromNormalizedCoordinatesFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoImageGetColorDepthFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getVuoImageRendererRenderFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionAddNodeMetadataFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionCreateContextForNodeFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionPerformDataOnlyTransmissionsFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionReleasePortDataFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getSetupFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCleanupFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getInstanceInitFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getInstanceFiniFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getInstanceTriggerStartFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getInstanceTriggerStopFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeInstanceInitFunction (Module *module, string moduleKey, bool isSubcomposition, Type *instanceDataType, const vector< VuoPort * > &modelInputPorts, map< VuoPort *, size_t > &indexOfParameter, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeInstanceFiniFunction (Module *module, string moduleKey, Type *instanceDataType, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeInstanceTriggerStartFunction (Module *module, string moduleKey, Type *instanceDataType, const vector< VuoPort * > &modelInputPorts, map< VuoPort *, size_t > &indexOfParameter, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeInstanceTriggerStopFunction (Module *module, string moduleKey, Type *instanceDataType, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeInstanceTriggerUpdateFunction (Module *module, string moduleKey, Type *instanceDataType, const vector< VuoPort * > &modelInputPorts, map< VuoPort *, size_t > &indexOfParameter, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getNodeEventFunction (Module *module, string moduleKey, bool isSubcomposition, bool isStateful, Type *instanceDataType, const vector< VuoPort * > &modelInputPorts, const vector< VuoPort * > &modelOutputPorts, const map< VuoPort *, json_object * > &detailsForPorts, const map< VuoPort *, string > &displayNamesForPorts, const map< VuoPort *, string > &defaultValuesForInputPorts, const map< VuoPort *, VuoPortClass::EventBlocking > &eventBlockingForInputPorts, map< VuoPort *, size_t > &indexOfParameter, map< VuoPort *, size_t > &indexOfEventParameter, VuoCompilerConstantsCache *constantsCache) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionGetPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getSetInputPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionSetPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionFireTriggerPortEventFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getGetPublishedInputPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getGetPublishedOutputPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getCompositionSetPublishedInputPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
static Function * | getSetPublishedInputPortValueFunction (Module *module) |
Returns a Function reference, generating code for the declaration if needed. | |
|
static |
Generates a call to the function, whose first parameter is assumed to have LLVM's sret
attribute.
Definition at line 5204 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Adds the LLVM attributes of srcFunction's to the corresponding parameters of dstFunction.
Definition at line 5228 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Sets the LLVM attributes of dstCall's arguments to match the corresponding parameters in srcAttributes.
Definition at line 5263 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Sets the LLVM attributes of dstFunction's parameters to match the corresponding parameters in srcAttributes.
Definition at line 5246 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Adds the LLVM attributes of srcFunction's to the corresponding parameters of dstCall.
Definition at line 5238 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoAddCompositionStateToThreadLocalStorage()
.
Definition at line 3713 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoAddNodeMetadata()
.
Definition at line 3372 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoAddPortMetadata()
.
Definition at line 3417 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to llvm.var.annotation
, which annotates a value with a string.
module | The module in which to generate code. |
block | The block in which to generate code. |
value | The value to be annotated. |
annotation | The annotation to be associated with the value. |
fileName | The name of the file for the module (or an empty string if no file). |
lineNumber | The line number in the file for the module (or 0 if no file). |
constantsCache | The cache of LLVM constants used to generate string values. |
Definition at line 2539 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that submits a function for asynchronous execution on a dispatch queue.
Definition at line 342 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a VuoCompositionState *
from the given void *runtimeState
and char *compositionIdentifier
.
Definition at line 1403 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that constructs a dispatch_group_t.
module | The module in which to generate code. |
block | The block in which to generate code. |
dispatch_group_create()
. Definition at line 160 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that constructs a dispatch_queue_t.
module | The module in which to generate code. |
block | The block in which to generate code. |
dispatchQueueName | The argument to pass to dispatch_queue_create() . |
dispatch_queue_create()
. Definition at line 289 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that constructs a dispatch_semaphore_t.
module | The module in which to generate code. |
block | The block in which to generate code. |
initialValue | The argument to pass to dispatch_semaphore_create() . |
dispatch_semaphore_create()
. Definition at line 30 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a dispatch_time_t by calling dispatch_time_create(DISPATCH_TIME_NOW, ...)
.
module | The module in which to generate code. |
block | The block in which to generate code. |
deltaValue | The 2nd argument to dispatch_time_create . |
Definition at line 496 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that allocates a NodeContext on the heap and initializes it with default values.
module | The module in which to generate code. |
block | The block in which to generate code. |
hasInstanceData | Whether this node has instance data. |
isComposition | Whether this node is a subcomposition. |
outputEventCount | The number of output ports, used to create the outputEvents field for subcompositions. |
NodeContext *
. Definition at line 865 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that allocates a PortContext on the heap and initializes it with default values.
module | The module in which to generate code. |
block | The block in which to generate code. |
dataType | The type of the port's data, or null if the port is event-only. |
isTrigger | Whether the port is a trigger. |
triggerQueueName | If the port is a trigger, the name to use when creating its dispatch queue. |
PortContext *
. Definition at line 533 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoCreatePublishedInputWorkerContext()
.
Definition at line 3680 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoCreateTriggerWorkerContext()
.
Definition at line 3628 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that increments the block count of a dispatch_group_t.
Definition at line 180 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoEventHitAnyInputPort
.
Definition at line 1203 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that releases a dispatch_object_t (dispatch_queue_t, dispatch_group_t, dispatch_semaphore_t, etc.).
module | The module in which to generate code. |
block | The block in which to generate code. |
dispatchObjectVariable | A pointer to the dispatch_object_t (e.g. a GlobalVariable or AllocaInst ). |
Definition at line 471 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoFiniContextForTopLevelComposition()
.
Definition at line 3486 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoFinishedExecutingEvent
.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | The composition's node context, a value of type NodeContext * . |
eventIdValue | A value of type unsigned long . |
bool
. Definition at line 1347 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that allocates a buffer to hold the composite string, then calls snprintf
to combine the format string and replacement values into the composite string.
module | The module in which to generate code. |
block | The block in which to generate code. |
formatString | The format string to be passed to snprintf . |
replacementValues | The replacement values to be passed to snprintf . |
constantsCache | The cache of LLVM constants used to generate string values. |
Definition at line 2253 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to free argument (after casting it to a void pointer).
Definition at line 2855 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that frees a VuoCompositionState *
(but not its fields).
Definition at line 1478 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoFreeTriggerWorkerContext()
.
Definition at line 3658 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the array element at the given index.
Definition at line 1976 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the array element at the given index.
Definition at line 1985 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetCompositionContext()
.
Definition at line 3349 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the compositionIdentifier
field of a VuoCompositionState *
.
Definition at line 1454 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the runtimeState
field of a VuoCompositionState *
.
Definition at line 1430 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that retrives the data
field in a port's context, given the port's identifier.
Definition at line 1501 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that retrieves the global dispatch queue.
Definition at line 254 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetInputPortString()
.
Definition at line 3531 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetNextEventId()
.
Definition at line 3605 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetNodeContext()
.
Definition at line 3312 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetNodeContext()
.
Definition at line 3323 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the claimingEventId
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
Definition at line 1122 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the executingGroup
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
Definition at line 1147 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the instanceData
field of a NodeContext (and dereference it to get the actual instance data).
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
instanceDataType | The type that the instanceData field should be converted to before returning. |
Definition at line 1081 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the address of the instanceData
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
instanceDataType | The type that the instanceData field should be converted to before returning. |
Definition at line 1096 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets an element of the outputEvents
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
index | The index of the event in the node context's array of output events. |
Definition at line 1173 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets an element of the portContexts
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
index | The index of the port context in the node context's array of port contexts. |
Definition at line 1045 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that retrieves the index (in VuoCompilerBitcodeGenerator::orderedNodes) of a node, given the identifier of a port on the node.
Definition at line 1528 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetOneExecutingEvent
.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | The composition's node context, a value of type NodeContext * . |
unsigned long
. Definition at line 1379 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetOutputPortString()
.
Definition at line 3560 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the address of the data
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
dataType | The type that the data should be converted to before returning. |
Definition at line 719 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that returns the data
field of a PortContext (a void pointer).
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
Definition at line 733 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the event
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
Definition at line 693 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the triggerFunction
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
functionType | The type that the function value should be converted to before returning. |
Definition at line 809 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the triggerQueue
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
Definition at line 758 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the triggerSemaphore
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
Definition at line 783 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the struct element at the given index.
Definition at line 2020 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that retrieves the index (in VuoCompilerBitcodeGenerator::orderedTypes) of a port's type, given the port's identifier.
Definition at line 1555 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGrantThreadsToChain
.
Definition at line 1695 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGrantThreadsToSubcomposition
.
Definition at line 1734 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a series of if-else statements for testing if an input index is equal to any of a set of indices, and executing the corresponding block of code if it is.
Assumes that none of the blocks passed to this function contain branch instructions. (This function appends branch instructions to all but the final block.)
Example:
if (inputIndex == 0) // blockForIndex[0] else if (inputIndex == 1) // blockForIndex[1] ...
module | The module in which to generate code. |
function | The function in which to generate code. |
initialBlock | The block to which the first if-statement will be appended. |
finalBlock | The block following the if-else statements. |
inputIndexValue | The index to compare in each if-statement. |
blocksForIndex | For each index, the first block and last block to execute if the input index matches that index. The caller is responsible for branching (directly or indirectly) from the first to the last block. |
Definition at line 2218 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoInitContextForTopLevelComposition()
.
Definition at line 3453 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that checks if vuoIsNodeBeingAddedOrReplaced()
returns true for nodeIdentifier.
This function initializes trueBlock and falseBlock and sets them up to be the blocks executed depending on the return value.
Definition at line 3255 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that checks if vuoIsNodeBeingRemovedOrReplaced()
returns true for nodeIdentifier.
This function initializes trueBlock and falseBlock and sets them up to be the blocks executed depending on the return value.
Definition at line 3207 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the return value of vuoIsPaused()
as a comparison value.
Definition at line 2934 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to json_object_put()
.
Definition at line 2866 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that decrements the block count of a dispatch_group_t.
Definition at line 201 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoLockNode()
.
Definition at line 1857 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoLockNode()
.
Definition at line 1867 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoLockNodes()
.
Definition at line 1821 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that dynamically allocates a specified amount of memory.
module | The module in which to generate code. |
block | The block in which to generate code. |
bytes | The number of bytes to allocate. |
Definition at line 2430 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that dynamically allocates memory for an array.
module | The module in which to generate code. |
block | The block in which to generate code. |
elementType | The type of each array element. |
elementCount | The number of array elements. |
Definition at line 2387 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that dynamically allocates memory for an array.
module | The module in which to generate code. |
block | The block in which to generate code. |
elementType | The type of each array element. |
elementCountValue | The number of array elements. Assumed to have type integer. |
Definition at line 2402 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that dynamically allocates memory for an instance of type.
module | The module in which to generate code. |
block | The block in which to generate code. |
type | The type of data to allocate space for. |
Definition at line 2445 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that copies memory.
Beware: this function's arguments are ordered {source, dest}, which is different from the libc's memcpy(void *restrict dst, const void *restrict src, size_t n);
.
module | The module in which to generate code. |
block | The block in which to generate code. |
sourceAddress | The address to copy from. |
destAddress | The address to copy to. |
bytes | The number of bytes to copy. |
Definition at line 2463 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that copies memory.
Beware: this function's arguments are ordered {source, dest}, which is different from the libc's memcpy(void *restrict dst, const void *restrict src, size_t n);
.
module | The module in which to generate code. |
block | The block in which to generate code. |
sourceAddress | The address to copy from. |
destAddress | The address to copy to. |
type | The type of data to copy. |
Definition at line 2493 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code equivalent to the VuoModuleMetadata macro.
Definition at line 2574 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a dummy event ID to represent that no event is claiming a node.
Definition at line 3304 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that checks if valueToCheck (assumed to have a pointer type) is null.
This function initializes nullBlock and notNullBlock and sets them up to be the blocks executed depending on the result.
Definition at line 2876 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a global array-of-strings variable.
module | The module in which to generate code. |
stringValues | The strings to be placed in the array. |
globalVariableName | The name to give to the global variable. |
Definition at line 2083 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a global array-of-unsigned-longs variable.
module | The module in which to generate code. |
values | The values to be placed in the array. |
globalVariableName | The name to give to the global variable. |
Definition at line 2114 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a global string variable.
module | The module in which to generate code. |
stringValue | The string initializer for the global variable. |
globalVariableName | The name to give to the global variable. |
Definition at line 2058 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a pointer to value
(on the stack), and returns the pointer.
Definition at line 2043 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that prints to stderr either a string literal or a formatted string with a value.
(Useful for debugging.)
Definition at line 3780 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that prints to stderr either a string literal or a formatted string with a value.
(Useful for debugging.)
Definition at line 3769 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code to register argument.
Definition at line 2769 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates any code needed to release argument
.
Definition at line 2813 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoRemoveCompositionStateFromThreadLocalStorage()
.
Definition at line 3736 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the event
field to false for all PortContexts in a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
Definition at line 1256 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates any code needed to retain argument
.
Definition at line 2805 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that retains a dispatch_object_t (dispatch_queue_t, dispatch_group_t, dispatch_semaphore_t, etc.).
module | The module in which to generate code. |
block | The block in which to generate code. |
dispatchObjectVariable | A pointer to the dispatch_object_t (e.g. a GlobalVariable or AllocaInst ). |
Definition at line 447 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates any code needed to retain or release argument
.
If argument
has a primitive, non-pointer type, no code is generated.
If argument
has a pointer type, VuoRetain
or VuoRelease
is called on argument
.
If argument
has a struct type, this function is called recursively on each member.
Definition at line 2827 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that calls vuoRetainPortContextData()
.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
Definition at line 835 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoReturnThreadsForChainWorker
.
Definition at line 1792 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoReturnThreadsForTriggerWorker
.
Definition at line 1766 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the value of the vuoRuntimeState
global variable.
Definition at line 3589 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoScheduleChainWorker
.
Definition at line 1632 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoScheduleTriggerWorker
.
Definition at line 1582 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendEventDropped()
.
Definition at line 3148 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendEventFinished()
.
Definition at line 3122 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendInputPortsUpdated()
.
Definition at line 3006 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendInputPortsUpdated()
.
Definition at line 3020 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendNodeExecutionFinished()
.
Definition at line 2980 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendNodeExecutionStarted()
.
Definition at line 2954 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendOutputPortsUpdated()
.
Definition at line 3055 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSendPublishedOutputPortsUpdated()
.
Definition at line 3090 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a string representation of the given value.
Definition at line 2890 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the array element at the given index.
Definition at line 1967 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the claimingEventId
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
claimingEventIdValue | The value to set the field to. |
Definition at line 977 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the instanceData
field of a NodeContext (to a heap-allocated copy of instanceDataValue) and frees the old value.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
instanceDataValue | The value to set the field to. |
Definition at line 941 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets an element of the outputEvents
field of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
index | The index of the event in the node context's array of output events. |
eventValue | The value to set the field to. |
Definition at line 1009 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the portContexts
and portContextCount
fields of a NodeContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | A value of type NodeContext * . |
portContextValues | The values to be placed in an array and stored in the field. |
Definition at line 901 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSetOutputEventsAfterNodeExecution
.
Definition at line 1229 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the data
field of a PortContext to a heap-allocated copy of dataValue.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
dataValue | The value to set the field to. |
dataType | The type of the port data. |
Definition at line 611 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the event
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
eventValue | The value to set the field to. |
Definition at line 579 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the eventBlocking
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
eventBlocking | The value to set the field to. |
Definition at line 659 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the triggerFunction
field of a PortContext.
module | The module in which to generate code. |
block | The block in which to generate code. |
portContextValue | A value of type PortContext * . |
triggerFunctionValue | The value to set the field to. |
Definition at line 625 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that sets the struct element at the given index.
Definition at line 2011 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that gets the return value of the vuoShouldSendPortDataTelemetry()
function as a comparison value.
Definition at line 3174 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that signals a dispatch_semaphore_t.
Definition at line 123 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that signals a dispatch_semaphore_t.
Definition at line 132 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoSpunOffExecutingEvent
.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | The composition's node context, a value of type NodeContext * . |
eventIdValue | A value of type unsigned long . |
Definition at line 1315 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoStartedExecutingEvent
.
module | The module in which to generate code. |
block | The block in which to generate code. |
nodeContextValue | The composition's node context, a value of type NodeContext * . |
eventIdValue | A value of type unsigned long . |
Definition at line 1284 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that allocates a buffer to hold the composite string, then concatenates each member of stringsToConcatenate
into the composite string.
module | The module in which to generate code. |
block | The block in which to generate code. |
stringsToConcatenate | The strings to concatenate. Each element should be a value of type pointer-to-char. |
constantsCache | The cache of LLVM constants used to generate string values. |
Definition at line 2298 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a series of if-else statements for testing if an input string is equal to any of a set of constant strings, and executing the corresponding block of code if it is.
Assumes that none of the blocks passed to this function contain branch instructions. (This function appends branch instructions to all but the final block.)
Example:
if (! strcmp(inputString, string0)) // blockForString[string0] else if (! strcmp(inputString, string1)) // blockForString[string1] ...
module | The module in which to generate code. |
function | The function in which to generate code. |
initialBlock | The block to which the first if-statement will be appended. |
finalBlock | The block following the if-else statements. |
inputStringValue | The string to compare in each if-statement. |
blocksForString | For each key string, the first block and last block to execute if the input string matches that string. The caller is responsible for branching (directly or indirectly) from the first to the last block. |
constantsCache | The cache of LLVM constants used to generate string values. |
Definition at line 2161 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that submits a function for synchronous execution on a dispatch queue.
Definition at line 351 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code to cast the value to the desired type (if it doesn't already have that type).
typeToCastTo
(which may be valueToCast
). Definition at line 2503 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoUnlockNode()
.
Definition at line 1930 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoUnlockNode()
.
Definition at line 1940 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoUnlockNodes()
.
Definition at line 1896 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that creates a value of the given type from the given string representation, and stores it in the destination variable.
Definition at line 2911 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that calls VuoLog()
with either a string literal or a formatted string with a value.
(Useful for debugging when stderr isn't available, such as in FFGL or FxPlug plugins.)
Definition at line 3808 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that calls VuoLog()
with either a string literal or a formatted string with a value.
(Useful for debugging when stderr isn't available, such as in FFGL or FxPlug plugins.)
Definition at line 3797 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that waits on a dispatch_group_t.
Definition at line 222 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that waits for and claims a dispatch_semaphore_t, with a timeout of DISPATCH_TIME_FOREVER
.
module | The module in which to generate code. |
block | The block in which to generate code. |
semaphoreVariable | The semaphore. |
Definition at line 60 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that waits for and possibly claims a dispatch_semaphore_t.
module | The module in which to generate code. |
block | The block in which to generate code. |
semaphoreVariable | The semaphore. |
timeoutValue | A value of type dispatch_time_t to pass to dispatch_semaphore_wait(). |
Definition at line 75 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that waits for and claims a dispatch_semaphore_t, with a timeout of DISPATCH_TIME_FOREVER
.
Definition at line 84 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates code that waits for and possibly claims a dispatch_semaphore_t.
Definition at line 94 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4222 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns the argument at index (numbered from 0) in the function's argument list.
Definition at line 5294 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4519 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4428 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4447 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5065 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5013 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 4006 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4467 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4486 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5037 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5139 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3936 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3838 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3869 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3828 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4117 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4206 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a function type that accepts a vuoType (or its lowered form) as its parameter and has a void return type.
Definition at line 5281 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5103 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5121 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4543 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4531 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4555 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4567 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4241 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4257 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3965 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4275 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4172 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4188 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3884 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4637 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4591 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4579 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4602 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4614 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4625 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Type reference, generating code for the declaration if needed.
Definition at line 3910 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4156 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5086 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 5163 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4507 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4082 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4100 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4017 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4034 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4050 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4066 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Generates a call to vuoGetTriggerWorkersScheduled()
.
Definition at line 3508 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4389 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4406 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4134 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4370 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4309 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4292 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4331 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns a Function reference, generating code for the declaration if needed.
Definition at line 4349 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns true if the function's first parameter has LLVM's sret
attribute, or in other words, LLVM has transformed struct MyType foo(...)
to void foo(struct MyType *, ...)
.
Definition at line 5218 of file VuoCompilerCodeGenUtilities.cc.
|
static |
Returns true and outputs the struct type if type is a pointer to a struct.
Definition at line 5184 of file VuoCompilerCodeGenUtilities.cc.