IPA constant propagation start: Determining dynamic type for call: prvUnlockQueue (xQueue_8(D)); Starting walk at: prvUnlockQueue (xQueue_8(D)); instance pointer: xQueue_8(D) Outer instance pointer: xQueue_8(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D)); Determining dynamic type for call: vQueueUnregisterQueue (xQueue_1(D)); Starting walk at: vQueueUnregisterQueue (xQueue_1(D)); instance pointer: xQueue_1(D) Outer instance pointer: xQueue_1(D) offset: 0 (bits) vtbl reference: Determining dynamic type for call: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); Starting walk at: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); instance pointer: xQueue_6(D) Outer instance pointer: xQueue_6(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); Starting walk at: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); instance pointer: pvBuffer_7(D) Outer instance pointer: pvBuffer_7(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); Starting walk at: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); instance pointer: xQueue_11(D) Outer instance pointer: xQueue_11(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); Starting walk at: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); instance pointer: pvBuffer_12(D) Outer instance pointer: pvBuffer_12(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvUnlockQueue (xQueue_26(D)); Starting walk at: prvUnlockQueue (xQueue_26(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _15 = prvIsQueueEmpty (xQueue_26(D)); Starting walk at: _15 = prvIsQueueEmpty (xQueue_26(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _11 = prvIsQueueEmpty (xQueue_26(D)); Starting walk at: _11 = prvIsQueueEmpty (xQueue_26(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_26(D)); Starting walk at: prvUnlockQueue (xQueue_26(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_26(D)); Starting walk at: prvUnlockQueue (xQueue_26(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); Starting walk at: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); instance pointer: xQueue_26(D) Outer instance pointer: xQueue_26(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); Starting walk at: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); instance pointer: pvBuffer_27(D) Outer instance pointer: pvBuffer_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_15 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:_11 = prvIsQueueEmpty (xQueue_26(D)); Function call may change dynamic type:_14 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_26(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_12, xTicksToWait.26_13); Determining dynamic type for call: prvUnlockQueue (xQueue_38(D)); Starting walk at: prvUnlockQueue (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _20 = prvIsQueueEmpty (xQueue_38(D)); Starting walk at: _20 = prvIsQueueEmpty (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D)); Starting walk at: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _14 = prvIsQueueEmpty (xQueue_38(D)); Starting walk at: _14 = prvIsQueueEmpty (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_38(D)); Starting walk at: prvUnlockQueue (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_38(D)); Starting walk at: prvUnlockQueue (xQueue_38(D)); instance pointer: xQueue_38(D) Outer instance pointer: xQueue_38(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:_14 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_20 = prvIsQueueEmpty (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:_19 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_38(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_17, xTicksToWait.21_18); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xInheritanceOccurred_70 = xTaskPriorityInherit (_16); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_27(D)); Starting walk at: prvUnlockQueue (xQueue_27(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _16 = prvIsQueueEmpty (xQueue_27(D)); Starting walk at: _16 = prvIsQueueEmpty (xQueue_27(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _12 = prvIsQueueEmpty (xQueue_27(D)); Starting walk at: _12 = prvIsQueueEmpty (xQueue_27(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_27(D)); Starting walk at: prvUnlockQueue (xQueue_27(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_27(D)); Starting walk at: prvUnlockQueue (xQueue_27(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); Starting walk at: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); instance pointer: xQueue_27(D) Outer instance pointer: xQueue_27(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Determining dynamic type for call: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); Starting walk at: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); instance pointer: pvBuffer_28(D) Outer instance pointer: pvBuffer_28(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_2 = xTaskGetSchedulerState (); Function call may change dynamic type:_16 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:_12 = prvIsQueueEmpty (xQueue_27(D)); Function call may change dynamic type:_15 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_27(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_13, xTicksToWait.17_14); Determining dynamic type for call: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); Starting walk at: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); instance pointer: xQueue_13(D) Outer instance pointer: xQueue_13(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); Starting walk at: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); instance pointer: pvItemToQueue_14(D) Outer instance pointer: pvItemToQueue_14(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortValidateInterruptPriority (); Determining dynamic type for call: prvUnlockQueue (xQueue_29(D)); Starting walk at: prvUnlockQueue (xQueue_29(D)); instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: _14 = prvIsQueueFull (xQueue_29(D)); Starting walk at: _14 = prvIsQueueFull (xQueue_29(D)); instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_29(D)); Starting walk at: prvUnlockQueue (xQueue_29(D)); instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: prvUnlockQueue (xQueue_29(D)); Starting walk at: prvUnlockQueue (xQueue_29(D)); instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Determining dynamic type for call: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); Starting walk at: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); instance pointer: xQueue_29(D) Outer instance pointer: xQueue_29(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Determining dynamic type for call: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); Starting walk at: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); instance pointer: pvItemToQueue_30(D) Outer instance pointer: pvItemToQueue_30(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:_3 = xTaskGetSchedulerState (); Function call may change dynamic type:_17 = xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Function call may change dynamic type:vTaskPlaceOnEventList (_15, xTicksToWait.5_16); Function call may change dynamic type:_14 = prvIsQueueFull (xQueue_29(D)); Function call may change dynamic type:_13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskSuspendAll (); Function call may change dynamic type:vPortExitCritical (); Function call may change dynamic type:vPortEnterCritical (); Function call may change dynamic type:vTaskInternalSetTimeOutState (&xTimeOut); Function call may change dynamic type:xTaskResumeAll (); Function call may change dynamic type:prvUnlockQueue (xQueue_29(D)); Determining dynamic type for call: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D)); Starting walk at: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D)); instance pointer: xMutex_9(D) Outer instance pointer: xMutex_9(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle (); Determining dynamic type for call: xQueueGenericSend (xMutex_7(D), 0B, 0, 0); Starting walk at: xQueueGenericSend (xMutex_7(D), 0B, 0, 0); instance pointer: xMutex_7(D) Outer instance pointer: xMutex_7(D) offset: 0 (bits) vtbl reference: Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle (); Determining dynamic type for call: xQueueGenericSend (xMutex_7(D), 0B, 0, 0); Starting walk at: xQueueGenericSend (xMutex_7(D), 0B, 0, 0); instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference: Function call may change dynamic type:_2 = xTaskGetCurrentTaskHandle (); Determining dynamic type for call: prvInitialiseMutex (xNewQueue_4); Starting walk at: prvInitialiseMutex (xNewQueue_4); instance pointer: xNewQueue_4 Outer instance pointer: xNewQueue_4 offset: 0 (bits) vtbl reference: Function call may change dynamic type:xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D)); Determining dynamic type for call: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0); Starting walk at: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0); instance pointer: pxNewQueue_2(D) Outer instance pointer: pxNewQueue_2(D) offset: 0 (bits) vtbl reference: Determining dynamic type for call: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0); Starting walk at: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0); instance pointer: 0B Outer instance pointer: 0B offset: 0 (bits) vtbl reference: Determining dynamic type for call: xQueueGenericReset (pxNewQueue_4(D), 1); Starting walk at: xQueueGenericReset (pxNewQueue_4(D), 1); instance pointer: pxNewQueue_4(D) Outer instance pointer: pxNewQueue_4(D) offset: 0 (bits) vtbl reference: Determining dynamic type for call: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); Starting walk at: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); instance pointer: pucQueueStorage_11 Outer instance pointer: pucQueueStorage_11 offset: 0 (bits) vtbl reference: Function call may change dynamic type:pxNewQueue_10 = pvPortMalloc (_4); Determining dynamic type for call: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); Starting walk at: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); instance pointer: pxNewQueue_10 Outer instance pointer: pxNewQueue_10 offset: 0 (bits) vtbl reference: Function call may change dynamic type:pxNewQueue_10 = pvPortMalloc (_4); Determining dynamic type for call: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D)); Starting walk at: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D)); instance pointer: xQueue_5(D) Outer instance pointer: xQueue_5(D) offset: 0 (bits) vtbl reference: IPA structures before propagation: Jump functions: Jump functions of caller vQueueUnregisterQueue.part.0/114: Jump functions of caller xQueueGenericReset.part.0/65: Jump functions of caller vTaskPlaceOnEventListRestricted/62: Jump functions of caller vPortFree/61: Jump functions of caller vTaskPriorityDisinheritAfterTimeout/60: Jump functions of caller xTaskPriorityInherit/59: Jump functions of caller pvTaskIncrementMutexHeldCount/58: Jump functions of caller vPortValidateInterruptPriority/57: Jump functions of caller vTaskMissedYield/56: Jump functions of caller memcpy/55: Jump functions of caller xTaskPriorityDisinherit/54: Jump functions of caller xTaskResumeAll/53: Jump functions of caller vTaskPlaceOnEventList/52: Jump functions of caller xTaskCheckForTimeOut/51: Jump functions of caller vTaskSuspendAll/50: Jump functions of caller vTaskInternalSetTimeOutState/49: Jump functions of caller xTaskGetSchedulerState/48: Jump functions of caller xTaskGetCurrentTaskHandle/47: Jump functions of caller pvPortMalloc/46: Jump functions of caller vPortExitCritical/45: Jump functions of caller vListInitialise/44: Jump functions of caller xTaskRemoveFromEventList/43: Jump functions of caller vPortEnterCritical/42: Jump functions of caller vQueueWaitForMessageRestricted/41: callsite vQueueWaitForMessageRestricted/41 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller vQueueUnregisterQueue/40: callsite vQueueUnregisterQueue/40 -> vQueueUnregisterQueue.part.0/114 : Jump functions of caller pcQueueGetName/39: Jump functions of caller vQueueAddToRegistry/38: Jump functions of caller xQueueIsQueueFullFromISR/37: Jump functions of caller prvIsQueueFull/36: Jump functions of caller xQueueIsQueueEmptyFromISR/35: Jump functions of caller prvIsQueueEmpty/34: Jump functions of caller prvUnlockQueue/33: Jump functions of caller prvCopyDataFromQueue/32: Jump functions of caller prvCopyDataToQueue/31: Jump functions of caller prvGetDisinheritPriorityAfterTimeout/30: Jump functions of caller ucQueueGetQueueType/29: Jump functions of caller vQueueSetQueueNumber/28: Jump functions of caller uxQueueGetQueueNumber/27: Jump functions of caller vQueueDelete/26: callsite vQueueDelete/26 -> vQueueUnregisterQueue/40 : param 0: PASS THROUGH: 0, op nop_expr, agg_preserved value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller uxQueueMessagesWaitingFromISR/25: Jump functions of caller uxQueueSpacesAvailable/24: Jump functions of caller uxQueueMessagesWaiting/23: Jump functions of caller xQueuePeekFromISR/22: callsite xQueuePeekFromISR/22 -> prvCopyDataFromQueue/32 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueReceiveFromISR/21: callsite xQueueReceiveFromISR/21 -> prvCopyDataFromQueue/32 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueuePeek/20: callsite xQueuePeek/20 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueuePeek/20 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueuePeek/20 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueuePeek/20 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueuePeek/20 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueuePeek/20 -> prvCopyDataFromQueue/32 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueSemaphoreTake/19: callsite xQueueSemaphoreTake/19 -> prvGetDisinheritPriorityAfterTimeout/30 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueSemaphoreTake/19 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueSemaphoreTake/19 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueSemaphoreTake/19 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueReceive/18: callsite xQueueReceive/18 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueReceive/18 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueReceive/18 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueReceive/18 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueReceive/18 -> prvIsQueueEmpty/34 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueReceive/18 -> prvCopyDataFromQueue/32 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueGiveFromISR/17: Jump functions of caller xQueueGenericSendFromISR/16: callsite xQueueGenericSendFromISR/16 -> prvCopyDataToQueue/31 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 2: PASS THROUGH: 3, op nop_expr value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff Unknown VR Jump functions of caller xQueueGenericSend/15: callsite xQueueGenericSend/15 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueGenericSend/15 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueGenericSend/15 -> prvUnlockQueue/33 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueGenericSend/15 -> prvIsQueueFull/36 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueGenericSend/15 -> prvCopyDataToQueue/31 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 2: PASS THROUGH: 3, op nop_expr value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff Unknown VR Jump functions of caller xQueueCreateCountingSemaphore/14: callsite xQueueCreateCountingSemaphore/14 -> xQueueGenericCreate/6 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 2: CONST: 2 value: 0x2, mask: 0x0 Unknown VR Jump functions of caller xQueueTakeMutexRecursive/13: callsite xQueueTakeMutexRecursive/13 -> xQueueSemaphoreTake/19 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueGiveMutexRecursive/12: callsite xQueueGiveMutexRecursive/12 -> xQueueGenericSend/15 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: CONST: 0B value: 0x0, mask: 0xfffffff8 Unknown VR param 2: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 3: CONST: 0 value: 0x0, mask: 0x0 Unknown VR Jump functions of caller xQueueGetMutexHolderFromISR/11: Jump functions of caller xQueueGetMutexHolder/10: Jump functions of caller xQueueCreateMutex/9: callsite xQueueCreateMutex/9 -> prvInitialiseMutex/8 : param 0: UNKNOWN value: 0x0, mask: 0xffffffff Unknown VR callsite xQueueCreateMutex/9 -> xQueueGenericCreate/6 : param 0: CONST: 1 value: 0x1, mask: 0x0 Unknown VR param 1: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 2: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xff Unknown VR Jump functions of caller prvInitialiseMutex/8: callsite prvInitialiseMutex/8 -> xQueueGenericSend/15 : param 0: PASS THROUGH: 0, op nop_expr Aggregate passed by reference: offset: 0, cst: 0B offset: 64, cst: 0B offset: 96, cst: 0 value: 0x0, mask: 0xffffffff Unknown VR param 1: CONST: 0B value: 0x0, mask: 0xfffffff8 Unknown VR param 2: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 3: CONST: 0 value: 0x0, mask: 0x0 Unknown VR Jump functions of caller prvInitialiseNewQueue/7: callsite prvInitialiseNewQueue/7 -> xQueueGenericReset/5 : param 0: PASS THROUGH: 4, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: CONST: 1 value: 0x1, mask: 0x0 Unknown VR Jump functions of caller xQueueGenericCreate/6: callsite xQueueGenericCreate/6 -> prvInitialiseNewQueue/7 : param 0: PASS THROUGH: 0, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffff Unknown VR param 2: UNKNOWN value: 0x0, mask: 0xffffffff VR ~[0, 0] param 3: PASS THROUGH: 2, op nop_expr value: 0x0, mask: 0xff Unknown VR param 4: UNKNOWN value: 0x0, mask: 0xffffffff Unknown VR Jump functions of caller xQueueGenericReset/5: callsite xQueueGenericReset/5 -> xQueueGenericReset.part.0/65 : param 0: PASS THROUGH: 0, op nop_expr, agg_preserved value: 0x0, mask: 0xffffffff Unknown VR param 1: PASS THROUGH: 1, op nop_expr value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff Unknown VR Propagating constants: Not considering vQueueWaitForMessageRestricted for cloning; -fipa-cp-clone disabled. Not considering vQueueUnregisterQueue for cloning; -fipa-cp-clone disabled. Not considering pcQueueGetName for cloning; -fipa-cp-clone disabled. Not considering vQueueAddToRegistry for cloning; -fipa-cp-clone disabled. Not considering xQueueIsQueueFullFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueueIsQueueEmptyFromISR for cloning; -fipa-cp-clone disabled. Not considering ucQueueGetQueueType for cloning; -fipa-cp-clone disabled. Not considering vQueueSetQueueNumber for cloning; -fipa-cp-clone disabled. Not considering uxQueueGetQueueNumber for cloning; -fipa-cp-clone disabled. Not considering vQueueDelete for cloning; -fipa-cp-clone disabled. Not considering uxQueueMessagesWaitingFromISR for cloning; -fipa-cp-clone disabled. Not considering uxQueueSpacesAvailable for cloning; -fipa-cp-clone disabled. Not considering uxQueueMessagesWaiting for cloning; -fipa-cp-clone disabled. Not considering xQueuePeekFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueueReceiveFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueuePeek for cloning; -fipa-cp-clone disabled. Not considering xQueueSemaphoreTake for cloning; -fipa-cp-clone disabled. Not considering xQueueReceive for cloning; -fipa-cp-clone disabled. Not considering xQueueGiveFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueueGenericSendFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueueGenericSend for cloning; -fipa-cp-clone disabled. Not considering xQueueCreateCountingSemaphore for cloning; -fipa-cp-clone disabled. Not considering xQueueTakeMutexRecursive for cloning; -fipa-cp-clone disabled. Not considering xQueueGiveMutexRecursive for cloning; -fipa-cp-clone disabled. Not considering xQueueGetMutexHolderFromISR for cloning; -fipa-cp-clone disabled. Not considering xQueueGetMutexHolder for cloning; -fipa-cp-clone disabled. Not considering xQueueCreateMutex for cloning; -fipa-cp-clone disabled. Not considering xQueueGenericCreate for cloning; -fipa-cp-clone disabled. Not considering xQueueGenericReset for cloning; -fipa-cp-clone disabled. overall_size: 1254, max_new_size: 11001 IPA lattices after all propagation: Lattices: Node: vQueueUnregisterQueue.part.0/114: Node: xQueueGenericReset.part.0/65: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [1]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: vQueueWaitForMessageRestricted/41: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: vQueueUnregisterQueue/40: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: pcQueueGetName/39: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: vQueueAddToRegistry/38: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueIsQueueFullFromISR/37: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: prvIsQueueFull/36: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: xQueueIsQueueEmptyFromISR/35: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: prvIsQueueEmpty/34: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: prvUnlockQueue/33: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: prvCopyDataFromQueue/32: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [1]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: prvCopyDataToQueue/31: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [1]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [2]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: prvGetDisinheritPriorityAfterTimeout/30: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: ucQueueGetQueueType/29: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: vQueueSetQueueNumber/28: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: uxQueueGetQueueNumber/27: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: vQueueDelete/26: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: uxQueueMessagesWaitingFromISR/25: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: uxQueueSpacesAvailable/24: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: uxQueueMessagesWaiting/23: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueuePeekFromISR/22: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueReceiveFromISR/21: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueuePeek/20: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueSemaphoreTake/19: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueReceive/18: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGiveFromISR/17: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGenericSendFromISR/16: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [3]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGenericSend/15: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [3]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueCreateCountingSemaphore/14: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueTakeMutexRecursive/13: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGiveMutexRecursive/12: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGetMutexHolderFromISR/11: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGetMutexHolder/10: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueCreateMutex/9: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: prvInitialiseMutex/8: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: prvInitialiseNewQueue/7: param [0]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [1]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [2]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) uint8_t * ~[0B, 0B] AGGS VARIABLE param [3]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE param [4]: VARIABLE ctxs: VARIABLE Bits unusable (BOTTOM) VARYING AGGS VARIABLE Node: xQueueGenericCreate/6: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [2]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: xQueueGenericReset/5: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM IPA decision stage: IPA constant propagation end Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: vQueueUnregisterQueue/40 (107374 (estimated locally),0.30 per call) Calls: xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05df82a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: xQueueGenericReset/5 (21218 (estimated locally),0.12 per call) Calls: vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xTaskRemoveFromEventList/43 (237404317 (estimated locally),0.22 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vListInitialise/44 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05f9a620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call) Calls: vPortFree/61 (vPortFree) @05f79ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) Calls: xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) Calls: pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call) Calls: vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call) Calls: vTaskMissedYield/56 (vTaskMissedYield) @05f532a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call) Calls: memcpy/55 (memcpy) @05f53000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) Calls: xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call) Calls: xTaskResumeAll/53 (xTaskResumeAll) @05f05e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call) Calls: xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call) Calls: xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call) Calls: pvPortMalloc/46 (pvPortMalloc) @05ef2000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call) Calls: vPortExitCritical/45 (vPortExitCritical) @05ef2d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call) Calls: vListInitialise/44 (vListInitialise) @05ef2c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) xQueueGenericReset.part.0/65 (354334802 (estimated locally),0.33 per call) Calls: xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05ef2b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (237404317 (estimated locally),0.22 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call) Calls: vPortEnterCritical/42 (vPortEnterCritical) @05ef2a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (1073741824 (estimated locally),1.00 per call) Calls: vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vQueueUnregisterQueue.part.0/114 (107374 (estimated locally),0.30 per call) pcQueueGetName/39 (pcQueueGetName) @05eece00 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueGenericSend/15 (896877 (estimated locally),2.51 per call) Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:114863534 (estimated locally) body local optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call) prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) Calls: memcpy/55 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call) prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) Calls: ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueDelete/26 (vQueueDelete) @05ee32a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:269344 (estimated locally) body optimize_size Called by: Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call) xQueuePeek/20 (xQueuePeek) @05eda000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call) Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (xQueueReceive) @05ec8540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call) xQueueGenericSend/15 (xQueueGenericSend) @05e687e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call) Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call) xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:128592 (estimated locally) body optimize_size Called by: Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call) xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvInitialiseMutex/8 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueueGenericCreate/6 (5162 (estimated locally),0.04 per call) Calls: xQueueGenericReset/5 (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:117029 (estimated locally) body optimize_size Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call) Calls: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) xQueueGenericReset/5 (xQueueGenericReset) @05e76c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:183702 (estimated locally) body optimize_size Called by: prvInitialiseNewQueue/7 (1073741824 (estimated locally),1.00 per call) Calls: xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) xQueueRegistry/4 (xQueueRegistry) @05e71630 Type: variable definition analyzed Visibility: externally_visible public References: Referring: pcQueueGetName/39 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)vQueueAddToRegistry/38 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write) Availability: available Varpool flags: ;; Function prvIsQueueEmpty (prvIsQueueEmpty, funcdef_no=33, decl_uid=6454, cgraph_uid=34, symbol_order=34) Modification phase of node prvIsQueueEmpty/34 prvIsQueueEmpty (const struct Queue_t * pxQueue) { BaseType_t xReturn; long unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} pxQueue_5(D)->uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_2 = PHI <1(2), 0(3)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_2; } ;; Function prvCopyDataToQueue (prvCopyDataToQueue, funcdef_no=30, decl_uid=6460, cgraph_uid=31, symbol_order=31) Modification phase of node prvCopyDataToQueue/31 prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition) { UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; int8_t * _4; int8_t * _5; long unsigned int _6; int8_t * _7; int8_t * _8; int8_t * _9; int8_t * _10; int8_t * _11; long unsigned int _12; sizetype _13; int8_t * _14; int8_t * _15; int8_t * _16; int8_t * _17; long unsigned int _18; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_25 # DEBUG BEGIN_STMT _1 = pxQueue_24(D)->uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT _2 = pxQueue_24(D)->pcHead; if (_2 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 93576600]: # DEBUG BEGIN_STMT _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder; xReturn_36 = xTaskPriorityDisinherit (_3); # DEBUG xReturn => xReturn_36 # DEBUG BEGIN_STMT pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B; goto ; [100.00%] [local count: 536870911]: # DEBUG BEGIN_STMT if (xPosition_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _4 = pxQueue_24(D)->pcWriteTo; memcpy (_4, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _5 = pxQueue_24(D)->pcWriteTo; _6 = pxQueue_24(D)->uxItemSize; _7 = _5 + _6; pxQueue_24(D)->pcWriteTo = _7; # DEBUG BEGIN_STMT _8 = pxQueue_24(D)->u.xQueue.pcTail; if (_7 >= _8) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _9 = pxQueue_24(D)->pcHead; pxQueue_24(D)->pcWriteTo = _9; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _10 = pxQueue_24(D)->u.xQueue.pcReadFrom; memcpy (_10, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _11 = pxQueue_24(D)->u.xQueue.pcReadFrom; _12 = pxQueue_24(D)->uxItemSize; _13 = -_12; _14 = _11 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _14; # DEBUG BEGIN_STMT _15 = pxQueue_24(D)->pcHead; if (_14 < _15) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _16 = pxQueue_24(D)->u.xQueue.pcTail; _17 = _16 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _17; [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xPosition_26(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 91268055]: # DEBUG BEGIN_STMT if (uxMessagesWaiting_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 45634027]: # DEBUG BEGIN_STMT uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295; # DEBUG uxMessagesWaiting => uxMessagesWaiting_31 [local count: 1073741824]: # xReturn_19 = PHI # uxMessagesWaiting_20 = PHI # DEBUG uxMessagesWaiting => uxMessagesWaiting_20 # DEBUG xReturn => xReturn_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _18 = uxMessagesWaiting_20 + 1; pxQueue_24(D)->uxMessagesWaiting ={v} _18; # DEBUG BEGIN_STMT return xReturn_19; } ;; Function prvCopyDataFromQueue (prvCopyDataFromQueue, funcdef_no=31, decl_uid=6463, cgraph_uid=32, symbol_order=32) Modification phase of node prvCopyDataFromQueue/32 prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer) { long unsigned int _1; int8_t * _2; int8_t * _3; int8_t * _4; int8_t * _5; int8_t * _6; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = pxQueue_10(D)->uxItemSize; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = pxQueue_10(D)->u.xQueue.pcReadFrom; _3 = _2 + _1; pxQueue_10(D)->u.xQueue.pcReadFrom = _3; # DEBUG BEGIN_STMT _4 = pxQueue_10(D)->u.xQueue.pcTail; if (_3 >= _4) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _5 = pxQueue_10(D)->pcHead; pxQueue_10(D)->u.xQueue.pcReadFrom = _5; [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = pxQueue_10(D)->u.xQueue.pcReadFrom; memcpy (pvBuffer_13(D), _6, _1); [local count: 1073741824]: return; } ;; Function prvUnlockQueue (prvUnlockQueue, funcdef_no=32, decl_uid=6452, cgraph_uid=33, symbol_order=33) Modification phase of node prvUnlockQueue/33 prvUnlockQueue (struct Queue_t * const pxQueue) { int8_t cRxLock; int8_t cTxLock; long unsigned int _1; struct List_t * _2; long int _3; unsigned char cTxLock.6_4; unsigned char _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cRxLock.7_9; unsigned char _10; [local count: 114863534]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cTxLock_20 ={v} pxQueue_19(D)->cTxLock; # DEBUG cTxLock => cTxLock_20 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878293]: # DEBUG BEGIN_STMT _2 = &pxQueue_19(D)->xTasksWaitingToReceive; _3 = xTaskRemoveFromEventList (_2); if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429836]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878293]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.6_4 = (unsigned char) cTxLock_11; _5 = cTxLock.6_4 + 255; cTxLock_23 = (int8_t) _5; # DEBUG cTxLock => cTxLock_23 [local count: 1073741824]: # cTxLock_11 = PHI # DEBUG cTxLock => cTxLock_11 # DEBUG BEGIN_STMT if (cTxLock_11 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863532]: # DEBUG BEGIN_STMT pxQueue_19(D)->cTxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cRxLock_27 ={v} pxQueue_19(D)->cRxLock; # DEBUG cRxLock => cRxLock_27 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686003]: # DEBUG BEGIN_STMT _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems; if (_6 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878272]: # DEBUG BEGIN_STMT _7 = &pxQueue_19(D)->xTasksWaitingToSend; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429830]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878272]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.7_9 = (unsigned char) cRxLock_12; _10 = cRxLock.7_9 + 255; cRxLock_30 = (int8_t) _10; # DEBUG cRxLock => cRxLock_30 [local count: 1073741803]: # cRxLock_12 = PHI # DEBUG cRxLock => cRxLock_12 # DEBUG BEGIN_STMT if (cRxLock_12 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863529]: # DEBUG BEGIN_STMT pxQueue_19(D)->cRxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); return; } ;; Function xQueueGenericReset (xQueueGenericReset, funcdef_no=4, decl_uid=6412, cgraph_uid=5, symbol_order=5) Modification phase of node xQueueGenericReset/5 xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue) { BaseType_t D.7333; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; __complex__ long unsigned int _2; long unsigned int _3; long unsigned int _4; [local count: 183702]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_5(D) # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 55111]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 551107865]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 551107865]: goto ; [100.00%] [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize; _2 = .MUL_OVERFLOW (_3, _1); _4 = IMAGPART_EXPR <_2>; if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D)); return _13; [local count: 107374]: # DEBUG xReturn => NULL # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } ;; Function xQueueGenericCreate (xQueueGenericCreate, funcdef_no=5, decl_uid=6392, cgraph_uid=6, symbol_order=6) Modification phase of node xQueueGenericCreate/6 xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType) { uint32_t ulNewBASEPRI; uint8_t * pucQueueStorage; struct Queue_t * pxNewQueue; __complex__ long unsigned int _1; long unsigned int _2; long unsigned int _3; unsigned int _4; [local count: 117029]: # DEBUG BEGIN_STMT # DEBUG pxNewQueue => 0B # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxQueueLength_6(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58514]: _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D)); _2 = IMAGPART_EXPR <_1>; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 29257]: _3 = uxQueueLength_6(D) * uxItemSize_7(D); if (_3 <= 4294967215) goto ; [33.00%] else goto ; [67.00%] [local count: 9655]: # DEBUG BEGIN_STMT # DEBUG xQueueSizeInBytes => _3 # DEBUG BEGIN_STMT _4 = _3 + 80; pxNewQueue_10 = pvPortMalloc (_4); # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT if (pxNewQueue_10 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 5162]: # DEBUG BEGIN_STMT # DEBUG pucQueueStorage => pxNewQueue_10 # DEBUG BEGIN_STMT pucQueueStorage_11 = pxNewQueue_10 + 80; # DEBUG pucQueueStorage => pucQueueStorage_11 # DEBUG BEGIN_STMT prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10); goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 9655]: # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxNewQueue_10; } ;; Function xQueueGetMutexHolder (xQueueGetMutexHolder, funcdef_no=9, decl_uid=6374, cgraph_uid=10, symbol_order=10) Modification phase of node xQueueGetMutexHolder/10 xQueueGetMutexHolder (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxSemaphore => xSemaphore_3(D) # DEBUG BEGIN_STMT if (xSemaphore_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 63175]: # DEBUG BEGIN_STMT pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_6 [local count: 123389]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return pxReturn_2; } ;; Function xQueueGetMutexHolderFromISR (xQueueGetMutexHolderFromISR, funcdef_no=10, decl_uid=6376, cgraph_uid=11, symbol_order=11) Modification phase of node xQueueGetMutexHolderFromISR/11 xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSemaphore_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 128276]: # DEBUG BEGIN_STMT pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_5 [local count: 250539]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT return pxReturn_2; } ;; Function xQueueCreateCountingSemaphore (xQueueCreateCountingSemaphore, funcdef_no=13, decl_uid=6365, cgraph_uid=14, symbol_order=14) Modification phase of node xQueueCreateCountingSemaphore/14 xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) { uint32_t ulNewBASEPRI; struct QueueDefinition * xHandle; [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG xHandle => 0B # DEBUG BEGIN_STMT if (uxMaxCount_2(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: if (uxMaxCount_2(D) >= uxInitialCount_3(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: # DEBUG BEGIN_STMT xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2); # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT if (xHandle_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 14852]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 21218]: # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHandle_6; } ;; Function xQueueGenericSend (xQueueGenericSend, funcdef_no=14, decl_uid=6306, cgraph_uid=15, symbol_order=15) Modification phase of node xQueueGenericSend/15 xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct TimeOut_t xTimeOut; BaseType_t xYieldRequired; BaseType_t xEntryTimeSet; long unsigned int _1; long unsigned int _2; long int _3; long unsigned int xTicksToWait.3_4; long unsigned int _5; long unsigned int _6; long unsigned int _7; struct List_t * _8; long int _9; long unsigned int xTicksToWait.4_10; signed char _11; signed char _12; long int _13; long int _14; struct List_t * _15; long unsigned int xTicksToWait.5_16; long int _17; BaseType_t _21; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_29(D) # DEBUG BEGIN_STMT if (xQueue_29(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue_30(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_68 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 375809639]: goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_32(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_69 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 718505940]: goto ; [100.00%] [local count: 141108]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetSchedulerState (); if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 105831]: # xEntryTimeSet_36 = PHI <0(13), 0(15)> goto ; [100.00%] [local count: 70554]: xTicksToWait.3_4 = xTicksToWait; if (xTicksToWait.3_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 35277]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_70 [local count: 352770504]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 352770504]: goto ; [100.00%] [local count: 896877]: # xEntryTimeSet_18 = PHI [local count: 1002708]: # xEntryTimeSet_19 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting; _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_5 < _6) goto ; [2.75%] else goto ; [97.25%] [local count: 975134]: if (xCopyPosition_32(D) == 2) goto ; [2.75%] else goto ; [97.25%] [local count: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); # DEBUG xYieldRequired => xYieldRequired_57 # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17949]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8974]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 36442]: # DEBUG BEGIN_STMT if (xYieldRequired_57 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18221]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 948318]: # DEBUG BEGIN_STMT xTicksToWait.4_10 = xTicksToWait; if (xTicksToWait.4_10 == 0) goto ; [2.75%] else goto ; [97.25%] [local count: 26079]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 922239]: # DEBUG BEGIN_STMT if (xEntryTimeSet_19 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 304339]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 922239]: # xEntryTimeSet_20 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [97.25%] else goto ; [2.75%] [local count: 896877]: # DEBUG BEGIN_STMT _14 = prvIsQueueFull (xQueue_29(D)); if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 448439]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend; xTicksToWait.5_16 = xTicksToWait; vTaskPlaceOnEventList (_15, xTicksToWait.5_16); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT _17 = xTaskResumeAll (); if (_17 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 224219]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); goto ; [100.00%] [local count: 448439]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 25362]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 105831]: # _21 = PHI <1(26), 0(28), 0(40)> xTimeOut ={v} {CLOBBER}; return _21; } ;; Function xQueueCreateMutex (xQueueCreateMutex, funcdef_no=8, decl_uid=6359, cgraph_uid=9, symbol_order=9) Modification phase of node xQueueCreateMutex/9 xQueueCreateMutex (const uint8_t ucQueueType) { struct QueueDefinition * xNewQueue; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxMutexLength => 1 # DEBUG uxMutexSize => 0 # DEBUG BEGIN_STMT xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D)); # DEBUG xNewQueue => xNewQueue_4 # DEBUG BEGIN_STMT prvInitialiseMutex (xNewQueue_4); # DEBUG BEGIN_STMT return xNewQueue_4; } ;; Function xQueueGiveMutexRecursive (xQueueGiveMutexRecursive, funcdef_no=11, decl_uid=6381, cgraph_uid=12, symbol_order=12) Modification phase of node xQueueGiveMutexRecursive/12 xQueueGiveMutexRecursive (struct QueueDefinition * xMutex) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_7(D) # DEBUG BEGIN_STMT if (xMutex_7(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [30.00%] else goto ; [70.00%] [local count: 37017]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 4294967295; MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 12216]: # DEBUG BEGIN_STMT xQueueGenericSend (xMutex_7(D), 0B, 0, 0); [local count: 123389]: # xReturn_5 = PHI <1(7), 0(5), 1(6)> # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_5; } ;; Function xQueueGenericSendFromISR (xQueueGenericSendFromISR, funcdef_no=15, decl_uid=6328, cgraph_uid=16, symbol_order=16) Modification phase of node xQueueGenericSendFromISR/16 xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxPreviousMessagesWaiting; const int8_t cTxLock; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; unsigned char cTxLock.10_8; unsigned char _9; signed char _10; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_13(D) # DEBUG BEGIN_STMT if (xQueue_13(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue_14(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 375809639]: goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_16(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 718505940]: goto ; [100.00%] [local count: 141108]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_3 < _4) goto ; [33.00%] else goto ; [67.00%] [local count: 94542]: if (xCopyPosition_16(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 78710]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 26761]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 8831]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4416]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_23(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 3091]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_23(D) = 1; goto ; [100.00%] [local count: 51949]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 17663]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_30 [local count: 176625587]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 176625587]: goto ; [100.00%] [local count: 34286]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.10_8 = (unsigned char) cTxLock_18; _9 = cTxLock.10_8 + 1; _10 = (signed char) _9; MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10; [local count: 123445]: # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)> # DEBUG xReturn => xReturn_11 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_11; } ;; Function xQueueGiveFromISR (xQueueGiveFromISR, funcdef_no=16, decl_uid=6331, cgraph_uid=17, symbol_order=17) Modification phase of node xQueueGiveFromISR/17 xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cTxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cTxLock.12_9; unsigned char _10; signed char _11; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_14(D) # DEBUG BEGIN_STMT if (xQueue_14(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 92035]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 920350133]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741823]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 49961]: _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder; if (_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 34973]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 349728449]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 349728449]: goto ; [100.00%] [local count: 72401]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_17 # DEBUG BEGIN_STMT _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength; if (_4 > uxMessagesWaiting_17) goto ; [50.00%] else goto ; [50.00%] [local count: 36201]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = uxMessagesWaiting_17 + 1; MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5; # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 12308]: # DEBUG BEGIN_STMT _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4062]: # DEBUG BEGIN_STMT _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2031]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_22(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1422]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_22(D) = 1; goto ; [100.00%] [local count: 23892]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 8123]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 [local count: 81234300]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 81234300]: goto ; [100.00%] [local count: 15769]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.12_9 = (unsigned char) cTxLock_18; _10 = cTxLock.12_9 + 1; _11 = (signed char) _10; MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11; [local count: 64278]: # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)> # DEBUG xReturn => xReturn_12 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_12; } ;; Function xQueueReceive (xQueueReceive, funcdef_no=17, decl_uid=6317, cgraph_uid=18, symbol_order=18) Modification phase of node xQueueReceive/18 xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.15_3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; long unsigned int xTicksToWait.16_8; signed char _9; signed char _10; long int _11; long int _12; struct List_t * _13; long unsigned int xTicksToWait.17_14; long int _15; long int _16; BaseType_t _19; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_27(D) # DEBUG BEGIN_STMT if (xQueue_27(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_28(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_32 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.15_3 = xTicksToWait; if (xTicksToWait.15_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 480629211]: goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_46 = PHI [local count: 1622915]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_34 # DEBUG BEGIN_STMT if (uxMessagesWaiting_34 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # uxMessagesWaiting_31 = PHI # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxMessagesWaiting_31 + 4294967295; MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.16_8 = xTicksToWait; if (xTicksToWait.16_8 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_17 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_18 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock; if (_10 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_11 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _12 = prvIsQueueEmpty (xQueue_27(D)); if (_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive; xTicksToWait.17_14 = xTicksToWait; vTaskPlaceOnEventList (_13, xTicksToWait.17_14); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT _15 = xTaskResumeAll (); if (_15 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _16 = prvIsQueueEmpty (xQueue_27(D)); if (_16 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _19 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _19; } ;; Function xQueueSemaphoreTake (xQueueSemaphoreTake, funcdef_no=18, decl_uid=6372, cgraph_uid=19, symbol_order=19) Modification phase of node xQueueSemaphoreTake/19 xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; UBaseType_t uxHighestWaitingPriority; const UBaseType_t uxSemaphoreCount; BaseType_t xInheritanceOccurred; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.19_3; long unsigned int _4; int8_t * _5; struct tskTaskControlBlock * _6; long unsigned int _7; struct List_t * _8; long int _9; long unsigned int xTicksToWait.20_10; signed char _11; signed char _12; long int _13; long int _14; int8_t * _15; struct tskTaskControlBlock * _16; struct List_t * _17; long unsigned int xTicksToWait.21_18; long int _19; long int _20; struct tskTaskControlBlock * _21; BaseType_t _27; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_38(D) # DEBUG BEGIN_STMT # DEBUG xInheritanceOccurred => 0 # DEBUG BEGIN_STMT if (xQueue_38(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 68683]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_88 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize; if (_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_89 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: xTicksToWait.19_3 = xTicksToWait; if (xTicksToWait.19_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 39664]: # xEntryTimeSet_40 = PHI <0(9), 0(8)> # xInheritanceOccurred_64 = PHI <0(9), 0(8)> goto ; [100.00%] [local count: 13221]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_90 [local count: 132214478]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 132214478]: goto ; [100.00%] [local count: 406777]: # xEntryTimeSet_48 = PHI # xInheritanceOccurred_39 = PHI [local count: 446442]: # xEntryTimeSet_22 = PHI # xInheritanceOccurred_24 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_24 # DEBUG xEntryTimeSet => xEntryTimeSet_22 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting; # DEBUG uxSemaphoreCount => uxSemaphoreCount_46 # DEBUG BEGIN_STMT if (uxSemaphoreCount_46 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 16340]: # uxSemaphoreCount_26 = PHI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxSemaphoreCount_26 + 4294967295; MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_5 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 2848]: # DEBUG BEGIN_STMT _6 = pvTaskIncrementMutexHeldCount (); MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6; [local count: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5392]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2696]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 430102]: # DEBUG BEGIN_STMT xTicksToWait.20_10 = xTicksToWait; if (xTicksToWait.20_10 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 15742]: # xInheritanceOccurred_43 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_43 != 0) goto ; [79.76%] else goto ; [20.24%] [local count: 12556]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_91 [local count: 125556217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 125556217]: goto ; [100.00%] [local count: 3186]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 414360]: # DEBUG BEGIN_STMT if (xEntryTimeSet_22 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 136739]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 414360]: # xEntryTimeSet_23 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_23 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 207180]: # DEBUG BEGIN_STMT _14 = prvIsQueueEmpty (xQueue_38(D)); if (_14 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 138811]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_15 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 24195]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; xInheritanceOccurred_70 = xTaskPriorityInherit (_16); # DEBUG xInheritanceOccurred => xInheritanceOccurred_70 # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 138811]: # xInheritanceOccurred_25 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive; xTicksToWait.21_18 = xTicksToWait; vTaskPlaceOnEventList (_17, xTicksToWait.21_18); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT _19 = xTaskResumeAll (); if (_19 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 69405]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 68369]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 207180]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _20 = prvIsQueueEmpty (xQueue_38(D)); if (_20 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 7583]: # xInheritanceOccurred_44 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_44 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2502]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D)); # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61 # DEBUG BEGIN_STMT _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61); # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 7583]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 27109]: # _27 = PHI <1(20), 0(25), 0(42)> xTimeOut ={v} {CLOBBER}; return _27; } ;; Function xQueueTakeMutexRecursive (xQueueTakeMutexRecursive, funcdef_no=12, decl_uid=6379, cgraph_uid=13, symbol_order=13) Modification phase of node xQueueTakeMutexRecursive/13 xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_9(D) # DEBUG BEGIN_STMT if (xMutex_9(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [46.53%] else goto ; [53.47%] [local count: 57413]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 goto ; [100.00%] [local count: 65976]: # DEBUG BEGIN_STMT xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D)); # DEBUG xReturn => xReturn_14 # DEBUG BEGIN_STMT if (xReturn_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 32988]: # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _6 = _5 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6; [local count: 123389]: # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)> # DEBUG xReturn => xReturn_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_7; } ;; Function xQueuePeek (xQueuePeek, funcdef_no=19, decl_uid=6310, cgraph_uid=20, symbol_order=20) Modification phase of node xQueuePeek/20 xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; int8_t * pcOriginalReadPosition; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.24_3; long unsigned int _4; struct List_t * _5; long int _6; long unsigned int xTicksToWait.25_7; signed char _8; signed char _9; long int _10; long int _11; struct List_t * _12; long unsigned int xTicksToWait.26_13; long int _14; long int _15; BaseType_t _18; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_26(D) # DEBUG BEGIN_STMT if (xQueue_26(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_64 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_27(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_30 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.24_3 = xTicksToWait; if (xTicksToWait.24_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 480629211]: goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_44 = PHI [local count: 1622915]: # xEntryTimeSet_16 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_32 # DEBUG BEGIN_STMT if (uxMessagesWaiting_32 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # DEBUG BEGIN_STMT pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55; # DEBUG BEGIN_STMT _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; _6 = xTaskRemoveFromEventList (_5); if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.25_7 = xTicksToWait; if (xTicksToWait.25_7 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_16 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock; if (_8 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_10 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _11 = prvIsQueueEmpty (xQueue_26(D)); if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; xTicksToWait.26_13 = xTicksToWait; vTaskPlaceOnEventList (_12, xTicksToWait.26_13); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT _14 = xTaskResumeAll (); if (_14 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _15 = prvIsQueueEmpty (xQueue_26(D)); if (_15 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _18 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _18; } ;; Function xQueueReceiveFromISR (xQueueReceiveFromISR, funcdef_no=20, decl_uid=6335, cgraph_uid=21, symbol_order=21) Modification phase of node xQueueReceiveFromISR/21 xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cRxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct List_t * _4; long int _5; unsigned char cRxLock.28_6; unsigned char _7; signed char _8; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_11(D) # DEBUG BEGIN_STMT if (xQueue_11(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_12(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_15 # DEBUG BEGIN_STMT if (uxMessagesWaiting_15 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 63443]: # DEBUG BEGIN_STMT cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock; # DEBUG cRxLock => cRxLock_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); # DEBUG BEGIN_STMT _2 = uxMessagesWaiting_15 + 4294967295; MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2; # DEBUG BEGIN_STMT if (cRxLock_16 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 21571]: # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 7118]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend; _5 = xTaskRemoveFromEventList (_4); if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3559]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_21(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2491]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_21(D) = 1; goto ; [100.00%] [local count: 41872]: # DEBUG BEGIN_STMT if (cRxLock_16 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 14237]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 142366217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 142366217]: goto ; [100.00%] [local count: 27636]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.28_6 = (unsigned char) cRxLock_16; _7 = cRxLock.28_6 + 1; _8 = (signed char) _7; MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8; [local count: 178015]: # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)> # DEBUG xReturn => xReturn_9 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_9; } ;; Function xQueuePeekFromISR (xQueuePeekFromISR, funcdef_no=21, decl_uid=6313, cgraph_uid=22, symbol_order=22) Modification phase of node xQueuePeekFromISR/22 xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; int8_t * pcOriginalReadPosition; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; [local count: 269344]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_6(D) # DEBUG BEGIN_STMT if (xQueue_6(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 80803]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_13 [local count: 808033481]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 808033481]: goto ; [100.00%] [local count: 188541]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_7(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 56562]: _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 28281]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 282811719]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 282811719]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_2 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_15 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17452]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 52886]: # xReturn_4 = PHI <1(13), 0(12)> # DEBUG xReturn => xReturn_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_4; } ;; Function uxQueueMessagesWaiting (uxQueueMessagesWaiting, funcdef_no=22, decl_uid=6319, cgraph_uid=23, symbol_order=23) Modification phase of node uxQueueMessagesWaiting/23 uxQueueMessagesWaiting (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_4 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_4; } ;; Function uxQueueSpacesAvailable (uxQueueSpacesAvailable, funcdef_no=23, decl_uid=6321, cgraph_uid=24, symbol_order=24) Modification phase of node uxQueueSpacesAvailable/24 uxQueueSpacesAvailable (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; long unsigned int _1; long unsigned int _2; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength; _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; uxReturn_6 = _1 - _2; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_6; } ;; Function uxQueueMessagesWaitingFromISR (uxQueueMessagesWaitingFromISR, funcdef_no=24, decl_uid=6341, cgraph_uid=25, symbol_order=25) Modification phase of node uxQueueMessagesWaitingFromISR/25 uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_4 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_3 # DEBUG BEGIN_STMT return uxReturn_3; } ;; Function uxQueueGetQueueNumber (uxQueueGetQueueNumber, funcdef_no=26, decl_uid=6417, cgraph_uid=27, symbol_order=27) Modification phase of node uxQueueGetQueueNumber/27 uxQueueGetQueueNumber (struct QueueDefinition * xQueue) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber; return _3; } ;; Function vQueueSetQueueNumber (vQueueSetQueueNumber, funcdef_no=27, decl_uid=6415, cgraph_uid=28, symbol_order=28) Modification phase of node vQueueSetQueueNumber/28 vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D); return; } ;; Function ucQueueGetQueueType (ucQueueGetQueueType, funcdef_no=28, decl_uid=6419, cgraph_uid=29, symbol_order=29) Modification phase of node ucQueueGetQueueType/29 ucQueueGetQueueType (struct QueueDefinition * xQueue) { uint8_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType; return _3; } ;; Function xQueueIsQueueEmptyFromISR (xQueueIsQueueEmptyFromISR, funcdef_no=34, decl_uid=6337, cgraph_uid=35, symbol_order=35) Modification phase of node xQueueIsQueueEmptyFromISR/35 xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_2 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } ;; Function xQueueIsQueueFullFromISR (xQueueIsQueueFullFromISR, funcdef_no=36, decl_uid=6339, cgraph_uid=37, symbol_order=37) Modification phase of node xQueueIsQueueFullFromISR/37 xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_4(D) # DEBUG BEGIN_STMT if (xQueue_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting; _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength; if (_1 == _2) goto ; [34.00%] else goto ; [66.00%] [local count: 165356]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_3 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } ;; Function vQueueAddToRegistry (vQueueAddToRegistry, funcdef_no=37, decl_uid=6384, cgraph_uid=38, symbol_order=38) Modification phase of node vQueueAddToRegistry/38 vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName) { uint32_t ulNewBASEPRI; struct QueueRegistryItem_t * pxEntryToWrite; UBaseType_t ux; struct QueueDefinition * _1; const char * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_8(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEntryToWrite => 0B # DEBUG BEGIN_STMT if (pcQueueName_10(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 175378]: goto ; [100.00%] [local count: 316038]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_3].xHandle; if (_1 == xQueue_8(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 17382]: # ux_9 = PHI # DEBUG BEGIN_STMT pxEntryToWrite_14 = &xQueueRegistry[ux_9]; # DEBUG pxEntryToWrite => pxEntryToWrite_14 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 298656]: # DEBUG BEGIN_STMT if (pxEntryToWrite_5 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 89597]: _2 = xQueueRegistry[ux_3].pcQueueName; if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 26879]: # DEBUG BEGIN_STMT pxEntryToWrite_12 = &xQueueRegistry[ux_3]; # DEBUG pxEntryToWrite => pxEntryToWrite_12 [local count: 298656]: # pxEntryToWrite_4 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_13 = ux_3 + 1; # DEBUG ux => ux_13 [local count: 474034]: # ux_3 = PHI # pxEntryToWrite_5 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_5 # DEBUG ux => ux_3 # DEBUG BEGIN_STMT if (ux_3 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 175378]: # pxEntryToWrite_6 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_6 # DEBUG BEGIN_STMT if (pxEntryToWrite_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 122764]: # DEBUG BEGIN_STMT pxEntryToWrite_6->pcQueueName = pcQueueName_10(D); # DEBUG BEGIN_STMT pxEntryToWrite_6->xHandle = xQueue_8(D); [local count: 250539]: # DEBUG pxEntryToWrite => NULL # DEBUG BEGIN_STMT return; } ;; Function pcQueueGetName (pcQueueGetName, funcdef_no=38, decl_uid=6388, cgraph_uid=39, symbol_order=39) Modification phase of node pcQueueGetName/39 pcQueueGetName (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; const char * pcReturn; UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pcReturn => 0B # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 250539]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_5(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT pcReturn_8 = xQueueRegistry[ux_4].pcQueueName; # DEBUG pcReturn => pcReturn_8 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_7 = ux_2 + 1; # DEBUG ux => ux_7 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: # pcReturn_3 = PHI # DEBUG pcReturn => pcReturn_3 # DEBUG BEGIN_STMT return pcReturn_3; } ;; Function vQueueUnregisterQueue (vQueueUnregisterQueue, funcdef_no=39, decl_uid=6386, cgraph_uid=40, symbol_order=40) Modification phase of node vQueueUnregisterQueue/40 vQueueUnregisterQueue (struct QueueDefinition * xQueue) { UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 250539]: goto ; [100.00%] [local count: 107374]: # DEBUG D#1 => xQueue_3(D) vQueueUnregisterQueue.part.0 (); [local count: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_3(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT xQueueRegistry[ux_4].pcQueueName = 0B; # DEBUG BEGIN_STMT xQueueRegistry[ux_4].xHandle = 0B; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_6 = ux_2 + 1; # DEBUG ux => ux_6 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: return; } ;; Function vQueueDelete (vQueueDelete, funcdef_no=25, decl_uid=6323, cgraph_uid=26, symbol_order=26) Modification phase of node vQueueDelete/26 vQueueDelete (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vQueueUnregisterQueue (xQueue_1(D)); # DEBUG BEGIN_STMT vPortFree (xQueue_1(D)); return; } ;; Function vQueueWaitForMessageRestricted (vQueueWaitForMessageRestricted, funcdef_no=40, decl_uid=6409, cgraph_uid=41, symbol_order=41) Modification phase of node vQueueWaitForMessageRestricted/41 vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { signed char _1; signed char _2; long unsigned int _3; struct List_t * _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_8(D) # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock; if (_1 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock; if (_2 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting; if (_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive; vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D)); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_8(D)); return; }