

 local analysis of vQueueUnregisterQueue.part.0
   scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
Function is locally looping.
Function is locally pure.
Function can locally free.


 local analysis of xQueueGenericReset.part.0
   scanning: vPortEnterCritical ();
  scanning: _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
    Indirect ref read is not const
  scanning: _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
    Indirect ref read is not const
  scanning: _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
    Indirect ref read is not const
  scanning: _5 = _3 * _4;
  scanning: _6 = _2 + _5;
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
    Indirect ref write is not const/pure
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
    Indirect ref write is not const/pure
  scanning: _7 = _3 + 4294967295;
  scanning: _8 = _4 * _7;
  scanning: _9 = _2 + _8;
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
    Indirect ref write is not const/pure
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: if (xNewQueue_10(D) == 0)
  scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_11 != 0)
  scanning: _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  scanning: _13 = xTaskRemoveFromEventList (_12);
  scanning: if (_13 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  scanning: vListInitialise (_14);
  scanning: _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  scanning: vListInitialise (_15);
  scanning: vPortExitCritical ();
  scanning: return 1;
Function is locally looping.
Function can locally free.


 local analysis of vQueueWaitForMessageRestricted
   scanning: vPortEnterCritical ();
  scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_1 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_2 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_3 == 0)
  scanning: _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  scanning: vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  scanning: prvUnlockQueue (xQueue_8(D));
  scanning: return;


 local analysis of vQueueUnregisterQueue
   scanning: if (xQueue_3(D) == 0B)
  scanning: vQueueUnregisterQueue.part.0 ();
  scanning: _1 = xQueueRegistry[ux_2].xHandle;
  scanning: if (_1 == xQueue_3(D))
  scanning: xQueueRegistry[ux_4].pcQueueName = 0B;
  scanning: xQueueRegistry[ux_4].xHandle = 0B;
  scanning: ux_6 = ux_2 + 1;
  scanning: if (ux_2 != 2)
  scanning: return;
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 9 3 4 5 6 7 8
;;
;; Loop 1
;;  header 7, latch 6
;;  depth 1, outer 0
;;  nodes: 7 6 4
;; 2 succs { 3 9 }
;; 9 succs { 7 }
;; 3 succs { }
;; 4 succs { 5 6 }
;; 5 succs { 8 }
;; 6 succs { 7 }
;; 7 succs { 4 8 }
;; 8 succs { 1 }
Function is locally const.


 local analysis of pcQueueGetName
   scanning: if (xQueue_5(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = xQueueRegistry[ux_2].xHandle;
  scanning: if (_1 == xQueue_5(D))
  scanning: pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  scanning: ux_7 = ux_2 + 1;
  scanning: if (ux_2 != 2)
  scanning: return pcReturn_3;
Function is locally looping.
Function can locally free.


 local analysis of vQueueAddToRegistry
   scanning: if (xQueue_8(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pcQueueName_10(D) != 0B)
  scanning: _1 = xQueueRegistry[ux_3].xHandle;
  scanning: if (_1 == xQueue_8(D))
  scanning: pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  scanning: if (pxEntryToWrite_5 == 0B)
  scanning: _2 = xQueueRegistry[ux_3].pcQueueName;
  scanning: if (_2 == 0B)
  scanning: pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  scanning: ux_13 = ux_3 + 1;
  scanning: if (ux_3 != 2)
  scanning: if (pxEntryToWrite_6 != 0B)
  scanning: pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
    Indirect ref write is not const/pure
  scanning: pxEntryToWrite_6->xHandle = xQueue_8(D);
    Indirect ref write is not const/pure
  scanning: return;
Function is locally looping.
Function can locally free.


 local analysis of xQueueIsQueueFullFromISR
   scanning: if (xQueue_4(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_1 == _2)
  scanning: return xReturn_3;
Function is locally looping.
Function can locally free.


 local analysis of prvIsQueueFull
   scanning: vPortEnterCritical ();
  scanning: _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _2 = pxQueue_6(D)->uxLength;
    Indirect ref read is not const
  scanning: if (_1 == _2)
  scanning: vPortExitCritical ();
  scanning: return xReturn_3;


 local analysis of xQueueIsQueueEmptyFromISR
   scanning: if (xQueue_3(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: return xReturn_2;
Function is locally looping.
Function can locally free.


 local analysis of prvIsQueueEmpty
   scanning: vPortEnterCritical ();
  scanning: _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: vPortExitCritical ();
  scanning: return xReturn_2;


 local analysis of prvUnlockQueue
   scanning: vPortEnterCritical ();
  scanning: cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  scanning: _3 = xTaskRemoveFromEventList (_2);
  scanning: if (_3 != 0)
  scanning: vTaskMissedYield ();
  scanning: cTxLock.6_4 = (unsigned char) cTxLock_11;
  scanning: _5 = cTxLock.6_4 + 255;
  scanning: cTxLock_23 = (int8_t) _5;
  scanning: if (cTxLock_11 > 0)
  scanning: pxQueue_19(D)->cTxLock ={v} -1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: vPortEnterCritical ();
  scanning: cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_6 != 0)
  scanning: _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  scanning: _8 = xTaskRemoveFromEventList (_7);
  scanning: if (_8 != 0)
  scanning: vTaskMissedYield ();
  scanning: cRxLock.7_9 = (unsigned char) cRxLock_12;
  scanning: _10 = cRxLock.7_9 + 255;
  scanning: cRxLock_30 = (int8_t) _10;
  scanning: if (cRxLock_12 > 0)
  scanning: pxQueue_19(D)->cRxLock ={v} -1;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: return;


 local analysis of prvCopyDataFromQueue
   scanning: _1 = pxQueue_10(D)->uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: _3 = _2 + _1;
  scanning: pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
    Indirect ref write is not const/pure
  scanning: _4 = pxQueue_10(D)->u.xQueue.pcTail;
    Indirect ref read is not const
  scanning: if (_3 >= _4)
  scanning: _5 = pxQueue_10(D)->pcHead;
    Indirect ref read is not const
  scanning: pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
    Indirect ref write is not const/pure
  scanning: _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: memcpy (pvBuffer_13(D), _6, _1);
  scanning: return;


 local analysis of prvCopyDataToQueue
   scanning: uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _1 = pxQueue_24(D)->uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: _2 = pxQueue_24(D)->pcHead;
    Indirect ref read is not const
  scanning: if (_2 == 0B)
  scanning: _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: xReturn_36 = xTaskPriorityDisinherit (_3);
  scanning: pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
    Indirect ref write is not const/pure
  scanning: if (xPosition_26(D) == 0)
  scanning: _4 = pxQueue_24(D)->pcWriteTo;
    Indirect ref read is not const
  scanning: memcpy (_4, pvItemToQueue_27(D), _1);
  scanning: _5 = pxQueue_24(D)->pcWriteTo;
    Indirect ref read is not const
  scanning: _6 = pxQueue_24(D)->uxItemSize;
    Indirect ref read is not const
  scanning: _7 = _5 + _6;
  scanning: pxQueue_24(D)->pcWriteTo = _7;
    Indirect ref write is not const/pure
  scanning: _8 = pxQueue_24(D)->u.xQueue.pcTail;
    Indirect ref read is not const
  scanning: if (_7 >= _8)
  scanning: _9 = pxQueue_24(D)->pcHead;
    Indirect ref read is not const
  scanning: pxQueue_24(D)->pcWriteTo = _9;
    Indirect ref write is not const/pure
  scanning: _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: memcpy (_10, pvItemToQueue_27(D), _1);
  scanning: _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: _12 = pxQueue_24(D)->uxItemSize;
    Indirect ref read is not const
  scanning: _13 = -_12;
  scanning: _14 = _11 + _13;
  scanning: pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
    Indirect ref write is not const/pure
  scanning: _15 = pxQueue_24(D)->pcHead;
    Indirect ref read is not const
  scanning: if (_14 < _15)
  scanning: _16 = pxQueue_24(D)->u.xQueue.pcTail;
    Indirect ref read is not const
  scanning: _17 = _16 + _13;
  scanning: pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
    Indirect ref write is not const/pure
  scanning: if (xPosition_26(D) == 2)
  scanning: if (uxMessagesWaiting_25 != 0)
  scanning: uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  scanning: _18 = uxMessagesWaiting_20 + 1;
  scanning: pxQueue_24(D)->uxMessagesWaiting ={v} _18;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: return xReturn_19;


 local analysis of prvGetDisinheritPriorityAfterTimeout
   scanning: _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
    Indirect ref read is not const
  scanning: _3 = _2->xItemValue;
    Indirect ref read is not const
  scanning: uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  scanning: return uxHighestPriorityOfWaitingTasks_4;


 local analysis of ucQueueGetQueueType
   scanning: _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
    Indirect ref read is not const
  scanning: return _3;
Function is locally pure.


 local analysis of vQueueSetQueueNumber
   scanning: MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
    Indirect ref write is not const/pure
  scanning: return;


 local analysis of uxQueueGetQueueNumber
   scanning: _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
    Indirect ref read is not const
  scanning: return _3;
Function is locally pure.


 local analysis of vQueueDelete
   scanning: if (xQueue_1(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vQueueUnregisterQueue (xQueue_1(D));
  scanning: vPortFree (xQueue_1(D));
  scanning: return;
Function is locally looping.
Function can locally free.


 local analysis of uxQueueMessagesWaitingFromISR
   scanning: if (xQueue_1(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: return uxReturn_3;
Function is locally looping.
Function can locally free.


 local analysis of uxQueueSpacesAvailable
   scanning: if (xQueue_3(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
    Indirect ref read is not const
  scanning: _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: uxReturn_6 = _1 - _2;
  scanning: vPortExitCritical ();
  scanning: return uxReturn_6;
Function is locally looping.
Function can locally free.


 local analysis of uxQueueMessagesWaiting
   scanning: if (xQueue_1(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: vPortExitCritical ();
  scanning: return uxReturn_4;
Function is locally looping.
Function can locally free.


 local analysis of xQueuePeekFromISR
   scanning: if (xQueue_6(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvBuffer_7(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_2 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortValidateInterruptPriority ();
  scanning: __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_3 != 0)
  scanning: pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  scanning: MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return xReturn_4;
Function is locally looping.
Function can locally free.


 local analysis of xQueueReceiveFromISR
   scanning: if (xQueue_11(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvBuffer_12(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortValidateInterruptPriority ();
  scanning: __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (uxMessagesWaiting_15 != 0)
  scanning: cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  scanning: _2 = uxMessagesWaiting_15 + 4294967295;
  scanning: MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: if (cRxLock_16 == -1)
  scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_3 != 0)
  scanning: _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  scanning: _5 = xTaskRemoveFromEventList (_4);
  scanning: if (_5 != 0)
  scanning: if (pxHigherPriorityTaskWoken_21(D) != 0B)
  scanning: *pxHigherPriorityTaskWoken_21(D) = 1;
    Indirect ref write is not const/pure
  scanning: if (cRxLock_16 == 127)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: cRxLock.28_6 = (unsigned char) cRxLock_16;
  scanning: _7 = cRxLock.28_6 + 1;
  scanning: _8 = (signed char) _7;
  scanning: MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_25 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return xReturn_9;
Function is locally looping.
Function can locally free.


 local analysis of xQueuePeek
   scanning: if (xQueue_26(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvBuffer_27(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _2 = xTaskGetSchedulerState ();
  scanning: if (_2 != 0)
  scanning: xTicksToWait.24_3 = xTicksToWait;
  scanning: if (xTicksToWait.24_3 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (uxMessagesWaiting_32 != 0)
  scanning: pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
    Indirect ref read is not const
  scanning: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  scanning: MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
    Indirect ref write is not const/pure
  scanning: _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_4 != 0)
  scanning: _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  scanning: _6 = xTaskRemoveFromEventList (_5);
  scanning: if (_6 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortExitCritical ();
  scanning: xTicksToWait.25_7 = xTicksToWait;
  scanning: if (xTicksToWait.25_7 == 0)
  scanning: vPortExitCritical ();
  scanning: if (xEntryTimeSet_16 == 0)
  scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  scanning: vPortExitCritical ();
  scanning: vTaskSuspendAll ();
  scanning: vPortEnterCritical ();
  scanning: _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_8 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_9 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  scanning: if (_10 == 0)
  scanning: _11 = prvIsQueueEmpty (xQueue_26(D));
  scanning: if (_11 != 0)
  scanning: _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  scanning: xTicksToWait.26_13 = xTicksToWait;
  scanning: vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  scanning: prvUnlockQueue (xQueue_26(D));
  scanning: _14 = xTaskResumeAll ();
  scanning: if (_14 == 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: prvUnlockQueue (xQueue_26(D));
  scanning: xTaskResumeAll ();
  scanning: prvUnlockQueue (xQueue_26(D));
  scanning: xTaskResumeAll ();
  scanning: _15 = prvIsQueueEmpty (xQueue_26(D));
  scanning: if (_15 != 0)
  scanning: return _18;
Function is locally looping.
Function can locally free.


 local analysis of xQueueSemaphoreTake
   scanning: if (xQueue_38(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _2 = xTaskGetSchedulerState ();
  scanning: if (_2 != 0)
  scanning: xTicksToWait.19_3 = xTicksToWait;
  scanning: if (xTicksToWait.19_3 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (uxSemaphoreCount_46 != 0)
  scanning: _4 = uxSemaphoreCount_26 + 4294967295;
  scanning: MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
    Indirect ref read is not const
  scanning: if (_5 == 0B)
  scanning: _6 = pvTaskIncrementMutexHeldCount ();
  scanning: MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
    Indirect ref write is not const/pure
  scanning: _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_7 != 0)
  scanning: _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  scanning: _9 = xTaskRemoveFromEventList (_8);
  scanning: if (_9 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortExitCritical ();
  scanning: xTicksToWait.20_10 = xTicksToWait;
  scanning: if (xTicksToWait.20_10 == 0)
  scanning: if (xInheritanceOccurred_43 != 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortExitCritical ();
  scanning: if (xEntryTimeSet_22 == 0)
  scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  scanning: vPortExitCritical ();
  scanning: vTaskSuspendAll ();
  scanning: vPortEnterCritical ();
  scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_11 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_12 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  scanning: if (_13 == 0)
  scanning: _14 = prvIsQueueEmpty (xQueue_38(D));
  scanning: if (_14 != 0)
  scanning: _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
    Indirect ref read is not const
  scanning: if (_15 == 0B)
  scanning: vPortEnterCritical ();
  scanning: _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  scanning: vPortExitCritical ();
  scanning: _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  scanning: xTicksToWait.21_18 = xTicksToWait;
  scanning: vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  scanning: prvUnlockQueue (xQueue_38(D));
  scanning: _19 = xTaskResumeAll ();
  scanning: if (_19 == 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: prvUnlockQueue (xQueue_38(D));
  scanning: xTaskResumeAll ();
  scanning: prvUnlockQueue (xQueue_38(D));
  scanning: xTaskResumeAll ();
  scanning: _20 = prvIsQueueEmpty (xQueue_38(D));
  scanning: if (_20 != 0)
  scanning: if (xInheritanceOccurred_44 != 0)
  scanning: vPortEnterCritical ();
  scanning: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  scanning: _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  scanning: vPortExitCritical ();
  scanning: return _27;
Function is locally looping.
Function can locally free.


 local analysis of xQueueReceive
   scanning: if (xQueue_27(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvBuffer_28(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _2 = xTaskGetSchedulerState ();
  scanning: if (_2 != 0)
  scanning: xTicksToWait.15_3 = xTicksToWait;
  scanning: if (xTicksToWait.15_3 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (uxMessagesWaiting_34 != 0)
  scanning: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  scanning: _4 = uxMessagesWaiting_31 + 4294967295;
  scanning: MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_5 != 0)
  scanning: _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  scanning: _7 = xTaskRemoveFromEventList (_6);
  scanning: if (_7 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortExitCritical ();
  scanning: xTicksToWait.16_8 = xTicksToWait;
  scanning: if (xTicksToWait.16_8 == 0)
  scanning: vPortExitCritical ();
  scanning: if (xEntryTimeSet_17 == 0)
  scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  scanning: vPortExitCritical ();
  scanning: vTaskSuspendAll ();
  scanning: vPortEnterCritical ();
  scanning: _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_9 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_10 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  scanning: if (_11 == 0)
  scanning: _12 = prvIsQueueEmpty (xQueue_27(D));
  scanning: if (_12 != 0)
  scanning: _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  scanning: xTicksToWait.17_14 = xTicksToWait;
  scanning: vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  scanning: prvUnlockQueue (xQueue_27(D));
  scanning: _15 = xTaskResumeAll ();
  scanning: if (_15 == 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: prvUnlockQueue (xQueue_27(D));
  scanning: xTaskResumeAll ();
  scanning: prvUnlockQueue (xQueue_27(D));
  scanning: xTaskResumeAll ();
  scanning: _16 = prvIsQueueEmpty (xQueue_27(D));
  scanning: if (_16 != 0)
  scanning: return _19;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGiveFromISR
   scanning: if (xQueue_14(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
    Indirect ref read is not const
  scanning: if (_2 != 0B)
  scanning: _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: if (_3 == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortValidateInterruptPriority ();
  scanning: __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_4 > uxMessagesWaiting_17)
  scanning: cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _5 = uxMessagesWaiting_17 + 1;
  scanning: MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: if (cTxLock_18 == -1)
  scanning: _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_6 != 0)
  scanning: _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  scanning: _8 = xTaskRemoveFromEventList (_7);
  scanning: if (_8 != 0)
  scanning: if (pxHigherPriorityTaskWoken_22(D) != 0B)
  scanning: *pxHigherPriorityTaskWoken_22(D) = 1;
    Indirect ref write is not const/pure
  scanning: if (cTxLock_18 == 127)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: cTxLock.12_9 = (unsigned char) cTxLock_18;
  scanning: _10 = cTxLock.12_9 + 1;
  scanning: _11 = (signed char) _10;
  scanning: MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_27 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return xReturn_12;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGenericSendFromISR
   scanning: if (xQueue_13(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvItemToQueue_14(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (xCopyPosition_16(D) != 2)
  scanning: _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_2 == 1)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortValidateInterruptPriority ();
  scanning: __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_3 < _4)
  scanning: if (xCopyPosition_16(D) == 2)
  scanning: cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  scanning: if (cTxLock_18 == -1)
  scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_5 != 0)
  scanning: _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  scanning: _7 = xTaskRemoveFromEventList (_6);
  scanning: if (_7 != 0)
  scanning: if (pxHigherPriorityTaskWoken_23(D) != 0B)
  scanning: *pxHigherPriorityTaskWoken_23(D) = 1;
    Indirect ref write is not const/pure
  scanning: if (cTxLock_18 == 127)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: cTxLock.10_8 = (unsigned char) cTxLock_18;
  scanning: _9 = cTxLock.10_8 + 1;
  scanning: _10 = (signed char) _9;
  scanning: MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_28 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return xReturn_11;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGenericSend
   scanning: if (xQueue_29(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (pvItemToQueue_30(D) != 0B)
  scanning: _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
    Indirect ref read is not const
  scanning: if (_1 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (xCopyPosition_32(D) != 2)
  scanning: _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_2 == 1)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _3 = xTaskGetSchedulerState ();
  scanning: if (_3 != 0)
  scanning: xTicksToWait.3_4 = xTicksToWait;
  scanning: if (xTicksToWait.3_4 == 0)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_5 < _6)
  scanning: if (xCopyPosition_32(D) == 2)
  scanning: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  scanning: _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_7 != 0)
  scanning: _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  scanning: _9 = xTaskRemoveFromEventList (_8);
  scanning: if (_9 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: if (xYieldRequired_57 != 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortExitCritical ();
  scanning: xTicksToWait.4_10 = xTicksToWait;
  scanning: if (xTicksToWait.4_10 == 0)
  scanning: vPortExitCritical ();
  scanning: if (xEntryTimeSet_19 == 0)
  scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  scanning: vPortExitCritical ();
  scanning: vTaskSuspendAll ();
  scanning: vPortEnterCritical ();
  scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_11 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
    Volatile stmt is not const/pure
    Indirect ref read is not const
  scanning: if (_12 == -1)
  scanning: MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: vPortExitCritical ();
  scanning: _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  scanning: if (_13 == 0)
  scanning: _14 = prvIsQueueFull (xQueue_29(D));
  scanning: if (_14 != 0)
  scanning: _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  scanning: xTicksToWait.5_16 = xTicksToWait;
  scanning: vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  scanning: prvUnlockQueue (xQueue_29(D));
  scanning: _17 = xTaskResumeAll ();
  scanning: if (_17 == 0)
  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
    Volatile stmt is not const/pure
    Volatile indirect ref is not const/pure
  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: __asm__ __volatile__("isb");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: prvUnlockQueue (xQueue_29(D));
  scanning: xTaskResumeAll ();
  scanning: prvUnlockQueue (xQueue_29(D));
  scanning: xTaskResumeAll ();
  scanning: return _21;
Function is locally looping.
Function can locally free.


 local analysis of xQueueCreateCountingSemaphore
   scanning: if (uxMaxCount_2(D) != 0)
  scanning: if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  scanning: xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  scanning: if (xHandle_6 != 0B)
  scanning: MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
    Volatile stmt is not const/pure
    Indirect ref write is not const/pure
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return xHandle_6;
Function is locally looping.
Function can locally free.


 local analysis of xQueueTakeMutexRecursive
   scanning: if (xMutex_9(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: _2 = xTaskGetCurrentTaskHandle ();
  scanning: if (_1 == _2)
  scanning: _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
    Indirect ref read is not const
  scanning: _4 = _3 + 1;
  scanning: MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
    Indirect ref write is not const/pure
  scanning: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  scanning: if (xReturn_14 != 0)
  scanning: _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
    Indirect ref read is not const
  scanning: _6 = _5 + 1;
  scanning: MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
    Indirect ref write is not const/pure
  scanning: return xReturn_7;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGiveMutexRecursive
   scanning: if (xMutex_7(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: _2 = xTaskGetCurrentTaskHandle ();
  scanning: if (_1 == _2)
  scanning: _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
    Indirect ref read is not const
  scanning: _4 = _3 + 4294967295;
  scanning: MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
    Indirect ref write is not const/pure
  scanning: if (_4 == 0)
  scanning: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  scanning: return xReturn_5;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGetMutexHolderFromISR
   scanning: if (xSemaphore_3(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
    Indirect ref read is not const
  scanning: if (_1 == 0B)
  scanning: pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: return pxReturn_2;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGetMutexHolder
   scanning: if (xSemaphore_3(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: vPortEnterCritical ();
  scanning: _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
    Indirect ref read is not const
  scanning: if (_1 == 0B)
  scanning: pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
    Indirect ref read is not const
  scanning: vPortExitCritical ();
  scanning: return pxReturn_2;
Function is locally looping.
Function can locally free.


 local analysis of xQueueCreateMutex
   scanning: xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  scanning: prvInitialiseMutex (xNewQueue_4);
  scanning: return xNewQueue_4;
Function is locally const.


 local analysis of prvInitialiseMutex
   scanning: if (pxNewQueue_2(D) != 0B)
  scanning: pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
    Indirect ref write is not const/pure
  scanning: pxNewQueue_2(D)->pcHead = 0B;
    Indirect ref write is not const/pure
  scanning: pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
    Indirect ref write is not const/pure
  scanning: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  scanning: return;


 local analysis of prvInitialiseNewQueue
   scanning: if (uxItemSize_2(D) == 0)
  scanning: pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
    Indirect ref write is not const/pure
  scanning: pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);
    Indirect ref write is not const/pure
  scanning: pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
    Indirect ref write is not const/pure
  scanning: pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
    Indirect ref write is not const/pure
  scanning: xQueueGenericReset (pxNewQueue_4(D), 1);
  scanning: pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
    Indirect ref write is not const/pure
  scanning: return;


 local analysis of xQueueGenericCreate
   scanning: if (uxQueueLength_6(D) != 0)
  scanning: _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  scanning: _2 = IMAGPART_EXPR <_1>;
  scanning: if (_2 == 0)
  scanning: _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  scanning: if (_3 <= 4294967215)
  scanning: _4 = _3 + 80;
  scanning: pxNewQueue_10 = pvPortMalloc (_4);
  scanning: if (pxNewQueue_10 != 0B)
  scanning: pucQueueStorage_11 = pxNewQueue_10 + 80;
  scanning: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: return pxNewQueue_10;
Function is locally looping.
Function can locally free.


 local analysis of xQueueGenericReset
   scanning: if (xQueue_5(D) == 0B)
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
  scanning: _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
    Indirect ref read is not const
  scanning: if (_1 != 0)
  scanning: _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
    Indirect ref read is not const
  scanning: _2 = .MUL_OVERFLOW (_3, _1);
  scanning: _4 = IMAGPART_EXPR <_2>;
  scanning: if (_4 == 0)
  scanning: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  scanning: return _13;
  scanning: __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
    memory asm clobber is not const/pure
    volatile is not const/pure
Function is locally looping.
Function can locally free.
callgraph:

vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @06a4bb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41ed8
  References: 
  Referring: 
  Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call) 
  Calls: 
xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @06a4b2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41df8
  References: 
  Referring: 
  Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  Availability: local
  Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call) 
  Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call) 
vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @06bee620
  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) @06bcfee0
  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) @06bcf380
  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) @06bcf2a0
  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) @06bcf1c0
  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) @06ba3620
  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) @06ba32a0
  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) @06ba3000
  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) @06b4d8c0
  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) @06b4de00
  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) @06b4dd20
  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) @06b4dc40
  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) @06b4db60
  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) @06b4da80
  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) @06b4d9a0
  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) @06b4d460
  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) @06b3e000
  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) @06b3ed20
  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 (21218 (estimated locally),0.12 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 (896877 (estimated locally),2.51 per call) 
  Calls: 
vListInitialise/44 (vListInitialise) @06b3ec40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) 
  Calls: 
xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @06b3eb60
  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 (4691 (estimated locally),0.03 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call) 
  Calls: 
vPortEnterCritical/42 (vPortEnterCritical) @06b3ea80
  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 (21218 (estimated locally),0.12 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 (896877 (estimated locally),2.51 per call) 
  Calls: 
vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @06b3e540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e18
  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) @06b3e2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e58
  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 (inlined) (107374 (estimated locally),0.30 per call) 
pcQueueGetName/39 (pcQueueGetName) @06b38e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e78
  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) @06b38460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41ef8
  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) @06b38d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80390
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueFull/36 (prvIsQueueFull) @06b389a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d802f0
  References: 
  Referring: 
  Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  Availability: local
  Function flags: count:896877 (estimated locally) body local optimize_size
  Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call) 
  Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call) 
xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @06b38700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80170
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueEmpty/34 (prvIsQueueEmpty) @06b38380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80010
  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) @06b380e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80070
  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) @06b2f8c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669de60
  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) @06b2f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dec0
  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) @06b2fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dc60
  References: 
  Referring: 
  Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  Availability: local
  Function flags: count:2502 (estimated locally) body local optimize_size
  Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call) 
  Calls: 
ucQueueGetQueueType/29 (ucQueueGetQueueType) @06b2fa80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @06b2f7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f6d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @06b2f540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f738
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueDelete/26 (vQueueDelete) @06b2f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f798
  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) @06b26d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f518
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @06b260e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7f8
  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) @06b26c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f778
  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) @06b268c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7d8
  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) @06b26460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f818
  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) @06b26000
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f758
  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) @06b12c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f558
  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 (inlined) (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) @06b12540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f838
  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) @06ab9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f658
  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) @06ab9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4d8
  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) @06ab97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f578
  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 (inlined) (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) @06ab90e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f858
  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) @06ab29a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f5f8
  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) @06ab20e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f678
  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) @06ab2c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f598
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @06ab28c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f698
  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) @06ab2540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f878
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) 
prvInitialiseMutex/8 (prvInitialiseMutex) @06ab22a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f6f8
  References: 
  Referring: 
  Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) 
prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @06ab2000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f5b8
  References: 
  Referring: 
  Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  Availability: local
  Function flags: count:5162 (estimated locally) body local optimize_size
  Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call) 
xQueueGenericCreate/6 (xQueueGenericCreate) @06ac77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f718
  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 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) 
xQueueGenericReset/5 (xQueueGenericReset) @06ac7c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:183702 (estimated locally) body optimize_size
  Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call) 


 ordered call graph: reduced for nothrow
vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @06a4bb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41ed8
  References: 
  Referring: 
  Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call) 
  Calls: 
xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @06a4b2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41df8
  References: 
  Referring: 
  Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  Availability: local
  Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call) 
  Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call) 
vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @06b3e540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e18
  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) @06b3e2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e58
  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 (inlined) (107374 (estimated locally),0.30 per call) 
pcQueueGetName/39 (pcQueueGetName) @06b38e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e78
  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) @06b38460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41ef8
  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) @06b38d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80390
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueFull/36 (prvIsQueueFull) @06b389a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d802f0
  References: 
  Referring: 
  Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  Availability: local
  Function flags: count:896877 (estimated locally) body local optimize_size
  Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call) 
  Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call) 
xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @06b38700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80170
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueEmpty/34 (prvIsQueueEmpty) @06b38380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80010
  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) @06b380e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80070
  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) @06b2f8c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669de60
  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) @06b2f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dec0
  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) @06b2fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dc60
  References: 
  Referring: 
  Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  Availability: local
  Function flags: count:2502 (estimated locally) body local optimize_size
  Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call) 
  Calls: 
ucQueueGetQueueType/29 (ucQueueGetQueueType) @06b2fa80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @06b2f7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f6d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @06b2f540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f738
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueDelete/26 (vQueueDelete) @06b2f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f798
  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) @06b26d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f518
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @06b260e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7f8
  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) @06b26c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f778
  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) @06b268c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7d8
  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) @06b26460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f818
  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) @06b26000
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f758
  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) @06b12c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f558
  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 (inlined) (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) @06b12540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f838
  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) @06ab9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f658
  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) @06ab9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4d8
  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) @06ab97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f578
  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 (inlined) (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) @06ab90e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f858
  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) @06ab29a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f5f8
  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) @06ab20e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f678
  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) @06ab2c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f598
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @06ab28c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f698
  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) @06ab2540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f878
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) 
prvInitialiseMutex/8 (prvInitialiseMutex) @06ab22a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f6f8
  References: 
  Referring: 
  Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) 
prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @06ab2000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f5b8
  References: 
  Referring: 
  Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  Availability: local
  Function flags: count:5162 (estimated locally) body local optimize_size
  Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call) 
xQueueGenericCreate/6 (xQueueGenericCreate) @06ac77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f718
  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 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) 
xQueueGenericReset/5 (xQueueGenericReset) @06ac7c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4b8
  References: 
  Referring: 
  Availability: available
  Function flags: count:183702 (estimated locally) body optimize_size
  Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call) 



MALLOC LATTICE Initial:
vQueueUnregisterQueue.part.0: malloc_bottom
xQueueGenericReset.part.0: malloc_bottom
vQueueWaitForMessageRestricted: malloc_bottom
vQueueUnregisterQueue: malloc_bottom
pcQueueGetName: malloc_bottom
vQueueAddToRegistry: malloc_bottom
xQueueIsQueueFullFromISR: malloc_bottom
prvIsQueueFull: malloc_bottom
xQueueIsQueueEmptyFromISR: malloc_bottom
prvIsQueueEmpty: malloc_bottom
prvUnlockQueue: malloc_bottom
prvCopyDataFromQueue: malloc_bottom
prvCopyDataToQueue: malloc_bottom
prvGetDisinheritPriorityAfterTimeout: malloc_bottom
ucQueueGetQueueType: malloc_bottom
vQueueSetQueueNumber: malloc_bottom
uxQueueGetQueueNumber: malloc_bottom
vQueueDelete: malloc_bottom
uxQueueMessagesWaitingFromISR: malloc_bottom
uxQueueSpacesAvailable: malloc_bottom
uxQueueMessagesWaiting: malloc_bottom
xQueuePeekFromISR: malloc_bottom
xQueueReceiveFromISR: malloc_bottom
xQueuePeek: malloc_bottom
xQueueSemaphoreTake: malloc_bottom
xQueueReceive: malloc_bottom
xQueueGiveFromISR: malloc_bottom
xQueueGenericSendFromISR: malloc_bottom
xQueueGenericSend: malloc_bottom
xQueueCreateCountingSemaphore: malloc_bottom
xQueueTakeMutexRecursive: malloc_bottom
xQueueGiveMutexRecursive: malloc_bottom
xQueueGetMutexHolderFromISR: malloc_bottom
xQueueGetMutexHolder: malloc_bottom
xQueueCreateMutex: malloc_bottom
prvInitialiseMutex: malloc_bottom
prvInitialiseNewQueue: malloc_bottom
xQueueGenericCreate: malloc_bottom
xQueueGenericReset: malloc_bottom


MALLOC LATTICE after propagation:
vQueueUnregisterQueue.part.0: malloc_bottom
xQueueGenericReset.part.0: malloc_bottom
vQueueWaitForMessageRestricted: malloc_bottom
vQueueUnregisterQueue: malloc_bottom
pcQueueGetName: malloc_bottom
vQueueAddToRegistry: malloc_bottom
xQueueIsQueueFullFromISR: malloc_bottom
prvIsQueueFull: malloc_bottom
xQueueIsQueueEmptyFromISR: malloc_bottom
prvIsQueueEmpty: malloc_bottom
prvUnlockQueue: malloc_bottom
prvCopyDataFromQueue: malloc_bottom
prvCopyDataToQueue: malloc_bottom
prvGetDisinheritPriorityAfterTimeout: malloc_bottom
ucQueueGetQueueType: malloc_bottom
vQueueSetQueueNumber: malloc_bottom
uxQueueGetQueueNumber: malloc_bottom
vQueueDelete: malloc_bottom
uxQueueMessagesWaitingFromISR: malloc_bottom
uxQueueSpacesAvailable: malloc_bottom
uxQueueMessagesWaiting: malloc_bottom
xQueuePeekFromISR: malloc_bottom
xQueueReceiveFromISR: malloc_bottom
xQueuePeek: malloc_bottom
xQueueSemaphoreTake: malloc_bottom
xQueueReceive: malloc_bottom
xQueueGiveFromISR: malloc_bottom
xQueueGenericSendFromISR: malloc_bottom
xQueueGenericSend: malloc_bottom
xQueueCreateCountingSemaphore: malloc_bottom
xQueueTakeMutexRecursive: malloc_bottom
xQueueGiveMutexRecursive: malloc_bottom
xQueueGetMutexHolderFromISR: malloc_bottom
xQueueGetMutexHolder: malloc_bottom
xQueueCreateMutex: malloc_bottom
prvInitialiseMutex: malloc_bottom
prvInitialiseNewQueue: malloc_bottom
xQueueGenericCreate: malloc_bottom
xQueueGenericReset: malloc_bottom
callgraph:

vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @06a4bb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41df8
  References: 
  Referring: 
  Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call) 
  Calls: 
xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @06a4b2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41ef8
  References: 
  Referring: 
  Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  Availability: local
  Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call) 
  Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call) 
vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @06bee620
  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) @06bcfee0
  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) @06bcf380
  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) @06bcf2a0
  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) @06bcf1c0
  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) @06ba3620
  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) @06ba32a0
  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) @06ba3000
  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) @06b4d8c0
  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) @06b4de00
  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) @06b4dd20
  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) @06b4dc40
  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) @06b4db60
  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) @06b4da80
  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) @06b4d9a0
  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) @06b4d460
  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) @06b3e000
  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) @06b3ed20
  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 (21218 (estimated locally),0.12 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 (896877 (estimated locally),2.51 per call) 
  Calls: 
vListInitialise/44 (vListInitialise) @06b3ec40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) 
  Calls: 
xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @06b3eb60
  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 (4691 (estimated locally),0.03 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call) 
  Calls: 
vPortEnterCritical/42 (vPortEnterCritical) @06b3ea80
  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 (21218 (estimated locally),0.12 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 (896877 (estimated locally),2.51 per call) 
  Calls: 
vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @06b3e540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e18
  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) @06b3e2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e58
  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 (inlined) (107374 (estimated locally),0.30 per call) 
pcQueueGetName/39 (pcQueueGetName) @06b38e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e78
  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) @06b38460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41ed8
  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) @06b38d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d802f0
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueFull/36 (prvIsQueueFull) @06b389a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80170
  References: 
  Referring: 
  Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  Availability: local
  Function flags: count:896877 (estimated locally) body local optimize_size
  Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call) 
  Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call) 
xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @06b38700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80390
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvIsQueueEmpty/34 (prvIsQueueEmpty) @06b38380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80070
  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) @06b380e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80010
  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) @06b2f8c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669de60
  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) @06b2f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dc60
  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) @06b2fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dec0
  References: 
  Referring: 
  Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  Availability: local
  Function flags: count:2502 (estimated locally) body local optimize_size
  Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call) 
  Calls: 
ucQueueGetQueueType/29 (ucQueueGetQueueType) @06b2fa80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f658
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @06b2f7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f5f8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @06b2f540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f738
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueDelete/26 (vQueueDelete) @06b2f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f758
  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) @06b26d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f838
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @06b260e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4d8
  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) @06b26c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f618
  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) @06b268c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4f8
  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) @06b26460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7d8
  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) @06b26000
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f538
  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) @06b12c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7f8
  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 (inlined) (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) @06b12540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f578
  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) @06ab9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f678
  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) @06ab9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f818
  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) @06ab97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f6d8
  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 (inlined) (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) @06ab90e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f598
  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) @06ab29a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f718
  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) @06ab20e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7b8
  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) @06ab2c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f778
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @06ab28c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f858
  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) @06ab2540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f798
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) 
prvInitialiseMutex/8 (prvInitialiseMutex) @06ab22a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f6f8
  References: 
  Referring: 
  Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) 
prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @06ab2000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f638
  References: 
  Referring: 
  Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  Availability: local
  Function flags: count:5162 (estimated locally) body local optimize_size
  Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call) 
xQueueGenericCreate/6 (xQueueGenericCreate) @06ac77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f518
  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 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) 
xQueueGenericReset/5 (xQueueGenericReset) @06ac7c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f878
  References: 
  Referring: 
  Availability: available
  Function flags: count:183702 (estimated locally) body optimize_size
  Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call) 


 ordered call graph: reduced
vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @06b3e540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e18
  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) 
pcQueueGetName/39 (pcQueueGetName) @06b38e00
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e78
  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) @06b38460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41ed8
  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) @06b38d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d802f0
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @06b38700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d80390
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
ucQueueGetQueueType/29 (ucQueueGetQueueType) @06b2fa80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f658
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @06b2f7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f5f8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @06b2f540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f738
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vQueueDelete/26 (vQueueDelete) @06b2f2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f758
  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) 
vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @06b3e2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06d41e58
  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 (inlined) (107374 (estimated locally),0.30 per call) 
vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @06a4bb60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41df8
  References: 
  Referring: 
  Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call) 
  Calls: 
uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @06b26d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f838
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @06b260e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4d8
  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) @06b26c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f618
  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) @06b268c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f4f8
  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) @06b26460
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7d8
  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) @06b26000
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f538
  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) 
xQueueReceive/18 (xQueueReceive) @06b12540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f578
  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) 
prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @06b2f8c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669de60
  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) 
xQueueGiveFromISR/17 (xQueueGiveFromISR) @06ab9d20
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f678
  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) @06ab9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f818
  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) 
xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @06ab90e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f598
  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) @06ab29a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f718
  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) 
xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @06b12c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7f8
  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 (inlined) (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) 
prvIsQueueEmpty/34 (prvIsQueueEmpty) @06b38380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80070
  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) 
prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @06b2fe00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dec0
  References: 
  Referring: 
  Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  Availability: local
  Function flags: count:2502 (estimated locally) body local optimize_size
  Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call) 
  Calls: 
xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @06ab20e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f7b8
  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) @06ab2c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f778
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @06ab28c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f858
  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) @06ab2540
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f798
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) 
prvInitialiseMutex/8 (prvInitialiseMutex) @06ab22a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f6f8
  References: 
  Referring: 
  Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call) 
  Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call) 
xQueueGenericSend/15 (xQueueGenericSend) @06ab97e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f6d8
  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 (inlined) (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) 
prvCopyDataToQueue/31 (prvCopyDataToQueue) @06b2f380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @0669dc60
  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) 
prvIsQueueFull/36 (prvIsQueueFull) @06b389a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80170
  References: 
  Referring: 
  Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  Availability: local
  Function flags: count:896877 (estimated locally) body local optimize_size
  Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call) 
  Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call) 
prvUnlockQueue/33 (prvUnlockQueue) @06b380e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06d80010
  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) 
xQueueGenericCreate/6 (xQueueGenericCreate) @06ac77e0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f518
  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 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) 
prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @06ab2000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @06a3f638
  References: 
  Referring: 
  Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  Availability: local
  Function flags: count:5162 (estimated locally) body local optimize_size
  Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call) 
xQueueGenericReset/5 (xQueueGenericReset) @06ac7c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @06a3f878
  References: 
  Referring: 
  Availability: available
  Function flags: count:183702 (estimated locally) body optimize_size
  Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) 
  Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call) 
xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @06a4b2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  Aux: @06d41ef8
  References: 
  Referring: 
  Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  Availability: local
  Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call) 
  Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call) 

Function found not to call free: prvGetDisinheritPriorityAfterTimeout
Function found not to call free: uxQueueGetQueueNumber
Function found not to call free: vQueueSetQueueNumber
Function found not to call free: ucQueueGetQueueType
vQueueUnregisterQueue.part.0 ()
{
  UBaseType_t ux;
  uint32_t ulNewBASEPRI;
  struct QueueDefinition * xQueue;

  <bb 5> [local count: 107374]:
  # DEBUG D#2 s=> xQueue
  # DEBUG xQueue => D#2

  <bb 2> [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_1 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1

  <bb 3> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

}


xQueueGenericReset.part.0 (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
{
  BaseType_t xReturn;
  struct Queue_t * const pxQueue;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  int8_t * _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  int8_t * _6;
  long unsigned int _7;
  long unsigned int _8;
  int8_t * _9;
  long unsigned int _11;
  struct List_t * _12;
  long int _13;
  struct List_t * _14;
  struct List_t * _15;

  <bb 8> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
  _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
  _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
  _5 = _3 * _4;
  _6 = _2 + _5;
  MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
  # DEBUG BEGIN_STMT
  _7 = _3 + 4294967295;
  _8 = _4 * _7;
  _9 = _2 + _8;
  MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
  # DEBUG BEGIN_STMT
  if (xNewQueue_10(D) == 0)
    goto <bb 3>; [67.00%]
  else
    goto <bb 6>; [33.00%]

  <bb 3> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
  if (_11 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 4> [local count: 237404317]:
  # DEBUG BEGIN_STMT
  _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  _13 = xTaskRemoveFromEventList (_12);
  if (_13 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 118702159]:
  # 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 <bb 7>; [100.00%]

  <bb 6> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  vListInitialise (_14);
  # DEBUG BEGIN_STMT
  _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  vListInitialise (_15);

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG xReturn => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return 1;

}


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;

  <bb 2> [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 <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  if (_2 == -1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  if (_3 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));

  <bb 8> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_8(D));
  return;

}


vQueueUnregisterQueue (struct QueueDefinition * xQueue)
{
  UBaseType_t ux;
  struct QueueDefinition * _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xQueue_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 9> [local count: 250539]:
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 107374]:
  # DEBUG D#1 => xQueue_3(D)
  vQueueUnregisterQueue.part.0 ();

  <bb 4> [local count: 451483]:
  # DEBUG BEGIN_STMT
  _1 = xQueueRegistry[ux_2].xHandle;
  if (_1 == xQueue_3(D))
    goto <bb 5>; [5.50%]
  else
    goto <bb 6>; [94.50%]

  <bb 5> [local count: 24832]:
  # ux_4 = PHI <ux_2(4)>
  # DEBUG BEGIN_STMT
  xQueueRegistry[ux_4].pcQueueName = 0B;
  # DEBUG BEGIN_STMT
  xQueueRegistry[ux_4].xHandle = 0B;
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 6> [local count: 426652]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ux_6 = ux_2 + 1;
  # DEBUG ux => ux_6

  <bb 7> [local count: 677191]:
  # ux_2 = PHI <ux_6(6), 0(9)>
  # DEBUG ux => ux_2
  # DEBUG BEGIN_STMT
  if (ux_2 != 2)
    goto <bb 4>; [66.67%]
  else
    goto <bb 8>; [33.33%]

  <bb 8> [local count: 250539]:
  return;

}


pcQueueGetName (struct QueueDefinition * xQueue)
{
  uint32_t ulNewBASEPRI;
  const char * pcReturn;
  UBaseType_t ux;
  struct QueueDefinition * _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pcReturn => 0B
  # DEBUG BEGIN_STMT
  if (xQueue_5(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 10>; [70.00%]

  <bb 10> [local count: 250539]:
  goto <bb 8>; [100.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 11> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 451483]:
  # DEBUG BEGIN_STMT
  _1 = xQueueRegistry[ux_2].xHandle;
  if (_1 == xQueue_5(D))
    goto <bb 6>; [5.50%]
  else
    goto <bb 7>; [94.50%]

  <bb 6> [local count: 24832]:
  # ux_4 = PHI <ux_2(5)>
  # DEBUG BEGIN_STMT
  pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  # DEBUG pcReturn => pcReturn_8
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 7> [local count: 426652]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ux_7 = ux_2 + 1;
  # DEBUG ux => ux_7

  <bb 8> [local count: 677191]:
  # ux_2 = PHI <ux_7(7), 0(10)>
  # DEBUG ux => ux_2
  # DEBUG BEGIN_STMT
  if (ux_2 != 2)
    goto <bb 5>; [66.67%]
  else
    goto <bb 9>; [33.33%]

  <bb 9> [local count: 250539]:
  # pcReturn_3 = PHI <pcReturn_8(6), 0B(8)>
  # DEBUG pcReturn => pcReturn_3
  # DEBUG BEGIN_STMT
  return pcReturn_3;

}


vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
{
  uint32_t ulNewBASEPRI;
  struct QueueRegistryItem_t * pxEntryToWrite;
  UBaseType_t ux;
  struct QueueDefinition * _1;
  const char * _2;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xQueue_8(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxEntryToWrite => 0B
  # DEBUG BEGIN_STMT
  if (pcQueueName_10(D) != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 15>; [30.00%]

  <bb 16> [local count: 175378]:
  goto <bb 12>; [100.00%]

  <bb 6> [local count: 316038]:
  # DEBUG BEGIN_STMT
  _1 = xQueueRegistry[ux_3].xHandle;
  if (_1 == xQueue_8(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 17382]:
  # ux_9 = PHI <ux_3(6)>
  # DEBUG BEGIN_STMT
  pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  # DEBUG pxEntryToWrite => pxEntryToWrite_14
  # DEBUG BEGIN_STMT
  goto <bb 13>; [100.00%]

  <bb 8> [local count: 298656]:
  # DEBUG BEGIN_STMT
  if (pxEntryToWrite_5 == 0B)
    goto <bb 9>; [30.00%]
  else
    goto <bb 11>; [70.00%]

  <bb 9> [local count: 89597]:
  _2 = xQueueRegistry[ux_3].pcQueueName;
  if (_2 == 0B)
    goto <bb 10>; [30.00%]
  else
    goto <bb 11>; [70.00%]

  <bb 10> [local count: 26879]:
  # DEBUG BEGIN_STMT
  pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  # DEBUG pxEntryToWrite => pxEntryToWrite_12

  <bb 11> [local count: 298656]:
  # pxEntryToWrite_4 = PHI <pxEntryToWrite_5(8), 0B(9), pxEntryToWrite_12(10)>
  # DEBUG pxEntryToWrite => pxEntryToWrite_4
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ux_13 = ux_3 + 1;
  # DEBUG ux => ux_13

  <bb 12> [local count: 474034]:
  # ux_3 = PHI <ux_13(11), 0(16)>
  # pxEntryToWrite_5 = PHI <pxEntryToWrite_4(11), 0B(16)>
  # DEBUG pxEntryToWrite => pxEntryToWrite_5
  # DEBUG ux => ux_3
  # DEBUG BEGIN_STMT
  if (ux_3 != 2)
    goto <bb 6>; [66.67%]
  else
    goto <bb 13>; [33.33%]

  <bb 13> [local count: 175378]:
  # pxEntryToWrite_6 = PHI <pxEntryToWrite_5(12), pxEntryToWrite_14(7)>
  # DEBUG pxEntryToWrite => pxEntryToWrite_6
  # DEBUG BEGIN_STMT
  if (pxEntryToWrite_6 != 0B)
    goto <bb 14>; [70.00%]
  else
    goto <bb 15>; [30.00%]

  <bb 14> [local count: 122764]:
  # DEBUG BEGIN_STMT
  pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  # DEBUG BEGIN_STMT
  pxEntryToWrite_6->xHandle = xQueue_8(D);

  <bb 15> [local count: 250539]:
  # DEBUG pxEntryToWrite => NULL
  # DEBUG BEGIN_STMT
  return;

}


xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxQueue => xQueue_4(D)
  # DEBUG BEGIN_STMT
  if (xQueue_4(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 7>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 165356]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 7> [local count: 250539]:
  # xReturn_3 = PHI <1(5), 0(6)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


prvIsQueueFull (const struct Queue_t * pxQueue)
{
  BaseType_t xReturn;
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
  _2 = pxQueue_6(D)->uxLength;
  if (_1 == _2)
    goto <bb 4>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 4> [local count: 1073741824]:
  # xReturn_3 = PHI <1(2), 0(3)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  long unsigned int _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxQueue => xQueue_3(D)
  # DEBUG BEGIN_STMT
  if (xQueue_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  if (_1 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 7> [local count: 250539]:
  # xReturn_2 = PHI <1(5), 0(6)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


prvIsQueueEmpty (const struct Queue_t * pxQueue)
{
  BaseType_t xReturn;
  long unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  if (_1 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 4> [local count: 1073741824]:
  # xReturn_2 = PHI <1(2), 0(3)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


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;

  <bb 2> [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 <bb 7>; [100.00%]

  <bb 3> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  if (_1 != 0)
    goto <bb 4>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 4> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  _3 = xTaskRemoveFromEventList (_2);
  if (_3 != 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 316429836]:
  # DEBUG BEGIN_STMT
  vTaskMissedYield ();

  <bb 6> [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

  <bb 7> [local count: 1073741824]:
  # cTxLock_11 = PHI <cTxLock_20(2), cTxLock_23(6)>
  # DEBUG cTxLock => cTxLock_11
  # DEBUG BEGIN_STMT
  if (cTxLock_11 > 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [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 <bb 13>; [100.00%]

  <bb 9> [local count: 1014686003]:
  # DEBUG BEGIN_STMT
  _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  if (_6 != 0)
    goto <bb 10>; [94.50%]
  else
    goto <bb 14>; [5.50%]

  <bb 10> [local count: 958878272]:
  # DEBUG BEGIN_STMT
  _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  _8 = xTaskRemoveFromEventList (_7);
  if (_8 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 316429830]:
  # DEBUG BEGIN_STMT
  vTaskMissedYield ();

  <bb 12> [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

  <bb 13> [local count: 1073741803]:
  # cRxLock_12 = PHI <cRxLock_27(8), cRxLock_30(12)>
  # DEBUG cRxLock => cRxLock_12
  # DEBUG BEGIN_STMT
  if (cRxLock_12 > 0)
    goto <bb 9>; [94.50%]
  else
    goto <bb 14>; [5.50%]

  <bb 14> [local count: 114863529]:
  # DEBUG BEGIN_STMT
  pxQueue_19(D)->cRxLock ={v} -1;
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  return;

}


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;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = pxQueue_10(D)->uxItemSize;
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [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 <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _5 = pxQueue_10(D)->pcHead;
  pxQueue_10(D)->u.xQueue.pcReadFrom = _5;

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  memcpy (pvBuffer_13(D), _6, _1);

  <bb 6> [local count: 1073741824]:
  return;

}


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;

  <bb 2> [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 <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  _2 = pxQueue_24(D)->pcHead;
  if (_2 == 0B)
    goto <bb 4>; [17.43%]
  else
    goto <bb 13>; [82.57%]

  <bb 4> [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 <bb 13>; [100.00%]

  <bb 5> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  if (xPosition_26(D) == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [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 <bb 7>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 7> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  _9 = pxQueue_24(D)->pcHead;
  pxQueue_24(D)->pcWriteTo = _9;
  goto <bb 13>; [100.00%]

  <bb 8> [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 <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  _16 = pxQueue_24(D)->u.xQueue.pcTail;
  _17 = _16 + _13;
  pxQueue_24(D)->u.xQueue.pcReadFrom = _17;

  <bb 10> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xPosition_26(D) == 2)
    goto <bb 11>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 11> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  if (uxMessagesWaiting_25 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 45634027]:
  # DEBUG BEGIN_STMT
  uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  # DEBUG uxMessagesWaiting => uxMessagesWaiting_31

  <bb 13> [local count: 1073741824]:
  # xReturn_19 = PHI <xReturn_36(4), 0(7), 0(10), 0(12), 0(3), 0(6), 0(11)>
  # uxMessagesWaiting_20 = PHI <uxMessagesWaiting_25(4), uxMessagesWaiting_25(7), uxMessagesWaiting_25(10), uxMessagesWaiting_31(12), uxMessagesWaiting_25(3), uxMessagesWaiting_25(6), uxMessagesWaiting_25(11)>
  # 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;

}


prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue)
{
  UBaseType_t uxHighestPriorityOfWaitingTasks;
  long unsigned int _1;
  struct xLIST_ITEM * _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
  _3 = _2->xItemValue;
  uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_7

  <bb 4> [local count: 1073741824]:
  # uxHighestPriorityOfWaitingTasks_4 = PHI <uxHighestPriorityOfWaitingTasks_7(3), 0(2)>
  # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_4
  # DEBUG BEGIN_STMT
  return uxHighestPriorityOfWaitingTasks_4;

}


ucQueueGetQueueType (struct QueueDefinition * xQueue)
{
  uint8_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  return _3;

}


vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  return;

}


uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
{
  UBaseType_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  return _3;

}


vQueueDelete (struct QueueDefinition * xQueue)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxQueue => xQueue_1(D)
  # DEBUG BEGIN_STMT
  if (xQueue_1(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vQueueUnregisterQueue (xQueue_1(D));
  # DEBUG BEGIN_STMT
  vPortFree (xQueue_1(D));
  return;

}


uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxReturn;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxQueue => xQueue_1(D)
  # DEBUG BEGIN_STMT
  if (xQueue_1(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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;

}


uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxReturn;
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxQueue => xQueue_3(D)
  # DEBUG BEGIN_STMT
  if (xQueue_3(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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;

}


uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxReturn;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xQueue_1(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 808033481]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 808033481]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 188541]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvBuffer_7(D) != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 6> [local count: 56562]:
  _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 282811719]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 282811719]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 160260]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  if (_2 == 0)
    goto <bb 10>; [67.00%]
  else
    goto <bb 12>; [33.00%]

  <bb 10> [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

  <bb 11> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 1073741824]:
  goto <bb 11>; [100.00%]

  <bb 12> [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 <bb 13>; [33.00%]
  else
    goto <bb 14>; [67.00%]

  <bb 13> [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

  <bb 14> [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;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 21> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvBuffer_12(D) != 0B)
    goto <bb 9>; [53.47%]
  else
    goto <bb 6>; [46.53%]

  <bb 6> [local count: 116576]:
  _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 582880751]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 23> [local count: 582880751]:
  goto <bb 8>; [100.00%]

  <bb 9> [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 <bb 10>; [33.00%]
  else
    goto <bb 20>; [67.00%]

  <bb 10> [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 <bb 11>; [34.00%]
  else
    goto <bb 15>; [66.00%]

  <bb 11> [local count: 21571]:
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  if (_3 != 0)
    goto <bb 12>; [33.00%]
  else
    goto <bb 20>; [67.00%]

  <bb 12> [local count: 7118]:
  # DEBUG BEGIN_STMT
  _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  _5 = xTaskRemoveFromEventList (_4);
  if (_5 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 13> [local count: 3559]:
  # DEBUG BEGIN_STMT
  if (pxHigherPriorityTaskWoken_21(D) != 0B)
    goto <bb 14>; [70.00%]
  else
    goto <bb 20>; [30.00%]

  <bb 14> [local count: 2491]:
  # DEBUG BEGIN_STMT
  *pxHigherPriorityTaskWoken_21(D) = 1;
  goto <bb 20>; [100.00%]

  <bb 15> [local count: 41872]:
  # DEBUG BEGIN_STMT
  if (cRxLock_16 == 127)
    goto <bb 16>; [34.00%]
  else
    goto <bb 18>; [66.00%]

  <bb 16> [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

  <bb 17> [local count: 142366217]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 22> [local count: 142366217]:
  goto <bb 17>; [100.00%]

  <bb 18> [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;

  <bb 20> [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;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 35> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvBuffer_27(D) != 0B)
    goto <bb 9>; [53.47%]
  else
    goto <bb 6>; [46.53%]

  <bb 6> [local count: 116576]:
  _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 582880751]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 37> [local count: 582880751]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 192251]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = xTaskGetSchedulerState ();
  if (_2 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 144189]:
  # xEntryTimeSet_30 = PHI <0(9), 0(11)>
  goto <bb 15>; [100.00%]

  <bb 11> [local count: 96126]:
  xTicksToWait.24_3 = xTicksToWait;
  if (xTicksToWait.24_3 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [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

  <bb 13> [local count: 480629211]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 36> [local count: 480629211]:
  goto <bb 13>; [100.00%]

  <bb 14> [local count: 1478726]:
  # xEntryTimeSet_44 = PHI <xEntryTimeSet_17(33), xEntryTimeSet_17(32), xEntryTimeSet_17(31), xEntryTimeSet_17(30)>

  <bb 15> [local count: 1622915]:
  # xEntryTimeSet_16 = PHI <xEntryTimeSet_30(10), xEntryTimeSet_44(14)>
  # 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 <bb 16>; [3.66%]
  else
    goto <bb 20>; [96.34%]

  <bb 16> [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 <bb 17>; [33.00%]
  else
    goto <bb 19>; [67.00%]

  <bb 17> [local count: 19602]:
  # DEBUG BEGIN_STMT
  _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  _6 = xTaskRemoveFromEventList (_5);
  if (_6 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [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

  <bb 19> [local count: 59399]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  goto <bb 34>; [100.00%]

  <bb 20> [local count: 1563516]:
  # DEBUG BEGIN_STMT
  xTicksToWait.25_7 = xTicksToWait;
  if (xTicksToWait.25_7 == 0)
    goto <bb 21>; [3.66%]
  else
    goto <bb 22>; [96.34%]

  <bb 21> [local count: 57225]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 34>; [100.00%]

  <bb 22> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  if (xEntryTimeSet_16 == 0)
    goto <bb 23>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 23> [local count: 497076]:
  # DEBUG BEGIN_STMT
  vTaskInternalSetTimeOutState (&xTimeOut);
  # DEBUG BEGIN_STMT
  # DEBUG xEntryTimeSet => 1

  <bb 24> [local count: 1506292]:
  # xEntryTimeSet_17 = PHI <xEntryTimeSet_16(22), 1(23)>
  # 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 <bb 25>; [34.00%]
  else
    goto <bb 26>; [66.00%]

  <bb 25> [local count: 512139]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;

  <bb 26> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  if (_9 == -1)
    goto <bb 27>; [34.00%]
  else
    goto <bb 28>; [66.00%]

  <bb 27> [local count: 512139]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;

  <bb 28> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  if (_10 == 0)
    goto <bb 29>; [50.00%]
  else
    goto <bb 33>; [50.00%]

  <bb 29> [local count: 753146]:
  # DEBUG BEGIN_STMT
  _11 = prvIsQueueEmpty (xQueue_26(D));
  if (_11 != 0)
    goto <bb 30>; [50.00%]
  else
    goto <bb 32>; [50.00%]

  <bb 30> [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 <bb 31>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 31> [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 <bb 14>; [100.00%]

  <bb 32> [local count: 376573]:
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_26(D));
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  goto <bb 14>; [100.00%]

  <bb 33> [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 <bb 34>; [3.66%]
  else
    goto <bb 14>; [96.34%]

  <bb 34> [local count: 144189]:
  # _18 = PHI <1(19), 0(21), 0(33)>
  xTimeOut ={v} {CLOBBER};
  return _18;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 686828460]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 44> [local count: 686828460]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 160260]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  if (_1 != 0)
    goto <bb 6>; [67.00%]
  else
    goto <bb 8>; [33.00%]

  <bb 6> [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

  <bb 7> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 45> [local count: 1073741824]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 52886]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = xTaskGetSchedulerState ();
  if (_2 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 26443]:
  xTicksToWait.19_3 = xTicksToWait;
  if (xTicksToWait.19_3 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 39664]:
  # xEntryTimeSet_40 = PHI <0(9), 0(8)>
  # xInheritanceOccurred_64 = PHI <0(9), 0(8)>
  goto <bb 14>; [100.00%]

  <bb 11> [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

  <bb 12> [local count: 132214478]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 47> [local count: 132214478]:
  goto <bb 12>; [100.00%]

  <bb 13> [local count: 406777]:
  # xEntryTimeSet_48 = PHI <xEntryTimeSet_23(39), xEntryTimeSet_23(38), xEntryTimeSet_23(37), xEntryTimeSet_23(36)>
  # xInheritanceOccurred_39 = PHI <xInheritanceOccurred_24(39), xInheritanceOccurred_24(38), xInheritanceOccurred_25(37), xInheritanceOccurred_25(36)>

  <bb 14> [local count: 446442]:
  # xEntryTimeSet_22 = PHI <xEntryTimeSet_40(10), xEntryTimeSet_48(13)>
  # xInheritanceOccurred_24 = PHI <xInheritanceOccurred_64(10), xInheritanceOccurred_39(13)>
  # 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 <bb 15>; [3.66%]
  else
    goto <bb 21>; [96.34%]

  <bb 15> [local count: 16340]:
  # uxSemaphoreCount_26 = PHI <uxSemaphoreCount_46(14)>
  # 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 <bb 16>; [17.43%]
  else
    goto <bb 17>; [82.57%]

  <bb 16> [local count: 2848]:
  # DEBUG BEGIN_STMT
  _6 = pvTaskIncrementMutexHeldCount ();
  MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;

  <bb 17> [local count: 16340]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  if (_7 != 0)
    goto <bb 18>; [33.00%]
  else
    goto <bb 20>; [67.00%]

  <bb 18> [local count: 5392]:
  # DEBUG BEGIN_STMT
  _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  _9 = xTaskRemoveFromEventList (_8);
  if (_9 != 0)
    goto <bb 19>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 19> [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

  <bb 20> [local count: 16340]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  goto <bb 43>; [100.00%]

  <bb 21> [local count: 430102]:
  # DEBUG BEGIN_STMT
  xTicksToWait.20_10 = xTicksToWait;
  if (xTicksToWait.20_10 == 0)
    goto <bb 22>; [3.66%]
  else
    goto <bb 26>; [96.34%]

  <bb 22> [local count: 15742]:
  # xInheritanceOccurred_43 = PHI <xInheritanceOccurred_24(21)>
  # DEBUG BEGIN_STMT
  if (xInheritanceOccurred_43 != 0)
    goto <bb 23>; [79.76%]
  else
    goto <bb 25>; [20.24%]

  <bb 23> [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

  <bb 24> [local count: 125556217]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 46> [local count: 125556217]:
  goto <bb 24>; [100.00%]

  <bb 25> [local count: 3186]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 43>; [100.00%]

  <bb 26> [local count: 414360]:
  # DEBUG BEGIN_STMT
  if (xEntryTimeSet_22 == 0)
    goto <bb 27>; [33.00%]
  else
    goto <bb 28>; [67.00%]

  <bb 27> [local count: 136739]:
  # DEBUG BEGIN_STMT
  vTaskInternalSetTimeOutState (&xTimeOut);
  # DEBUG BEGIN_STMT
  # DEBUG xEntryTimeSet => 1

  <bb 28> [local count: 414360]:
  # xEntryTimeSet_23 = PHI <xEntryTimeSet_22(26), 1(27)>
  # 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 <bb 29>; [34.00%]
  else
    goto <bb 30>; [66.00%]

  <bb 29> [local count: 140882]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;

  <bb 30> [local count: 414360]:
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  if (_12 == -1)
    goto <bb 31>; [34.00%]
  else
    goto <bb 32>; [66.00%]

  <bb 31> [local count: 140882]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;

  <bb 32> [local count: 414360]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  if (_13 == 0)
    goto <bb 33>; [50.00%]
  else
    goto <bb 39>; [50.00%]

  <bb 33> [local count: 207180]:
  # DEBUG BEGIN_STMT
  _14 = prvIsQueueEmpty (xQueue_38(D));
  if (_14 != 0)
    goto <bb 34>; [67.00%]
  else
    goto <bb 38>; [33.00%]

  <bb 34> [local count: 138811]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  if (_15 == 0B)
    goto <bb 35>; [17.43%]
  else
    goto <bb 36>; [82.57%]

  <bb 35> [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 ();

  <bb 36> [local count: 138811]:
  # xInheritanceOccurred_25 = PHI <xInheritanceOccurred_24(34), xInheritanceOccurred_70(35)>
  # 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 <bb 37>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 37> [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 <bb 13>; [100.00%]

  <bb 38> [local count: 68369]:
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_38(D));
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  goto <bb 13>; [100.00%]

  <bb 39> [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 <bb 40>; [3.66%]
  else
    goto <bb 13>; [96.34%]

  <bb 40> [local count: 7583]:
  # xInheritanceOccurred_44 = PHI <xInheritanceOccurred_24(39)>
  # DEBUG BEGIN_STMT
  if (xInheritanceOccurred_44 != 0)
    goto <bb 41>; [33.00%]
  else
    goto <bb 42>; [67.00%]

  <bb 41> [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 ();

  <bb 42> [local count: 7583]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 43> [local count: 27109]:
  # _27 = PHI <1(20), 0(25), 0(42)>
  xTimeOut ={v} {CLOBBER};
  return _27;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 35> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvBuffer_28(D) != 0B)
    goto <bb 9>; [53.47%]
  else
    goto <bb 6>; [46.53%]

  <bb 6> [local count: 116576]:
  _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 582880751]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 37> [local count: 582880751]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 192251]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = xTaskGetSchedulerState ();
  if (_2 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 144189]:
  # xEntryTimeSet_32 = PHI <0(9), 0(11)>
  goto <bb 15>; [100.00%]

  <bb 11> [local count: 96126]:
  xTicksToWait.15_3 = xTicksToWait;
  if (xTicksToWait.15_3 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [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

  <bb 13> [local count: 480629211]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 36> [local count: 480629211]:
  goto <bb 13>; [100.00%]

  <bb 14> [local count: 1478726]:
  # xEntryTimeSet_46 = PHI <xEntryTimeSet_18(33), xEntryTimeSet_18(32), xEntryTimeSet_18(31), xEntryTimeSet_18(30)>

  <bb 15> [local count: 1622915]:
  # xEntryTimeSet_17 = PHI <xEntryTimeSet_32(10), xEntryTimeSet_46(14)>
  # 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 <bb 16>; [3.66%]
  else
    goto <bb 20>; [96.34%]

  <bb 16> [local count: 59399]:
  # uxMessagesWaiting_31 = PHI <uxMessagesWaiting_34(15)>
  # 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 <bb 17>; [33.00%]
  else
    goto <bb 19>; [67.00%]

  <bb 17> [local count: 19602]:
  # DEBUG BEGIN_STMT
  _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  _7 = xTaskRemoveFromEventList (_6);
  if (_7 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [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

  <bb 19> [local count: 59399]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  goto <bb 34>; [100.00%]

  <bb 20> [local count: 1563516]:
  # DEBUG BEGIN_STMT
  xTicksToWait.16_8 = xTicksToWait;
  if (xTicksToWait.16_8 == 0)
    goto <bb 21>; [3.66%]
  else
    goto <bb 22>; [96.34%]

  <bb 21> [local count: 57225]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 34>; [100.00%]

  <bb 22> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  if (xEntryTimeSet_17 == 0)
    goto <bb 23>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 23> [local count: 497076]:
  # DEBUG BEGIN_STMT
  vTaskInternalSetTimeOutState (&xTimeOut);
  # DEBUG BEGIN_STMT
  # DEBUG xEntryTimeSet => 1

  <bb 24> [local count: 1506292]:
  # xEntryTimeSet_18 = PHI <xEntryTimeSet_17(22), 1(23)>
  # 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 <bb 25>; [34.00%]
  else
    goto <bb 26>; [66.00%]

  <bb 25> [local count: 512139]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;

  <bb 26> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  if (_10 == -1)
    goto <bb 27>; [34.00%]
  else
    goto <bb 28>; [66.00%]

  <bb 27> [local count: 512139]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;

  <bb 28> [local count: 1506292]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  if (_11 == 0)
    goto <bb 29>; [50.00%]
  else
    goto <bb 33>; [50.00%]

  <bb 29> [local count: 753146]:
  # DEBUG BEGIN_STMT
  _12 = prvIsQueueEmpty (xQueue_27(D));
  if (_12 != 0)
    goto <bb 30>; [50.00%]
  else
    goto <bb 32>; [50.00%]

  <bb 30> [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 <bb 31>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 31> [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 <bb 14>; [100.00%]

  <bb 32> [local count: 376573]:
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_27(D));
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  goto <bb 14>; [100.00%]

  <bb 33> [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 <bb 34>; [3.66%]
  else
    goto <bb 14>; [96.34%]

  <bb 34> [local count: 144189]:
  # _19 = PHI <1(19), 0(21), 0(33)>
  xTimeOut ={v} {CLOBBER};
  return _19;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 920350133]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 24> [local count: 920350133]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  if (_1 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [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

  <bb 7> [local count: 1073741823]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 25> [local count: 1073741824]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  if (_2 != 0B)
    goto <bb 12>; [53.47%]
  else
    goto <bb 9>; [46.53%]

  <bb 9> [local count: 49961]:
  _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  if (_3 == 0B)
    goto <bb 12>; [30.00%]
  else
    goto <bb 10>; [70.00%]

  <bb 10> [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

  <bb 11> [local count: 349728449]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 349728449]:
  goto <bb 11>; [100.00%]

  <bb 12> [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 <bb 13>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 13> [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 <bb 14>; [34.00%]
  else
    goto <bb 18>; [66.00%]

  <bb 14> [local count: 12308]:
  # DEBUG BEGIN_STMT
  _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  if (_6 != 0)
    goto <bb 15>; [33.00%]
  else
    goto <bb 23>; [67.00%]

  <bb 15> [local count: 4062]:
  # DEBUG BEGIN_STMT
  _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  _8 = xTaskRemoveFromEventList (_7);
  if (_8 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 16> [local count: 2031]:
  # DEBUG BEGIN_STMT
  if (pxHigherPriorityTaskWoken_22(D) != 0B)
    goto <bb 17>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 17> [local count: 1422]:
  # DEBUG BEGIN_STMT
  *pxHigherPriorityTaskWoken_22(D) = 1;
  goto <bb 23>; [100.00%]

  <bb 18> [local count: 23892]:
  # DEBUG BEGIN_STMT
  if (cTxLock_18 == 127)
    goto <bb 19>; [34.00%]
  else
    goto <bb 21>; [66.00%]

  <bb 19> [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

  <bb 20> [local count: 81234300]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 81234300]:
  goto <bb 20>; [100.00%]

  <bb 21> [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;

  <bb 23> [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;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvItemToQueue_14(D) != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 6> [local count: 75162]:
  _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 375809639]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 29> [local count: 375809639]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 212958]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCopyPosition_16(D) != 2)
    goto <bb 13>; [48.88%]
  else
    goto <bb 10>; [51.12%]

  <bb 10> [local count: 108864]:
  _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  if (_2 == 1)
    goto <bb 13>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 11> [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

  <bb 12> [local count: 718505940]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 28> [local count: 718505940]:
  goto <bb 12>; [100.00%]

  <bb 13> [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 <bb 15>; [33.00%]
  else
    goto <bb 14>; [67.00%]

  <bb 14> [local count: 94542]:
  if (xCopyPosition_16(D) == 2)
    goto <bb 15>; [34.00%]
  else
    goto <bb 25>; [66.00%]

  <bb 15> [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 <bb 16>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 16> [local count: 26761]:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  if (_5 != 0)
    goto <bb 17>; [33.00%]
  else
    goto <bb 25>; [67.00%]

  <bb 17> [local count: 8831]:
  # DEBUG BEGIN_STMT
  _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  _7 = xTaskRemoveFromEventList (_6);
  if (_7 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 18> [local count: 4416]:
  # DEBUG BEGIN_STMT
  if (pxHigherPriorityTaskWoken_23(D) != 0B)
    goto <bb 19>; [70.00%]
  else
    goto <bb 25>; [30.00%]

  <bb 19> [local count: 3091]:
  # DEBUG BEGIN_STMT
  *pxHigherPriorityTaskWoken_23(D) = 1;
  goto <bb 25>; [100.00%]

  <bb 20> [local count: 51949]:
  # DEBUG BEGIN_STMT
  if (cTxLock_18 == 127)
    goto <bb 21>; [34.00%]
  else
    goto <bb 23>; [66.00%]

  <bb 21> [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

  <bb 22> [local count: 176625587]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 176625587]:
  goto <bb 22>; [100.00%]

  <bb 23> [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;

  <bb 25> [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;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 42> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (pvItemToQueue_30(D) != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 6> [local count: 75162]:
  _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  if (_1 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 375809639]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 45> [local count: 375809639]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 212958]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCopyPosition_32(D) != 2)
    goto <bb 13>; [48.88%]
  else
    goto <bb 10>; [51.12%]

  <bb 10> [local count: 108864]:
  _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  if (_2 == 1)
    goto <bb 13>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 11> [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

  <bb 12> [local count: 718505940]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 44> [local count: 718505940]:
  goto <bb 12>; [100.00%]

  <bb 13> [local count: 141108]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = xTaskGetSchedulerState ();
  if (_3 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 14> [local count: 105831]:
  # xEntryTimeSet_36 = PHI <0(13), 0(15)>
  goto <bb 19>; [100.00%]

  <bb 15> [local count: 70554]:
  xTicksToWait.3_4 = xTicksToWait;
  if (xTicksToWait.3_4 == 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [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

  <bb 17> [local count: 352770504]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 43> [local count: 352770504]:
  goto <bb 17>; [100.00%]

  <bb 18> [local count: 896877]:
  # xEntryTimeSet_18 = PHI <xEntryTimeSet_20(38), xEntryTimeSet_20(39), xEntryTimeSet_20(37)>

  <bb 19> [local count: 1002708]:
  # xEntryTimeSet_19 = PHI <xEntryTimeSet_36(14), xEntryTimeSet_18(18)>
  # 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 <bb 21>; [2.75%]
  else
    goto <bb 20>; [97.25%]

  <bb 20> [local count: 975134]:
  if (xCopyPosition_32(D) == 2)
    goto <bb 21>; [2.75%]
  else
    goto <bb 27>; [97.25%]

  <bb 21> [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 <bb 22>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 22> [local count: 17949]:
  # DEBUG BEGIN_STMT
  _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  _9 = xTaskRemoveFromEventList (_8);
  if (_9 != 0)
    goto <bb 23>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 23> [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 <bb 26>; [100.00%]

  <bb 24> [local count: 36442]:
  # DEBUG BEGIN_STMT
  if (xYieldRequired_57 != 0)
    goto <bb 25>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 25> [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

  <bb 26> [local count: 54391]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  goto <bb 41>; [100.00%]

  <bb 27> [local count: 948318]:
  # DEBUG BEGIN_STMT
  xTicksToWait.4_10 = xTicksToWait;
  if (xTicksToWait.4_10 == 0)
    goto <bb 28>; [2.75%]
  else
    goto <bb 29>; [97.25%]

  <bb 28> [local count: 26079]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 41>; [100.00%]

  <bb 29> [local count: 922239]:
  # DEBUG BEGIN_STMT
  if (xEntryTimeSet_19 == 0)
    goto <bb 30>; [33.00%]
  else
    goto <bb 31>; [67.00%]

  <bb 30> [local count: 304339]:
  # DEBUG BEGIN_STMT
  vTaskInternalSetTimeOutState (&xTimeOut);
  # DEBUG BEGIN_STMT
  # DEBUG xEntryTimeSet => 1

  <bb 31> [local count: 922239]:
  # xEntryTimeSet_20 = PHI <xEntryTimeSet_19(29), 1(30)>
  # 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 <bb 32>; [34.00%]
  else
    goto <bb 33>; [66.00%]

  <bb 32> [local count: 313561]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;

  <bb 33> [local count: 922239]:
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  if (_12 == -1)
    goto <bb 34>; [34.00%]
  else
    goto <bb 35>; [66.00%]

  <bb 34> [local count: 313561]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;

  <bb 35> [local count: 922239]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  if (_13 == 0)
    goto <bb 36>; [97.25%]
  else
    goto <bb 40>; [2.75%]

  <bb 36> [local count: 896877]:
  # DEBUG BEGIN_STMT
  _14 = prvIsQueueFull (xQueue_29(D));
  if (_14 != 0)
    goto <bb 37>; [50.00%]
  else
    goto <bb 39>; [50.00%]

  <bb 37> [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 <bb 38>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 38> [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 <bb 18>; [100.00%]

  <bb 39> [local count: 448439]:
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_29(D));
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  goto <bb 18>; [100.00%]

  <bb 40> [local count: 25362]:
  # DEBUG BEGIN_STMT
  prvUnlockQueue (xQueue_29(D));
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 41> [local count: 105831]:
  # _21 = PHI <1(26), 0(28), 0(40)>
  xTimeOut ={v} {CLOBBER};
  return _21;

}


xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
{
  uint32_t ulNewBASEPRI;
  struct QueueDefinition * xHandle;

  <bb 2> [local count: 128592]:
  # DEBUG BEGIN_STMT
  # DEBUG xHandle => 0B
  # DEBUG BEGIN_STMT
  if (uxMaxCount_2(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 64296]:
  if (uxMaxCount_2(D) >= uxInitialCount_3(D))
    goto <bb 4>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 4> [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 <bb 5>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 5> [local count: 14852]:
  # DEBUG BEGIN_STMT
  MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 6> [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

  <bb 7> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 1073741824]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 21218]:
  # DEBUG xHandle => xHandle_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xHandle_6;

}


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;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxMutex => xMutex_9(D)
  # DEBUG BEGIN_STMT
  if (xMutex_9(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [46.53%]
  else
    goto <bb 7>; [53.47%]

  <bb 6> [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 <bb 9>; [100.00%]

  <bb 7> [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 <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [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;

  <bb 9> [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;

}


xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxMutex => xMutex_7(D)
  # DEBUG BEGIN_STMT
  if (xMutex_7(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 6> [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 <bb 7>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 7> [local count: 12216]:
  # DEBUG BEGIN_STMT
  xQueueGenericSend (xMutex_7(D), 0B, 0, 0);

  <bb 9> [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;

}


xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
{
  uint32_t ulNewBASEPRI;
  struct tskTaskControlBlock * pxReturn;
  int8_t * _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xSemaphore_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  if (_1 == 0B)
    goto <bb 6>; [51.20%]
  else
    goto <bb 7>; [48.80%]

  <bb 6> [local count: 128276]:
  # DEBUG BEGIN_STMT
  pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  # DEBUG pxReturn => pxReturn_5

  <bb 7> [local count: 250539]:
  # pxReturn_2 = PHI <pxReturn_5(6), 0B(5)>
  # DEBUG pxReturn => pxReturn_2
  # DEBUG BEGIN_STMT
  return pxReturn_2;

}


xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
{
  uint32_t ulNewBASEPRI;
  struct tskTaskControlBlock * pxReturn;
  int8_t * _1;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxSemaphore => xSemaphore_3(D)
  # DEBUG BEGIN_STMT
  if (xSemaphore_3(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [51.20%]
  else
    goto <bb 7>; [48.80%]

  <bb 6> [local count: 63175]:
  # DEBUG BEGIN_STMT
  pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  # DEBUG pxReturn => pxReturn_6

  <bb 7> [local count: 123389]:
  # pxReturn_2 = PHI <pxReturn_6(6), 0B(5)>
  # DEBUG pxReturn => pxReturn_2
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return pxReturn_2;

}


xQueueCreateMutex (const uint8_t ucQueueType)
{
  struct QueueDefinition * xNewQueue;

  <bb 2> [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;

}


prvInitialiseMutex (struct Queue_t * pxNewQueue)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (pxNewQueue_2(D) != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 574129754]:
  # DEBUG BEGIN_STMT
  pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
  # DEBUG BEGIN_STMT
  pxNewQueue_2(D)->pcHead = 0B;
  # DEBUG BEGIN_STMT
  pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (uxItemSize_2(D) == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
  # DEBUG BEGIN_STMT
  pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
  # DEBUG BEGIN_STMT
  xQueueGenericReset (pxNewQueue_4(D), 1);
  # DEBUG BEGIN_STMT
  pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
  # DEBUG BEGIN_STMT
  return;

}


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;

  <bb 2> [local count: 117029]:
  # DEBUG BEGIN_STMT
  # DEBUG pxNewQueue => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (uxQueueLength_6(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 3> [local count: 58514]:
  _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  _2 = IMAGPART_EXPR <_1>;
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 4> [local count: 29257]:
  _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  if (_3 <= 4294967215)
    goto <bb 5>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 5> [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 <bb 6>; [53.47%]
  else
    goto <bb 9>; [46.53%]

  <bb 6> [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 <bb 9>; [100.00%]

  <bb 7> [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

  <bb 8> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 9655]:
  # DEBUG pxNewQueue => pxNewQueue_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return pxNewQueue_10;

}


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;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 551107865]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 551107865]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 128592]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  if (_1 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [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 <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 21218]:
  _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  return _13;

  <bb 8> [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

  <bb 9> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 11> [local count: 1073741824]:
  goto <bb 9>; [100.00%]

}


