IPA function summary for vQueueUnregisterQueue.part.0/114 inlinable global time: 5.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:5.000000 size:2.000000, time:0.000000, executed if:(not inlined) calls: IPA function summary for xQueueGenericReset.part.0/65 inlinable global time: 50.697050 self size: 36 global size: 36 min size: 4 self stack: 0 global stack: 0 size:9.500000, time:9.500000 size:7.500000, time:6.500000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:0.500000, time:0.335000, executed if:(op1 == 0) && (not inlined) size:7.500000, time:2.448850, executed if:(op1 == 0) calls: vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.22 size: 3 time: 12 predicate: (op1 == 0) vListInitialise/44 function body not available loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0) vListInitialise/44 function body not available loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0) vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for vQueueWaitForMessageRestricted/41 inlinable global time: 46.970000 self size: 22 global size: 22 min size: 16 self stack: 0 global stack: 0 size:8.500000, time:7.840000 size:5.500000, time:3.840000, executed if:(not inlined) calls: prvUnlockQueue/33 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size:17 stack: 0 vTaskPlaceOnEventListRestricted/62 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for vQueueUnregisterQueue/40 inlinable global time: 15.299224 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:8.000000, time:8.899221, executed if:(op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) calls: vQueueUnregisterQueue.part.0/114 function not considered for inlining loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 == 0B) IPA function summary for pcQueueGetName/39 inlinable global time: 13.729842 self size: 17 global size: 17 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:7.000000, time:8.829841, executed if:(op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for vQueueAddToRegistry/38 inlinable global time: 16.518196 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:15.000000, time:10.218196, executed if:(op1 != 0B) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for xQueueIsQueueFullFromISR/37 inlinable global time: 7.700000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed || op0[ref offset: 480] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for prvIsQueueFull/36 inlinable global time: 26.000000 self size: 9 global size: 9 min size: 4 self stack: 0 global stack: 0 size:3.000000, time:3.000000 size:4.000000, time:3.000000, executed if:(not inlined) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for xQueueIsQueueEmptyFromISR/35 inlinable global time: 7.000000 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for prvIsQueueEmpty/34 inlinable global time: 25.000000 self size: 8 global size: 8 min size: 4 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for prvUnlockQueue/33 inlinable global time: 441.930953 self size: 35 global size: 35 min size: 24 self stack: 0 global stack: 0 size:17.000000, time:133.648980 size:6.000000, time:12.833839, executed if:(not inlined) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vTaskMissedYield/56 function body not available loop depth: 1 freq:2.75 size: 1 time: 10 xTaskRemoveFromEventList/43 function body not available loop depth: 1 freq:8.35 size: 3 time: 12 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vTaskMissedYield/56 function body not available loop depth: 1 freq:2.75 size: 1 time: 10 xTaskRemoveFromEventList/43 function body not available loop depth: 1 freq:8.35 size: 3 time: 12 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for prvCopyDataFromQueue/32 inlinable global time: 15.500000 self size: 19 global size: 19 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) size:1.000000, time:0.500000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0) && (not inlined) size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed || op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0) calls: memcpy/55 function body not available loop depth: 0 freq:0.50 size: 4 time: 13 predicate: (op0[ref offset: 512] != 0) IPA function summary for prvCopyDataToQueue/31 inlinable global time: 23.807600 self size: 54 global size: 54 min size: 0 self stack: 0 global stack: 0 size:1.500000, time:1.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 448] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 448] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed) size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0) size:3.000000, time:0.625000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined) size:8.000000, time:1.750000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) size:2.000000, time:0.500000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op2 != 0) && (op0[ref offset: 512] != 0) size:2.000000, time:0.170000, executed if:(op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0) size:1.000000, time:0.042500, executed if:(op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0) size:3.000000, time:0.625000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined) size:6.000000, time:1.375000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (not inlined) size:2.500000, time:1.250000, executed if:(op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) calls: memcpy/55 function body not available loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 != 0) && (op0[ref offset: 512] != 0) memcpy/55 function body not available loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 == 0) && (op0[ref offset: 512] != 0) xTaskPriorityDisinherit/54 function body not available loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) IPA function summary for prvGetDisinheritPriorityAfterTimeout/30 inlinable global time: 6.500000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 288] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 288] changed) size:0.500000, time:0.250000, executed if:(op0[ref offset: 288] != 0) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op0[ref offset: 288] != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op0[ref offset: 288] != 0), nonconst if:(op0[ref offset: 384] changed) && (op0[ref offset: 288] != 0) size:2.000000, time:1.000000, executed if:(op0[ref offset: 288] != 0) calls: IPA function summary for ucQueueGetQueueType/29 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 608] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 608] changed) calls: IPA function summary for vQueueSetQueueNumber/28 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: IPA function summary for uxQueueGetQueueNumber/27 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 576] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 576] changed) calls: IPA function summary for vQueueDelete/26 inlinable global time: 17.159302 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortFree/61 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) vQueueUnregisterQueue/40 function not considered for inlining loop depth: 0 freq:0.53 size: 2 time: 11callee size: 7 stack: 0 predicate: (op0 != 0B) IPA function summary for uxQueueMessagesWaitingFromISR/25 inlinable global time: 5.600001 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for uxQueueSpacesAvailable/24 inlinable global time: 17.694002 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined) size:2.000000, time:1.069400, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for uxQueueMessagesWaiting/23 inlinable global time: 16.624602 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for xQueuePeekFromISR/22 inlinable global time: 15.060094 self size: 44 global size: 44 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.400001, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.524998, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.524998, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:0.500000, time:0.297501, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:1.487503, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:10.500000, time:1.930130, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.500000, time:0.555672, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.993250, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.499996, executed if:(op0 == 0B) calls: prvCopyDataFromQueue/32 function not considered for inlining loop depth: 0 freq:0.06 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.20 size: 1 time: 10 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueReceiveFromISR/21 inlinable global time: 22.476026 self size: 59 global size: 59 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:26.500000, time:6.511267, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:3.500000, time:1.509311, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.019888, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 function not considered for inlining loop depth: 0 freq:0.18 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.54 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueuePeek/20 inlinable global time: 543.926399 self size: 108 global size: 108 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:44.000000, time:80.224698, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:8.961298, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 function not considered for inlining loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueSemaphoreTake/19 inlinable global time: 246.801177 self size: 136 global size: 136 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350001, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.750007, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) size:60.000000, time:37.465467, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) size:7.000000, time:4.111823, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:2.345004, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskPriorityDisinheritAfterTimeout/60 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvGetDisinheritPriorityAfterTimeout/30 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.90 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:0.90 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.30 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:0.30 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.61 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:0.61 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:0.61 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskPriorityInherit/59 function body not available loop depth: 1 freq:0.11 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:1.81 size: 4 time: 13 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:0.60 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) pvTaskIncrementMutexHeldCount/58 function body not available loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:1.95 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.23 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueReceive/18 inlinable global time: 543.926399 self size: 108 global size: 108 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:44.500000, time:80.307677, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:4.500000, time:8.878318, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 function not considered for inlining loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 function not considered for inlining loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGiveFromISR/17 inlinable global time: 16.111704 self size: 66 global size: 66 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.875000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.081427, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.407136, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:0.569996, executed if:(op0[ref offset: 64] != 0B) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:27.000000, time:3.297567, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:4.000000, time:0.818808, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.013241, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op1 changed) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.749999, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B) size:5.000000, time:1.500002, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.24 size: 1 time: 10 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGenericSendFromISR/16 inlinable global time: 23.679489 self size: 72 global size: 72 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:26.000000, time:5.469914, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:4.000000, time:1.389252, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.528296, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.000000, time:0.024676, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataToQueue/31 function not considered for inlining loop depth: 0 freq:0.22 size: 4 time: 13callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.39 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGenericSend/15 inlinable global time: 359.104528 self size: 121 global size: 121 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:25.500000, time:11.189120, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.500000, time:3.468903, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:5.449000, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:21.000000, time:42.665100, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.000000, time:3.452794, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskResumeAll/53 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 0 freq:0.07 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:1.25 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 79.810000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.25 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 function not considered for inlining loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 79.810000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.25 size: 3 time: 12 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueFull/36 function not considered for inlining loop depth: 1 freq:2.51 size: 3 time: 12callee size: 4 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 39.900000% of time xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:2.58 size: 4 time: 13 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:0.85 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.15 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataToQueue/31 function not considered for inlining loop depth: 0 freq:0.15 size: 5 time: 14callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:2.80 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.39 size: 2 time: 11 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueCreateCountingSemaphore/14 inlinable global time: 10.260529 self size: 20 global size: 20 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.174988 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0) size:3.000000, time:0.445502, executed if:(op0 != 0) size:1.000000, time:0.330005, executed if:(op0 != 0) && (not inlined) calls: xQueueGenericCreate/6 function not considered for inlining loop depth: 0 freq:0.17 size: 5 time: 14callee size:14 stack: 0 predicate: (op0 != 0) op1 is compile time invariant op2 is compile time invariant IPA function summary for xQueueTakeMutexRecursive/13 inlinable global time: 18.345502 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:8.000000, time:2.424704, executed if:(op0 != 0B) size:3.000000, time:1.461148, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xQueueSemaphoreTake/19 function not considered for inlining loop depth: 0 freq:0.29 size: 4 time: 13callee size:68 stack: 8 predicate: (op0 != 0B) xTaskGetCurrentTaskHandle/47 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) IPA function summary for xQueueGiveMutexRecursive/12 inlinable global time: 14.424882 self size: 25 global size: 25 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:6.000000, time:1.711046, executed if:(op0 != 0B) size:2.000000, time:1.229812, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xQueueGenericSend/15 function not considered for inlining loop depth: 0 freq:0.05 size: 5 time: 14callee size:60 stack: 8 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant xTaskGetCurrentTaskHandle/47 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) IPA function summary for xQueueGetMutexHolderFromISR/11 inlinable global time: 7.358400 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined) size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for xQueueGetMutexHolder/10 inlinable global time: 17.967768 self size: 16 global size: 16 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.473633, executed if:(op0 != 0B) && (not inlined) size:3.000000, time:1.473633, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for xQueueCreateMutex/9 inlinable global time: 27.000000 self size: 10 global size: 10 min size: 14 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: prvInitialiseMutex/8 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 6 stack: 0 xQueueGenericCreate/6 function not considered for inlining loop depth: 0 freq:1.00 size: 5 time: 14callee size:14 stack: 0 op0 is compile time invariant op1 is compile time invariant IPA function summary for prvInitialiseMutex/8 inlinable global time: 13.089900 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.500000, time:0.802050, executed if:(op0 != 0B) && (not inlined) size:1.500000, time:0.802050, executed if:(op0 != 0B) calls: xQueueGenericSend/15 function not considered for inlining loop depth: 0 freq:0.53 size: 5 time: 14callee size:60 stack: 8 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant IPA function summary for prvInitialiseNewQueue/7 inlinable global time: 20.000000 self size: 13 global size: 13 min size: 6 self stack: 0 global stack: 0 size:1.500000, time:1.500000 size:4.500000, time:3.500000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 != 0) size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 == 0) calls: xQueueGenericReset/5 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12callee size:12 stack: 0 op1 is compile time invariant IPA function summary for xQueueGenericCreate/6 inlinable global time: 10.445736 self size: 28 global size: 28 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.587495 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:6.000000, time:1.832486, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0) size:3.000000, time:0.209111, executed if:(op0 != 0) size:1.000000, time:0.165002, executed if:(op0 != 0) && (not inlined) calls: prvInitialiseNewQueue/7 function not considered for inlining loop depth: 0 freq:0.04 size: 6 time: 15callee size: 6 stack: 0 predicate: (op0 != 0) pvPortMalloc/46 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 predicate: (op0 != 0) IPA function summary for xQueueGenericReset/5 inlinable global time: 11.305065 self size: 25 global size: 25 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350002, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.750008, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) size:2.000000, time:0.700003, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed || op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) size:5.000000, time:2.922505, executed if:(op0 != 0B) size:1.000000, time:0.231005, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500011, executed if:(op0 == 0B) calls: xQueueGenericReset.part.0/65 function not considered for inlining loop depth: 0 freq:0.12 size: 4 time: 13callee size:18 stack: 0 predicate: (op0[ref offset: 480] != 0) && (op0 != 0B) Flattening functions: Overall time estimate: 2689.014374 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in vQueueUnregisterQueue.part.0/114. Enqueueing calls in xQueueGenericReset.part.0/65. Enqueueing calls in vQueueWaitForMessageRestricted/41. Enqueueing calls in vQueueUnregisterQueue/40. Enqueueing calls in pcQueueGetName/39. Enqueueing calls in vQueueAddToRegistry/38. Enqueueing calls in xQueueIsQueueFullFromISR/37. Enqueueing calls in prvIsQueueFull/36. Enqueueing calls in xQueueIsQueueEmptyFromISR/35. Enqueueing calls in prvIsQueueEmpty/34. Enqueueing calls in prvUnlockQueue/33. Enqueueing calls in prvCopyDataFromQueue/32. Enqueueing calls in prvCopyDataToQueue/31. Enqueueing calls in prvGetDisinheritPriorityAfterTimeout/30. Enqueueing calls in ucQueueGetQueueType/29. Enqueueing calls in vQueueSetQueueNumber/28. Enqueueing calls in uxQueueGetQueueNumber/27. Enqueueing calls in vQueueDelete/26. Enqueueing calls in uxQueueMessagesWaitingFromISR/25. Enqueueing calls in uxQueueSpacesAvailable/24. Enqueueing calls in uxQueueMessagesWaiting/23. Enqueueing calls in xQueuePeekFromISR/22. Enqueueing calls in xQueueReceiveFromISR/21. Enqueueing calls in xQueuePeek/20. Enqueueing calls in xQueueSemaphoreTake/19. Enqueueing calls in xQueueReceive/18. Enqueueing calls in xQueueGiveFromISR/17. Enqueueing calls in xQueueGenericSendFromISR/16. Enqueueing calls in xQueueGenericSend/15. Enqueueing calls in xQueueCreateCountingSemaphore/14. Enqueueing calls in xQueueTakeMutexRecursive/13. Enqueueing calls in xQueueGiveMutexRecursive/12. Enqueueing calls in xQueueGetMutexHolderFromISR/11. Enqueueing calls in xQueueGetMutexHolder/10. Enqueueing calls in xQueueCreateMutex/9. Enqueueing calls in prvInitialiseMutex/8. Enqueueing calls in prvInitialiseNewQueue/7. Enqueueing calls in xQueueGenericCreate/6. Enqueueing calls in xQueueGenericReset/5. Considering prvIsQueueFull/36 with 9 size to be inlined into xQueueGenericSend/15 in ../FreeRTOS/Source/queue.c:974 Estimated badness is -0.611183, frequency 2.51. Considering prvInitialiseMutex/8 with 13 size to be inlined into xQueueCreateMutex/9 in ../FreeRTOS/Source/queue.c:547 Estimated badness is -0.463934, frequency 1.00. Considering vQueueUnregisterQueue.part.0/114 with 7 size to be inlined into vQueueUnregisterQueue/40 in unknown:0 Estimated badness is -0.166667, frequency 0.30. Considering prvInitialiseNewQueue/7 with 13 size to be inlined into xQueueGenericCreate/6 in ../FreeRTOS/Source/queue.c:443 Estimated badness is -0.055871, frequency 0.04. Considering xQueueGenericReset.part.0/65 with 36 size to be inlined into xQueueGenericReset/5 in unknown:0 Estimated badness is -0.007792, frequency 0.12. Considering prvGetDisinheritPriorityAfterTimeout/30 with 9 size to be inlined into xQueueSemaphoreTake/19 in ../FreeRTOS/Source/queue.c:1693 Estimated badness is -0.002336, frequency 0.01. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 2596.598217 weighted by profile: 0.000000 Why inlining failed? function body not available : 108 calls, 145.321652 freq, 0 count --param max-inline-insns-auto limit reached : 6 calls, 1.289531 freq, 0 count call is unlikely and code size would grow : 26 calls, 26.304340 freq, 0 count IPA function summary for vQueueWaitForMessageRestricted/41 inlinable global time: 46.970000 self size: 22 global size: 22 min size: 16 self stack: 0 global stack: 0 size:8.500000, time:7.840000 size:5.500000, time:3.840000, executed if:(not inlined) calls: prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 0 freq:1.00 size: 2 time: 11callee size:17 stack: 0 vTaskPlaceOnEventListRestricted/62 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for vQueueUnregisterQueue/40 inlinable global time: 13.799222 self size: 14 global size: 18 min size: 0 self stack: 0 global stack: 0 estimated growth:9 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:8.000000, time:8.899221, executed if:(op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: vQueueUnregisterQueue.part.0/114 inlined loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for pcQueueGetName/39 inlinable global time: 13.729842 self size: 17 global size: 17 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:7.000000, time:8.829841, executed if:(op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for vQueueAddToRegistry/38 inlinable global time: 16.518196 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:15.000000, time:10.218196, executed if:(op1 != 0B) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for xQueueIsQueueFullFromISR/37 inlinable global time: 7.700000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed || op0[ref offset: 480] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for xQueueIsQueueEmptyFromISR/35 inlinable global time: 7.000000 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for prvIsQueueEmpty/34 inlinable global time: 25.000000 self size: 8 global size: 8 min size: 3 self stack: 0 global stack: 0 estimated growth:4 size:2.500000, time:2.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for prvUnlockQueue/33 inlinable global time: 441.930953 self size: 35 global size: 35 min size: 17 self stack: 0 global stack: 0 estimated growth:316 size:17.000000, time:133.648980 size:6.000000, time:12.833839, executed if:(not inlined) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vTaskMissedYield/56 function body not available loop depth: 1 freq:2.75 size: 1 time: 10 xTaskRemoveFromEventList/43 function body not available loop depth: 1 freq:8.35 size: 3 time: 12 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortExitCritical/45 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vTaskMissedYield/56 function body not available loop depth: 1 freq:2.75 size: 1 time: 10 xTaskRemoveFromEventList/43 function body not available loop depth: 1 freq:8.35 size: 3 time: 12 vPortEnterCritical/42 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 IPA function summary for prvCopyDataFromQueue/32 inlinable global time: 15.500000 self size: 19 global size: 19 min size: 0 self stack: 0 global stack: 0 estimated growth:21 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) size:1.000000, time:0.500000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed) && (op0[ref offset: 512] != 0) size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0) && (not inlined) size:1.500000, time:0.625000, executed if:(op0[ref offset: 512] != 0) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 512] changed || op0[ref offset: 96] changed || op0[ref offset: 64] changed) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] != 0) calls: memcpy/55 function body not available loop depth: 0 freq:0.50 size: 4 time: 13 predicate: (op0[ref offset: 512] != 0) IPA function summary for prvCopyDataToQueue/31 inlinable global time: 23.807600 self size: 54 global size: 54 min size: 2 self stack: 0 global stack: 0 estimated growth:19 size:1.500000, time:1.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 448] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 448] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 512] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 512] changed) size:2.000000, time:1.000000, executed if:(op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 96] changed) && (op2 != 0) && (op0[ref offset: 512] != 0) size:3.000000, time:0.625000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) && (not inlined) size:8.000000, time:1.750000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0) size:2.000000, time:0.500000, executed if:(op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op2 changed) && (op2 != 0) && (op0[ref offset: 512] != 0) size:2.000000, time:0.170000, executed if:(op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0) size:1.000000, time:0.042500, executed if:(op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 448] changed) && (op0[ref offset: 448] != 0) && (op2 == 2) && (op2 != 0) && (op0[ref offset: 512] != 0) size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined) size:0.500000, time:0.125000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0), nonconst if:(op0[ref offset: 32] changed) && (op2 == 0) && (op0[ref offset: 512] != 0) size:3.000000, time:0.625000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) && (not inlined) size:6.000000, time:1.375000, executed if:(op2 == 0) && (op0[ref offset: 512] != 0) size:0.500000, time:0.250000, executed if:(op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (not inlined) size:2.500000, time:1.250000, executed if:(op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (not inlined) size:0.500000, time:0.043575, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) calls: memcpy/55 function body not available loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 != 0) && (op0[ref offset: 512] != 0) memcpy/55 function body not available loop depth: 0 freq:0.25 size: 4 time: 13 predicate: (op2 == 0) && (op0[ref offset: 512] != 0) xTaskPriorityDisinherit/54 function body not available loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) IPA function summary for ucQueueGetQueueType/29 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 608] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 608] changed) calls: IPA function summary for vQueueSetQueueNumber/28 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: IPA function summary for uxQueueGetQueueNumber/27 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 576] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 576] changed) calls: IPA function summary for vQueueDelete/26 inlinable global time: 17.159302 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortFree/61 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) vQueueUnregisterQueue/40 call is unlikely and code size would grow loop depth: 0 freq:0.53 size: 2 time: 11callee size: 9 stack: 0 predicate: (op0 != 0B) IPA function summary for uxQueueMessagesWaitingFromISR/25 inlinable global time: 5.600001 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 448] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for uxQueueSpacesAvailable/24 inlinable global time: 17.694002 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined) size:2.000000, time:1.069400, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for uxQueueMessagesWaiting/23 inlinable global time: 16.624602 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.500000, time:1.336750, executed if:(op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for xQueuePeekFromISR/22 inlinable global time: 15.060094 self size: 44 global size: 44 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.400001, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.524998, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.524998, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:0.500000, time:0.297501, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:1.487503, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:10.500000, time:1.930130, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.500000, time:0.555672, executed if:(op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.993250, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.499996, executed if:(op0 == 0B) calls: prvCopyDataFromQueue/32 call is unlikely and code size would grow loop depth: 0 freq:0.06 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.20 size: 1 time: 10 predicate: (op0[ref offset: 512] != 0) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueReceiveFromISR/21 inlinable global time: 22.476026 self size: 59 global size: 59 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:26.500000, time:6.511267, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:3.500000, time:1.509311, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.019888, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.003480, executed if:(op2 != 0B) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 call is unlikely and code size would grow loop depth: 0 freq:0.18 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.54 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueuePeek/20 inlinable global time: 543.926399 self size: 108 global size: 108 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:44.000000, time:80.224698, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:8.961298, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 call is unlikely and code size would grow loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueSemaphoreTake/19 inlinable global time: 246.711017 self size: 136 global size: 138 min size: 0 self stack: 8 global stack: 8 estimated growth:123 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350001, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.750007, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) size:65.000000, time:37.506449, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) size:7.000000, time:4.111823, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:2.345004, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskPriorityDisinheritAfterTimeout/60 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvGetDisinheritPriorityAfterTimeout/30 inlined loop depth: 0 freq:0.01 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 8, callee self size 0, callee size 0 vPortEnterCritical/42 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.90 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:0.90 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.30 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:0.30 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:0.61 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:0.61 size: 2 time: 11callee size:17 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:0.61 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskPriorityInherit/59 function body not available loop depth: 1 freq:0.11 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:0.11 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:0.90 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:1.81 size: 4 time: 13 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:1.81 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:0.60 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) pvTaskIncrementMutexHeldCount/58 function body not available loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:1.95 size: 1 time: 10 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.23 size: 2 time: 11 predicate: (op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueReceive/18 inlinable global time: 543.926399 self size: 108 global size: 108 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.162855, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.814276, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.814276, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:44.500000, time:80.307677, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:4.500000, time:8.878318, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:2.10 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.05 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.05 size: 2 time: 11callee size:17 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 95.040000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueEmpty/34 call is unlikely and code size would grow loop depth: 1 freq:2.10 size: 3 time: 12callee size: 4 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 47.520000% of time xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:4.21 size: 4 time: 13 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:4.21 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:1.39 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.17 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataFromQueue/32 call is unlikely and code size would grow loop depth: 0 freq:0.17 size: 3 time: 12callee size: 9 stack: 0 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:4.53 size: 1 time: 10 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.54 size: 2 time: 11 predicate: (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGiveFromISR/17 inlinable global time: 16.111704 self size: 66 global size: 66 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0 != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.875000, executed if:(op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.081427, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.407136, executed if:(op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:0.569996, executed if:(op0[ref offset: 64] != 0B) && (op0[ref offset: 0] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:27.000000, time:3.297567, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:4.000000, time:0.818808, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.013241, executed if:(op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op1 changed) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.002318, executed if:(op1 != 0B) && (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.749999, executed if:(op0[ref offset: 512] != 0) && (op0 != 0B) size:5.000000, time:1.500002, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.24 size: 1 time: 10 predicate: (op0[ref offset: 0] != 0B || op0[ref offset: 64] == 0B) && (op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGenericSendFromISR/16 inlinable global time: 23.679489 self size: 72 global size: 72 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:26.000000, time:5.469914, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:4.000000, time:1.389252, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.528296, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.000000, time:0.024676, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.004318, executed if:(op2 != 0B) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.02 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataToQueue/31 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.22 size: 4 time: 13callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortValidateInterruptPriority/57 function body not available loop depth: 0 freq:0.39 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueGenericSend/15 inlinable global time: 386.668900 self size: 121 global size: 123 min size: 0 self stack: 8 global stack: 8 estimated growth:190 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.105000, executed if:(op1 == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) && (not inlined) size:2.500000, time:0.525002, executed if:(op1 == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op1 == 0B) && (op0 != 0B) size:5.000000, time:0.525002, executed if:(op0[ref offset: 512] != 0) && (op1 == 0B) && (op0 != 0B) size:2.000000, time:1.189999, executed if:(op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:0.500000, time:0.152082, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.760408, executed if:(op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:5.000000, time:1.003736, executed if:(op0[ref offset: 480] != 1) && (op3 == 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:25.500000, time:11.189120, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.500000, time:3.468903, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:5.449000, executed if:(op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:24.000000, time:50.182656, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) size:2.000000, time:3.452794, executed if:(op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskResumeAll/53 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 0 freq:0.07 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskResumeAll/53 function body not available loop depth: 1 freq:1.25 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 79.810000% of time xTaskResumeAll/53 function body not available loop depth: 1 freq:1.25 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvUnlockQueue/33 call is unlikely and code size would grow loop depth: 1 freq:1.25 size: 2 time: 11callee size:17 stack: 0 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 change 79.810000% of time vTaskPlaceOnEventList/52 function body not available loop depth: 1 freq:1.25 size: 3 time: 12 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvIsQueueFull/36 inlined loop depth: 1 freq:2.51 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 8, callee self size 0, callee size 0 vPortExitCritical/45 function body not available loop depth: 1 freq:2.51 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:2.51 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskCheckForTimeOut/51 function body not available loop depth: 1 freq:2.58 size: 4 time: 13 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant op1 is compile time invariant vPortExitCritical/45 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskSuspendAll/50 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 1 freq:2.58 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vTaskInternalSetTimeOutState/49 function body not available loop depth: 1 freq:0.85 size: 2 time: 11 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) op0 is compile time invariant vPortExitCritical/45 function body not available loop depth: 0 freq:0.07 size: 1 time: 10 predicate: (op3 != 2) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.15 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) prvCopyDataToQueue/31 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.15 size: 5 time: 14callee size:27 stack: 0 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 1 freq:2.80 size: 1 time: 10 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) xTaskGetSchedulerState/48 function body not available loop depth: 0 freq:0.39 size: 2 time: 11 predicate: (op3 != 2 || op0[ref offset: 480] == 1) && (op1 != 0B || op0[ref offset: 512] == 0) && (op0 != 0B) IPA function summary for xQueueCreateCountingSemaphore/14 inlinable global time: 10.260529 self size: 20 global size: 20 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.174988 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0) size:3.000000, time:0.445502, executed if:(op0 != 0) size:1.000000, time:0.330005, executed if:(op0 != 0) && (not inlined) calls: xQueueGenericCreate/6 call is unlikely and code size would grow loop depth: 0 freq:0.17 size: 5 time: 14callee size:15 stack: 0 predicate: (op0 != 0) op1 is compile time invariant op2 is compile time invariant IPA function summary for xQueueTakeMutexRecursive/13 inlinable global time: 18.345502 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:8.000000, time:2.424704, executed if:(op0 != 0B) size:3.000000, time:1.461148, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xQueueSemaphoreTake/19 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.29 size: 4 time: 13callee size:69 stack: 8 predicate: (op0 != 0B) xTaskGetCurrentTaskHandle/47 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) IPA function summary for xQueueGiveMutexRecursive/12 inlinable global time: 14.424882 self size: 25 global size: 25 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.267350, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.267350, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:6.000000, time:1.711046, executed if:(op0 != 0B) size:2.000000, time:1.229812, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xQueueGenericSend/15 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.05 size: 5 time: 14callee size:61 stack: 8 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant xTaskGetCurrentTaskHandle/47 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 predicate: (op0 != 0B) IPA function summary for xQueueGetMutexHolderFromISR/11 inlinable global time: 7.358400 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B) && (not inlined) size:0.500000, time:0.179200, executed if:(op0[ref offset: 0] == 0B) && (op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 0] == 0B) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: IPA function summary for xQueueGetMutexHolder/10 inlinable global time: 17.967768 self size: 16 global size: 16 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.473633, executed if:(op0 != 0B) && (not inlined) size:3.000000, time:1.473633, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/45 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/42 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) IPA function summary for xQueueCreateMutex/9 inlinable global time: 26.287850 self size: 10 global size: 17 min size: 34 self stack: 0 global stack: 0 size:3.500000, time:2.802050 size:3.000000, time:2.000000, executed if:(not inlined) calls: prvInitialiseMutex/8 inlined loop depth: 0 freq:1.00 size: 2 time: 11callee size: 6 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 xQueueGenericSend/15 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.53 size: 5 time: 14callee size:61 stack: 8 op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant xQueueGenericCreate/6 call is unlikely and code size would grow loop depth: 0 freq:1.00 size: 5 time: 14callee size:15 stack: 0 op0 is compile time invariant op1 is compile time invariant IPA function summary for xQueueGenericCreate/6 inlinable global time: 10.489844 self size: 28 global size: 30 min size: 5 self stack: 0 global stack: 0 estimated growth:32 size:5.000000, time:4.587495 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:6.000000, time:1.832486, executed if:(op0 != 0), nonconst if:(op0 changed || op1 changed) && (op0 != 0) size:4.500000, time:0.275274, executed if:(op0 != 0) size:1.000000, time:0.165002, executed if:(op0 != 0) && (not inlined) size:2.000000, time:0.088217, executed if:(op0 != 0), nonconst if:(op1 changed) && (op0 != 0) size:0.500000, time:0.011027, executed if:(op1 != 0) && (op0 != 0) size:0.500000, time:0.011027, executed if:(op1 == 0) && (op0 != 0) calls: prvInitialiseNewQueue/7 inlined loop depth: 0 freq:0.04 size: 6 time: 15callee size: 6 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 xQueueGenericReset/5 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.04 size: 3 time: 12callee size:24 stack: 0 predicate: (op0 != 0) op1 is compile time invariant pvPortMalloc/46 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 predicate: (op0 != 0) IPA function summary for xQueueGenericReset/5 inlinable global time: 14.869690 self size: 25 global size: 49 min size: 0 self stack: 0 global stack: 0 estimated growth:18 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350002, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.750008, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 480] changed) && (op0 != 0B) size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175001, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) size:2.000000, time:0.700003, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 480] changed || op0[ref offset: 512] changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) size:5.000000, time:2.922505, executed if:(op0 != 0B) size:1.000000, time:0.231005, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500011, executed if:(op0 == 0B) size:9.500000, time:1.097272, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B) size:2.000000, time:0.231005, executed if:(op0[ref offset: 480] != 0) && (op0 != 0B), nonconst if:(op1 changed) && (op0[ref offset: 480] != 0) && (op0 != 0B) size:7.500000, time:0.282848, executed if:(op1 == 0) && (op0[ref offset: 480] != 0) && (op0 != 0B) calls: xQueueGenericReset.part.0/65 inlined loop depth: 0 freq:0.12 size: 4 time: 13callee size:18 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 vPortEnterCritical/42 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 predicate: (op0[ref offset: 480] != 0) && (op0 != 0B) xTaskRemoveFromEventList/43 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 predicate: (op1 == 0) && (op0[ref offset: 480] != 0) && (op0 != 0B) vListInitialise/44 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0[ref offset: 480] != 0) && (op0 != 0B) vListInitialise/44 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0[ref offset: 480] != 0) && (op0 != 0B) vPortExitCritical/45 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 predicate: (op0[ref offset: 480] != 0) && (op0 != 0B) Symbol table: vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial 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) @05df82a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial 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) @05f9a620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call) Calls: vPortFree/61 (vPortFree) @05f79ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) Calls: xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) Calls: pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call) Calls: vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call) Calls: vTaskMissedYield/56 (vTaskMissedYield) @05f532a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call) Calls: memcpy/55 (memcpy) @05f53000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) Calls: xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call) Calls: xTaskResumeAll/53 (xTaskResumeAll) @05f05e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) Calls: vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call) Calls: xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call) Calls: xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call) Calls: pvPortMalloc/46 (pvPortMalloc) @05ef2000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call) Calls: vPortExitCritical/45 (vPortExitCritical) @05ef2d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (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) @05ef2c40 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) @05ef2b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (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) @05ef2a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (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) @05ef2540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call) Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call) pcQueueGetName/39 (pcQueueGetName) @05eece00 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460 Type: function definition analyzed Visibility: externally_visible public References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: 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) @05eec700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call) prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:114863534 (estimated locally) body local optimize_size Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call) prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) Calls: memcpy/55 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call) prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: 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) @05ee3a80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vQueueDelete/26 (vQueueDelete) @05ee32a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:269344 (estimated locally) body optimize_size Called by: Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call) xQueuePeek/20 (xQueuePeek) @05eda000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call) Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (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) @05ec8540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call) xQueueGenericSend/15 (xQueueGenericSend) @05e687e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call) Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (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) @05e680e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:128592 (estimated locally) body optimize_size Called by: Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call) xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call) xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call) xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call) prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: 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) @05e60000 Type: function definition analyzed Visibility: prevailing_def_ironly 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) @05e767e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:117029 (estimated locally) body optimize_size Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call) Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call) xQueueGenericReset/5 (xQueueGenericReset) @05e76c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:183702 (estimated locally) body optimize_size Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call) Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call) xQueueRegistry/4 (xQueueRegistry) @05e71630 Type: variable definition analyzed Visibility: externally_visible public References: Referring: pcQueueGetName/39 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)vQueueAddToRegistry/38 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write) Availability: available Varpool flags: ;; Function prvIsQueueEmpty (prvIsQueueEmpty, funcdef_no=33, decl_uid=6454, cgraph_uid=34, symbol_order=34) prvIsQueueEmpty (const struct Queue_t * pxQueue) { BaseType_t xReturn; long unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} pxQueue_5(D)->uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_2 = PHI <1(2), 0(3)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_2; } ;; Function prvCopyDataToQueue (prvCopyDataToQueue, funcdef_no=30, decl_uid=6460, cgraph_uid=31, symbol_order=31) prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition) { UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; int8_t * _4; int8_t * _5; long unsigned int _6; int8_t * _7; int8_t * _8; int8_t * _9; int8_t * _10; int8_t * _11; long unsigned int _12; sizetype _13; int8_t * _14; int8_t * _15; int8_t * _16; int8_t * _17; long unsigned int _18; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_25 # DEBUG BEGIN_STMT _1 = pxQueue_24(D)->uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT _2 = pxQueue_24(D)->pcHead; if (_2 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 93576600]: # DEBUG BEGIN_STMT _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder; xReturn_36 = xTaskPriorityDisinherit (_3); # DEBUG xReturn => xReturn_36 # DEBUG BEGIN_STMT pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B; goto ; [100.00%] [local count: 536870911]: # DEBUG BEGIN_STMT if (xPosition_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _4 = pxQueue_24(D)->pcWriteTo; memcpy (_4, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _5 = pxQueue_24(D)->pcWriteTo; _6 = pxQueue_24(D)->uxItemSize; _7 = _5 + _6; pxQueue_24(D)->pcWriteTo = _7; # DEBUG BEGIN_STMT _8 = pxQueue_24(D)->u.xQueue.pcTail; if (_7 >= _8) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _9 = pxQueue_24(D)->pcHead; pxQueue_24(D)->pcWriteTo = _9; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _10 = pxQueue_24(D)->u.xQueue.pcReadFrom; memcpy (_10, pvItemToQueue_27(D), _1); # DEBUG BEGIN_STMT _11 = pxQueue_24(D)->u.xQueue.pcReadFrom; _12 = pxQueue_24(D)->uxItemSize; _13 = -_12; _14 = _11 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _14; # DEBUG BEGIN_STMT _15 = pxQueue_24(D)->pcHead; if (_14 < _15) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _16 = pxQueue_24(D)->u.xQueue.pcTail; _17 = _16 + _13; pxQueue_24(D)->u.xQueue.pcReadFrom = _17; [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xPosition_26(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 91268055]: # DEBUG BEGIN_STMT if (uxMessagesWaiting_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 45634027]: # DEBUG BEGIN_STMT uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295; # DEBUG uxMessagesWaiting => uxMessagesWaiting_31 [local count: 1073741824]: # xReturn_19 = PHI # uxMessagesWaiting_20 = PHI # DEBUG uxMessagesWaiting => uxMessagesWaiting_20 # DEBUG xReturn => xReturn_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _18 = uxMessagesWaiting_20 + 1; pxQueue_24(D)->uxMessagesWaiting ={v} _18; # DEBUG BEGIN_STMT return xReturn_19; } ;; Function prvCopyDataFromQueue (prvCopyDataFromQueue, funcdef_no=31, decl_uid=6463, cgraph_uid=32, symbol_order=32) prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer) { long unsigned int _1; int8_t * _2; int8_t * _3; int8_t * _4; int8_t * _5; int8_t * _6; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = pxQueue_10(D)->uxItemSize; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = pxQueue_10(D)->u.xQueue.pcReadFrom; _3 = _2 + _1; pxQueue_10(D)->u.xQueue.pcReadFrom = _3; # DEBUG BEGIN_STMT _4 = pxQueue_10(D)->u.xQueue.pcTail; if (_3 >= _4) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _5 = pxQueue_10(D)->pcHead; pxQueue_10(D)->u.xQueue.pcReadFrom = _5; [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = pxQueue_10(D)->u.xQueue.pcReadFrom; memcpy (pvBuffer_13(D), _6, _1); [local count: 1073741824]: return; } ;; Function prvUnlockQueue (prvUnlockQueue, funcdef_no=32, decl_uid=6452, cgraph_uid=33, symbol_order=33) prvUnlockQueue (struct Queue_t * const pxQueue) { int8_t cRxLock; int8_t cTxLock; long unsigned int _1; struct List_t * _2; long int _3; unsigned char cTxLock.6_4; unsigned char _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cRxLock.7_9; unsigned char _10; [local count: 114863534]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cTxLock_20 ={v} pxQueue_19(D)->cTxLock; # DEBUG cTxLock => cTxLock_20 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems; if (_1 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878293]: # DEBUG BEGIN_STMT _2 = &pxQueue_19(D)->xTasksWaitingToReceive; _3 = xTaskRemoveFromEventList (_2); if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429836]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878293]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.6_4 = (unsigned char) cTxLock_11; _5 = cTxLock.6_4 + 255; cTxLock_23 = (int8_t) _5; # DEBUG cTxLock => cTxLock_23 [local count: 1073741824]: # cTxLock_11 = PHI # DEBUG cTxLock => cTxLock_11 # DEBUG BEGIN_STMT if (cTxLock_11 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863532]: # DEBUG BEGIN_STMT pxQueue_19(D)->cTxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT cRxLock_27 ={v} pxQueue_19(D)->cRxLock; # DEBUG cRxLock => cRxLock_27 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686003]: # DEBUG BEGIN_STMT _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems; if (_6 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 958878272]: # DEBUG BEGIN_STMT _7 = &pxQueue_19(D)->xTasksWaitingToSend; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 316429830]: # DEBUG BEGIN_STMT vTaskMissedYield (); [local count: 958878272]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.7_9 = (unsigned char) cRxLock_12; _10 = cRxLock.7_9 + 255; cRxLock_30 = (int8_t) _10; # DEBUG cRxLock => cRxLock_30 [local count: 1073741803]: # cRxLock_12 = PHI # DEBUG cRxLock => cRxLock_12 # DEBUG BEGIN_STMT if (cRxLock_12 > 0) goto ; [94.50%] else goto ; [5.50%] [local count: 114863529]: # DEBUG BEGIN_STMT pxQueue_19(D)->cRxLock ={v} -1; # DEBUG BEGIN_STMT vPortExitCritical (); return; } ;; Function xQueueGenericReset (xQueueGenericReset, funcdef_no=4, decl_uid=6412, cgraph_uid=5, symbol_order=5) Symbols to be put in SSA form { D.7281 D.7461 } Incremental SSA update started at block: 0 Number of blocks in CFG: 20 Number of blocks to update: 19 ( 95%) Merging blocks 4 and 10 Removing basic block 7 Merging blocks 9 and 11 Removing basic block 13 Merging blocks 19 and 12 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ;; ;; Loop 2 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 1 ;; header 14, latch 14 ;; depth 1, outer 0 ;; nodes: 14 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 6 13 } ;; 6 succs { 7 13 } ;; 7 succs { 8 11 } ;; 8 succs { 9 12 } ;; 9 succs { 10 12 } ;; 10 succs { 12 } ;; 11 succs { 12 } ;; 12 succs { 1 } ;; 13 succs { 14 } ;; 14 succs { 14 } xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue) { BaseType_t D.7461; 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; int8_t * _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; int8_t * _18; long unsigned int _19; long unsigned int _20; int8_t * _21; long unsigned int _22; struct List_t * _23; long int _24; struct List_t * _25; struct List_t * _26; [local count: 183702]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_5(D) # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 55111]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 551107865]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize; _2 = .MUL_OVERFLOW (_3, _1); _4 = IMAGPART_EXPR <_2>; if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: # DEBUG xQueue => xQueue_5(D) # DEBUG xNewQueue => xNewQueue_7(D) # DEBUG INLINE_ENTRY xQueueGenericReset # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _14 = MEM[(struct Queue_t *)xQueue_5(D)].pcHead; _15 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength; _16 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize; _17 = _15 * _16; _18 = _14 + _17; MEM[(struct Queue_t *)xQueue_5(D)].u.xQueue.pcTail = _18; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_5(D)].uxMessagesWaiting ={v} 0; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_5(D)].pcWriteTo = _14; # DEBUG BEGIN_STMT _19 = _15 + 4294967295; _20 = _16 * _19; _21 = _14 + _20; MEM[(struct Queue_t *)xQueue_5(D)].u.xQueue.pcReadFrom = _21; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_5(D)].cRxLock ={v} -1; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_5(D)].cTxLock ={v} -1; # DEBUG BEGIN_STMT if (xNewQueue_7(D) == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 14216]: # DEBUG BEGIN_STMT _22 ={v} MEM[(struct Queue_t *)xQueue_5(D)].xTasksWaitingToSend.uxNumberOfItems; if (_22 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4691]: # DEBUG BEGIN_STMT _23 = &MEM[(struct Queue_t *)xQueue_5(D)].xTasksWaitingToSend; _24 = xTaskRemoveFromEventList (_23); if (_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2346]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 7002]: # DEBUG BEGIN_STMT _25 = &MEM[(struct Queue_t *)xQueue_5(D)].xTasksWaitingToSend; vListInitialise (_25); # DEBUG BEGIN_STMT _26 = &MEM[(struct Queue_t *)xQueue_5(D)].xTasksWaitingToReceive; vListInitialise (_26); [local count: 21218]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _42 = 1; # DEBUG xQueue => NULL # DEBUG xNewQueue => NULL # DEBUG xReturn => NULL # DEBUG pxQueue => NULL # DEBUG ulNewBASEPRI => NULL # DEBUG ulNewBASEPRI => NULL _13 = _42; return _13; [local count: 107374]: # DEBUG xReturn => NULL # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] } ;; Function xQueueGenericCreate (xQueueGenericCreate, funcdef_no=5, decl_uid=6392, cgraph_uid=6, symbol_order=6) Symbols to be put in SSA form { D.7283 } Incremental SSA update started at block: 0 Number of blocks in CFG: 16 Number of blocks to update: 15 ( 94%) Merging blocks 6 and 12 Merging blocks 8 and 10 Removing basic block 11 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 11, latch 11 ;; depth 1, outer 0 ;; nodes: 11 ;; 2 succs { 3 10 } ;; 3 succs { 4 10 } ;; 4 succs { 5 10 } ;; 5 succs { 6 12 } ;; 6 succs { 7 8 } ;; 7 succs { 9 } ;; 8 succs { 9 } ;; 9 succs { 12 } ;; 10 succs { 11 } ;; 11 succs { 11 } ;; 12 succs { 1 } xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType) { uint32_t ulNewBASEPRI; uint8_t * pucQueueStorage; struct Queue_t * pxNewQueue; __complex__ long unsigned int _1; long unsigned int _2; long unsigned int _3; unsigned int _4; [local count: 117029]: # DEBUG BEGIN_STMT # DEBUG pxNewQueue => 0B # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxQueueLength_6(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58514]: _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D)); _2 = IMAGPART_EXPR <_1>; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 29257]: _3 = uxQueueLength_6(D) * uxItemSize_7(D); if (_3 <= 4294967215) goto ; [33.00%] else goto ; [67.00%] [local count: 9655]: # DEBUG BEGIN_STMT # DEBUG xQueueSizeInBytes => _3 # DEBUG BEGIN_STMT _4 = _3 + 80; pxNewQueue_10 = pvPortMalloc (_4); # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT if (pxNewQueue_10 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 5162]: # DEBUG BEGIN_STMT # DEBUG pucQueueStorage => pxNewQueue_10 # DEBUG BEGIN_STMT pucQueueStorage_11 = pxNewQueue_10 + 80; # DEBUG pucQueueStorage => pucQueueStorage_11 # DEBUG BEGIN_STMT # DEBUG uxQueueLength => uxQueueLength_6(D) # DEBUG uxItemSize => uxItemSize_7(D) # DEBUG pucQueueStorage => pucQueueStorage_11 # DEBUG ucQueueType => ucQueueType_12(D) # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG INLINE_ENTRY prvInitialiseNewQueue # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxItemSize_7(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2581]: # DEBUG BEGIN_STMT pxNewQueue_10->pcHead = pxNewQueue_10; goto ; [100.00%] [local count: 2581]: # DEBUG BEGIN_STMT pxNewQueue_10->pcHead = pucQueueStorage_11; [local count: 5162]: # DEBUG BEGIN_STMT pxNewQueue_10->uxLength = uxQueueLength_6(D); # DEBUG BEGIN_STMT pxNewQueue_10->uxItemSize = uxItemSize_7(D); # DEBUG BEGIN_STMT xQueueGenericReset (pxNewQueue_10, 1); # DEBUG BEGIN_STMT pxNewQueue_10->ucQueueType = ucQueueType_12(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9655]: # DEBUG uxQueueLength => NULL # DEBUG uxItemSize => NULL # DEBUG pucQueueStorage => NULL # DEBUG ucQueueType => NULL # DEBUG pxNewQueue => NULL # DEBUG pxNewQueue => pxNewQueue_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxNewQueue_10; } ;; Function xQueueGetMutexHolder (xQueueGetMutexHolder, funcdef_no=9, decl_uid=6374, cgraph_uid=10, symbol_order=10) xQueueGetMutexHolder (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxSemaphore => xSemaphore_3(D) # DEBUG BEGIN_STMT if (xSemaphore_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 63175]: # DEBUG BEGIN_STMT pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_6 [local count: 123389]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return pxReturn_2; } ;; Function xQueueGetMutexHolderFromISR (xQueueGetMutexHolderFromISR, funcdef_no=10, decl_uid=6376, cgraph_uid=11, symbol_order=11) xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore) { uint32_t ulNewBASEPRI; struct tskTaskControlBlock * pxReturn; int8_t * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSemaphore_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead; if (_1 == 0B) goto ; [51.20%] else goto ; [48.80%] [local count: 128276]: # DEBUG BEGIN_STMT pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder; # DEBUG pxReturn => pxReturn_5 [local count: 250539]: # pxReturn_2 = PHI # DEBUG pxReturn => pxReturn_2 # DEBUG BEGIN_STMT return pxReturn_2; } ;; Function xQueueCreateCountingSemaphore (xQueueCreateCountingSemaphore, funcdef_no=13, decl_uid=6365, cgraph_uid=14, symbol_order=14) xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) { uint32_t ulNewBASEPRI; struct QueueDefinition * xHandle; [local count: 128592]: # DEBUG BEGIN_STMT # DEBUG xHandle => 0B # DEBUG BEGIN_STMT if (uxMaxCount_2(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 64296]: if (uxMaxCount_2(D) >= uxInitialCount_3(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 21218]: # DEBUG BEGIN_STMT xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2); # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT if (xHandle_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 14852]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 21218]: # DEBUG xHandle => xHandle_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHandle_6; } ;; Function xQueueGenericSend (xQueueGenericSend, funcdef_no=14, decl_uid=6306, cgraph_uid=15, symbol_order=15) Symbols to be put in SSA form { D.7287 D.7489 } Incremental SSA update started at block: 0 Number of blocks in CFG: 50 Number of blocks to update: 49 ( 98%) Merging blocks 4 and 42 Merging blocks 8 and 45 Merging blocks 12 and 44 Merging blocks 17 and 43 Removing basic block 36 Merging blocks 49 and 46 ;; 6 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ;; ;; Loop 5 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 1 ;; header 19, latch 18 ;; depth 1, outer 0 ;; nodes: 19 18 40 41 39 38 36 37 35 33 34 31 32 29 30 27 20 ;; ;; Loop 2 ;; header 17, latch 17 ;; depth 1, outer 0 ;; nodes: 17 ;; ;; Loop 3 ;; header 12, latch 12 ;; depth 1, outer 0 ;; nodes: 12 ;; ;; Loop 4 ;; header 8, latch 8 ;; depth 1, outer 0 ;; nodes: 8 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 9 6 } ;; 6 succs { 9 7 } ;; 7 succs { 8 } ;; 8 succs { 8 } ;; 9 succs { 13 10 } ;; 10 succs { 13 11 } ;; 11 succs { 12 } ;; 12 succs { 12 } ;; 13 succs { 14 15 } ;; 14 succs { 19 } ;; 15 succs { 14 16 } ;; 16 succs { 17 } ;; 17 succs { 17 } ;; 18 succs { 19 } ;; 19 succs { 21 20 } ;; 20 succs { 21 27 } ;; 21 succs { 22 24 } ;; 22 succs { 23 26 } ;; 23 succs { 26 } ;; 24 succs { 25 26 } ;; 25 succs { 26 } ;; 26 succs { 43 } ;; 27 succs { 28 29 } ;; 28 succs { 43 } ;; 29 succs { 30 31 } ;; 30 succs { 31 } ;; 31 succs { 32 33 } ;; 32 succs { 33 } ;; 33 succs { 34 35 } ;; 34 succs { 35 } ;; 35 succs { 36 42 } ;; 36 succs { 38 37 } ;; 37 succs { 38 } ;; 38 succs { 39 41 } ;; 39 succs { 40 18 } ;; 40 succs { 18 } ;; 41 succs { 18 } ;; 42 succs { 43 } ;; 43 succs { 1 } xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) { BaseType_t xReturn; BaseType_t D.7489; 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; long unsigned int _75; long unsigned int _76; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_29(D) # DEBUG BEGIN_STMT if (xQueue_29(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue_30(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_68 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_32(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_69 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 141108]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetSchedulerState (); if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 105831]: # xEntryTimeSet_36 = PHI <0(13), 0(15)> goto ; [100.00%] [local count: 70554]: xTicksToWait.3_4 = xTicksToWait; if (xTicksToWait.3_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 35277]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_70 [local count: 352770504]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 896877]: # xEntryTimeSet_18 = PHI [local count: 1002708]: # xEntryTimeSet_19 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting; _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength; if (_5 < _6) goto ; [2.75%] else goto ; [97.25%] [local count: 975134]: if (xCopyPosition_32(D) == 2) goto ; [2.75%] else goto ; [97.25%] [local count: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D)); # DEBUG xYieldRequired => xYieldRequired_57 # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17949]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8974]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 36442]: # DEBUG BEGIN_STMT if (xYieldRequired_57 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18221]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 54391]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 948318]: # DEBUG BEGIN_STMT xTicksToWait.4_10 = xTicksToWait; if (xTicksToWait.4_10 == 0) goto ; [2.75%] else goto ; [97.25%] [local count: 26079]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 922239]: # DEBUG BEGIN_STMT if (xEntryTimeSet_19 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 304339]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 922239]: # xEntryTimeSet_20 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 313561]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0; [local count: 922239]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [97.25%] else goto ; [2.75%] [local count: 896877]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_29(D) # DEBUG INLINE_ENTRY prvIsQueueFull # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _75 ={v} MEM[(const struct Queue_t *)xQueue_29(D)].uxMessagesWaiting; _76 = MEM[(const struct Queue_t *)xQueue_29(D)].uxLength; if (_75 == _76) goto ; [34.00%] else goto ; [66.00%] [local count: 591939]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 896877]: # xReturn_77 = PHI <1(36), 0(37)> # DEBUG xReturn => xReturn_77 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _80 = xReturn_77; # DEBUG pxQueue => NULL # DEBUG xReturn => NULL _14 = _80; if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 448439]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend; xTicksToWait.5_16 = xTicksToWait; vTaskPlaceOnEventList (_15, xTicksToWait.5_16); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT _17 = xTaskResumeAll (); if (_17 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 224219]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); goto ; [100.00%] [local count: 448439]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 25362]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_29(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 105831]: # _21 = PHI <1(26), 0(28), 0(42)> xTimeOut ={v} {CLOBBER}; return _21; } ;; Function xQueueCreateMutex (xQueueCreateMutex, funcdef_no=8, decl_uid=6359, cgraph_uid=9, symbol_order=9) Symbols to be put in SSA form { D.7289 } Incremental SSA update started at block: 0 Number of blocks in CFG: 7 Number of blocks to update: 6 ( 86%) Merging blocks 2 and 4 Merging blocks 6 and 3 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 1 } xQueueCreateMutex (const uint8_t ucQueueType) { struct QueueDefinition * xNewQueue; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxMutexLength => 1 # DEBUG uxMutexSize => 0 # DEBUG BEGIN_STMT xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D)); # DEBUG xNewQueue => xNewQueue_4 # DEBUG BEGIN_STMT # DEBUG pxNewQueue => xNewQueue_4 # DEBUG INLINE_ENTRY prvInitialiseMutex # DEBUG BEGIN_STMT if (xNewQueue_4 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xNewQueue_4].u.xSemaphore.xMutexHolder = 0B; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xNewQueue_4].pcHead = 0B; # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xNewQueue_4].u.xSemaphore.uxRecursiveCallCount = 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xQueueGenericSend (xNewQueue_4, 0B, 0, 0); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxNewQueue => NULL # DEBUG BEGIN_STMT return xNewQueue_4; } ;; Function xQueueGiveMutexRecursive (xQueueGiveMutexRecursive, funcdef_no=11, decl_uid=6381, cgraph_uid=12, symbol_order=12) xQueueGiveMutexRecursive (struct QueueDefinition * xMutex) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_7(D) # DEBUG BEGIN_STMT if (xMutex_7(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [30.00%] else goto ; [70.00%] [local count: 37017]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 4294967295; MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT if (_4 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 12216]: # DEBUG BEGIN_STMT xQueueGenericSend (xMutex_7(D), 0B, 0, 0); [local count: 123389]: # xReturn_5 = PHI <1(7), 0(5), 1(6)> # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_5; } ;; Function xQueueGenericSendFromISR (xQueueGenericSendFromISR, funcdef_no=15, decl_uid=6328, cgraph_uid=16, symbol_order=16) xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxPreviousMessagesWaiting; const int8_t cTxLock; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; unsigned char cTxLock.10_8; unsigned char _9; signed char _10; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_13(D) # DEBUG BEGIN_STMT if (xQueue_13(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvItemToQueue_14(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 375809639]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 375809639]: goto ; [100.00%] [local count: 212958]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCopyPosition_16(D) != 2) goto ; [48.88%] else goto ; [51.12%] [local count: 108864]: _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 71850]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 718505940]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 718505940]: goto ; [100.00%] [local count: 141108]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength; if (_3 < _4) goto ; [33.00%] else goto ; [67.00%] [local count: 94542]: if (xCopyPosition_16(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 78710]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting; # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D)); # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 26761]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 8831]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4416]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_23(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 3091]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_23(D) = 1; goto ; [100.00%] [local count: 51949]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 17663]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_30 [local count: 176625587]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 176625587]: goto ; [100.00%] [local count: 34286]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.10_8 = (unsigned char) cTxLock_18; _9 = cTxLock.10_8 + 1; _10 = (signed char) _9; MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10; [local count: 123445]: # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)> # DEBUG xReturn => xReturn_11 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_11; } ;; Function xQueueGiveFromISR (xQueueGiveFromISR, funcdef_no=16, decl_uid=6331, cgraph_uid=17, symbol_order=17) xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cTxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; int8_t * _2; struct tskTaskControlBlock * _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; struct List_t * _7; long int _8; unsigned char cTxLock.12_9; unsigned char _10; signed char _11; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_14(D) # DEBUG BEGIN_STMT if (xQueue_14(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 92035]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 920350133]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_25 [local count: 1073741823]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 49961]: _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder; if (_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 34973]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 [local count: 349728449]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 349728449]: goto ; [100.00%] [local count: 72401]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27 # DEBUG BEGIN_STMT uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_17 # DEBUG BEGIN_STMT _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength; if (_4 > uxMessagesWaiting_17) goto ; [50.00%] else goto ; [50.00%] [local count: 36201]: # DEBUG BEGIN_STMT cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock; # DEBUG cTxLock => cTxLock_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = uxMessagesWaiting_17 + 1; MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5; # DEBUG BEGIN_STMT if (cTxLock_18 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 12308]: # DEBUG BEGIN_STMT _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4062]: # DEBUG BEGIN_STMT _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive; _8 = xTaskRemoveFromEventList (_7); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2031]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_22(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1422]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_22(D) = 1; goto ; [100.00%] [local count: 23892]: # DEBUG BEGIN_STMT if (cTxLock_18 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 8123]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 [local count: 81234300]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 81234300]: goto ; [100.00%] [local count: 15769]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cTxLock.12_9 = (unsigned char) cTxLock_18; _10 = cTxLock.12_9 + 1; _11 = (signed char) _10; MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11; [local count: 64278]: # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)> # DEBUG xReturn => xReturn_12 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_12; } ;; Function xQueueReceive (xQueueReceive, funcdef_no=17, decl_uid=6317, cgraph_uid=18, symbol_order=18) xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.15_3; long unsigned int _4; long unsigned int _5; struct List_t * _6; long int _7; long unsigned int xTicksToWait.16_8; signed char _9; signed char _10; long int _11; long int _12; struct List_t * _13; long unsigned int xTicksToWait.17_14; long int _15; long int _16; BaseType_t _19; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_27(D) # DEBUG BEGIN_STMT if (xQueue_27(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_28(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_32 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.15_3 = xTicksToWait; if (xTicksToWait.15_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_67 [local count: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 480629211]: goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_46 = PHI [local count: 1622915]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_34 # DEBUG BEGIN_STMT if (uxMessagesWaiting_34 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # uxMessagesWaiting_31 = PHI # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxMessagesWaiting_31 + 4294967295; MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems; if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend; _7 = xTaskRemoveFromEventList (_6); if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.16_8 = xTicksToWait; if (xTicksToWait.16_8 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_17 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_18 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock; if (_10 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_11 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _12 = prvIsQueueEmpty (xQueue_27(D)); if (_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive; xTicksToWait.17_14 = xTicksToWait; vTaskPlaceOnEventList (_13, xTicksToWait.17_14); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT _15 = xTaskResumeAll (); if (_15 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_27(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _16 = prvIsQueueEmpty (xQueue_27(D)); if (_16 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _19 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _19; } ;; Function xQueueSemaphoreTake (xQueueSemaphoreTake, funcdef_no=18, decl_uid=6372, cgraph_uid=19, symbol_order=19) Symbols to be put in SSA form { D.7294 D.7525 } Incremental SSA update started at block: 0 Number of blocks in CFG: 52 Number of blocks to update: 51 ( 98%) Merging blocks 4 and 44 Merging blocks 7 and 45 Merging blocks 12 and 47 Merging blocks 24 and 46 Merging blocks 41 and 49 Merging blocks 51 and 48 ;; 6 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ;; ;; Loop 5 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 4 ;; header 7, latch 7 ;; depth 1, outer 0 ;; nodes: 7 ;; ;; Loop 2 ;; header 24, latch 24 ;; depth 1, outer 0 ;; nodes: 24 ;; ;; Loop 1 ;; header 14, latch 13 ;; depth 1, outer 0 ;; nodes: 14 13 39 38 37 36 34 35 33 32 30 31 28 29 26 27 21 ;; ;; Loop 3 ;; header 12, latch 12 ;; depth 1, outer 0 ;; nodes: 12 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 7 } ;; 8 succs { 10 9 } ;; 9 succs { 10 11 } ;; 10 succs { 14 } ;; 11 succs { 12 } ;; 12 succs { 12 } ;; 13 succs { 14 } ;; 14 succs { 15 21 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 18 20 } ;; 18 succs { 19 20 } ;; 19 succs { 20 } ;; 20 succs { 45 } ;; 21 succs { 22 26 } ;; 22 succs { 23 25 } ;; 23 succs { 24 } ;; 24 succs { 24 } ;; 25 succs { 45 } ;; 26 succs { 27 28 } ;; 27 succs { 28 } ;; 28 succs { 29 30 } ;; 29 succs { 30 } ;; 30 succs { 31 32 } ;; 31 succs { 32 } ;; 32 succs { 33 39 } ;; 33 succs { 34 38 } ;; 34 succs { 35 36 } ;; 35 succs { 36 } ;; 36 succs { 37 13 } ;; 37 succs { 13 } ;; 38 succs { 13 } ;; 39 succs { 40 13 } ;; 40 succs { 41 44 } ;; 41 succs { 42 43 } ;; 42 succs { 43 } ;; 43 succs { 44 } ;; 44 succs { 45 } ;; 45 succs { 1 } xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait) { UBaseType_t uxHighestPriorityOfWaitingTasks; UBaseType_t D.7525; 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; long unsigned int _96; struct xLIST_ITEM * _97; long unsigned int _98; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_38(D) # DEBUG BEGIN_STMT # DEBUG xInheritanceOccurred => 0 # DEBUG BEGIN_STMT if (xQueue_38(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 68683]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_88 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize; if (_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_89 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: xTicksToWait.19_3 = xTicksToWait; if (xTicksToWait.19_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 39664]: # xEntryTimeSet_40 = PHI <0(9), 0(8)> # xInheritanceOccurred_64 = PHI <0(9), 0(8)> goto ; [100.00%] [local count: 13221]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_90 [local count: 132214478]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 406777]: # xEntryTimeSet_48 = PHI # xInheritanceOccurred_39 = PHI [local count: 446442]: # xEntryTimeSet_22 = PHI # xInheritanceOccurred_24 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_24 # DEBUG xEntryTimeSet => xEntryTimeSet_22 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting; # DEBUG uxSemaphoreCount => uxSemaphoreCount_46 # DEBUG BEGIN_STMT if (uxSemaphoreCount_46 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 16340]: # uxSemaphoreCount_26 = PHI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = uxSemaphoreCount_26 + 4294967295; MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4; # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_5 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 2848]: # DEBUG BEGIN_STMT _6 = pvTaskIncrementMutexHeldCount (); MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6; [local count: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5392]: # DEBUG BEGIN_STMT _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend; _9 = xTaskRemoveFromEventList (_8); if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2696]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 16340]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 430102]: # DEBUG BEGIN_STMT xTicksToWait.20_10 = xTicksToWait; if (xTicksToWait.20_10 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 15742]: # xInheritanceOccurred_43 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_43 != 0) goto ; [79.76%] else goto ; [20.24%] [local count: 12556]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_91 [local count: 125556217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 3186]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 414360]: # DEBUG BEGIN_STMT if (xEntryTimeSet_22 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 136739]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 414360]: # xEntryTimeSet_23 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_23 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock; if (_11 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock; if (_12 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 140882]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0; [local count: 414360]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 207180]: # DEBUG BEGIN_STMT _14 = prvIsQueueEmpty (xQueue_38(D)); if (_14 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 138811]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead; if (_15 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 24195]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; xInheritanceOccurred_70 = xTaskPriorityInherit (_16); # DEBUG xInheritanceOccurred => xInheritanceOccurred_70 # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 138811]: # xInheritanceOccurred_25 = PHI # DEBUG xInheritanceOccurred => xInheritanceOccurred_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive; xTicksToWait.21_18 = xTicksToWait; vTaskPlaceOnEventList (_17, xTicksToWait.21_18); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT _19 = xTaskResumeAll (); if (_19 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 69405]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 68369]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 207180]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_38(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _20 = prvIsQueueEmpty (xQueue_38(D)); if (_20 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 7583]: # xInheritanceOccurred_44 = PHI # DEBUG BEGIN_STMT if (xInheritanceOccurred_44 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2502]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_38(D) # DEBUG INLINE_ENTRY prvGetDisinheritPriorityAfterTimeout # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _96 ={v} MEM[(const struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_96 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1251]: # DEBUG BEGIN_STMT _97 = MEM[(const struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive.xListEnd.pxNext; _98 = _97->xItemValue; uxHighestPriorityOfWaitingTasks_99 = 5 - _98; # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_99 [local count: 2502]: # uxHighestPriorityOfWaitingTasks_100 = PHI <0(41), uxHighestPriorityOfWaitingTasks_99(42)> # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_100 # DEBUG BEGIN_STMT _101 = uxHighestPriorityOfWaitingTasks_100; # DEBUG pxQueue => NULL # DEBUG uxHighestPriorityOfWaitingTasks => NULL uxHighestWaitingPriority_61 = _101; # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61 # DEBUG BEGIN_STMT _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder; vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61); # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 7583]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 27109]: # _27 = PHI <1(20), 0(25), 0(44)> xTimeOut ={v} {CLOBBER}; return _27; } ;; Function xQueueTakeMutexRecursive (xQueueTakeMutexRecursive, funcdef_no=12, decl_uid=6379, cgraph_uid=13, symbol_order=13) xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxMutex => xMutex_9(D) # DEBUG BEGIN_STMT if (xMutex_9(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder; _2 = xTaskGetCurrentTaskHandle (); if (_1 == _2) goto ; [46.53%] else goto ; [53.47%] [local count: 57413]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _4 = _3 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 goto ; [100.00%] [local count: 65976]: # DEBUG BEGIN_STMT xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D)); # DEBUG xReturn => xReturn_14 # DEBUG BEGIN_STMT if (xReturn_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 32988]: # DEBUG BEGIN_STMT _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount; _6 = _5 + 1; MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6; [local count: 123389]: # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)> # DEBUG xReturn => xReturn_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_7; } ;; Function xQueuePeek (xQueuePeek, funcdef_no=19, decl_uid=6310, cgraph_uid=20, symbol_order=20) xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const UBaseType_t uxMessagesWaiting; int8_t * pcOriginalReadPosition; struct TimeOut_t xTimeOut; BaseType_t xEntryTimeSet; long unsigned int _1; long int _2; long unsigned int xTicksToWait.24_3; long unsigned int _4; struct List_t * _5; long int _6; long unsigned int xTicksToWait.25_7; signed char _8; signed char _9; long int _10; long int _11; struct List_t * _12; long unsigned int xTicksToWait.26_13; long int _14; long int _15; BaseType_t _18; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_26(D) # DEBUG BEGIN_STMT if (xQueue_26(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_64 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_27(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 144189]: # xEntryTimeSet_30 = PHI <0(9), 0(11)> goto ; [100.00%] [local count: 96126]: xTicksToWait.24_3 = xTicksToWait; if (xTicksToWait.24_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 48063]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [local count: 480629211]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 480629211]: goto ; [100.00%] [local count: 1478726]: # xEntryTimeSet_44 = PHI [local count: 1622915]: # xEntryTimeSet_16 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_32 # DEBUG BEGIN_STMT if (uxMessagesWaiting_32 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 59399]: # DEBUG BEGIN_STMT pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D)); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55; # DEBUG BEGIN_STMT _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems; if (_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19602]: # DEBUG BEGIN_STMT _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; _6 = xTaskRemoveFromEventList (_5); if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9801]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT [local count: 59399]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1563516]: # DEBUG BEGIN_STMT xTicksToWait.25_7 = xTicksToWait; if (xTicksToWait.25_7 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 57225]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1506292]: # DEBUG BEGIN_STMT if (xEntryTimeSet_16 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 497076]: # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (&xTimeOut); # DEBUG BEGIN_STMT # DEBUG xEntryTimeSet => 1 [local count: 1506292]: # xEntryTimeSet_17 = PHI # DEBUG xEntryTimeSet => xEntryTimeSet_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock; if (_8 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock; if (_9 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 512139]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0; [local count: 1506292]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_10 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 753146]: # DEBUG BEGIN_STMT _11 = prvIsQueueEmpty (xQueue_26(D)); if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 376573]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive; xTicksToWait.26_13 = xTicksToWait; vTaskPlaceOnEventList (_12, xTicksToWait.26_13); # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT _14 = xTaskResumeAll (); if (_14 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 188286]: # DEBUG BEGIN_STMT MEM[(volatile uint32_t *)3758157060B] ={v} 268435456; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb" : : : "memory"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 376573]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 753146]: # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_26(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _15 = prvIsQueueEmpty (xQueue_26(D)); if (_15 != 0) goto ; [3.66%] else goto ; [96.34%] [local count: 144189]: # _18 = PHI <1(19), 0(21), 0(33)> xTimeOut ={v} {CLOBBER}; return _18; } ;; Function xQueueReceiveFromISR (xQueueReceiveFromISR, funcdef_no=20, decl_uid=6335, cgraph_uid=21, symbol_order=21) xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const int8_t cRxLock; const UBaseType_t uxMessagesWaiting; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct List_t * _4; long int _5; unsigned char cRxLock.28_6; unsigned char _7; signed char _8; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_11(D) # DEBUG BEGIN_STMT if (xQueue_11(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_12(D) != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 116576]: _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58288]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_24 [local count: 582880751]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 582880751]: goto ; [100.00%] [local count: 192251]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting; # DEBUG uxMessagesWaiting => uxMessagesWaiting_15 # DEBUG BEGIN_STMT if (uxMessagesWaiting_15 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 63443]: # DEBUG BEGIN_STMT cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock; # DEBUG cRxLock => cRxLock_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D)); # DEBUG BEGIN_STMT _2 = uxMessagesWaiting_15 + 4294967295; MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2; # DEBUG BEGIN_STMT if (cRxLock_16 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 21571]: # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 7118]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend; _5 = xTaskRemoveFromEventList (_4); if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3559]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_21(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2491]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_21(D) = 1; goto ; [100.00%] [local count: 41872]: # DEBUG BEGIN_STMT if (cRxLock_16 == 127) goto ; [34.00%] else goto ; [66.00%] [local count: 14237]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_27 [local count: 142366217]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 142366217]: goto ; [100.00%] [local count: 27636]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT cRxLock.28_6 = (unsigned char) cRxLock_16; _7 = cRxLock.28_6 + 1; _8 = (signed char) _7; MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8; [local count: 178015]: # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)> # DEBUG xReturn => xReturn_9 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_9; } ;; Function xQueuePeekFromISR (xQueuePeekFromISR, funcdef_no=21, decl_uid=6313, cgraph_uid=22, symbol_order=22) xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; int8_t * pcOriginalReadPosition; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; [local count: 269344]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_6(D) # DEBUG BEGIN_STMT if (xQueue_6(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 80803]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_13 [local count: 808033481]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 808033481]: goto ; [100.00%] [local count: 188541]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pvBuffer_7(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 56562]: _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 28281]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 282811719]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 282811719]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize; if (_2 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_15 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mrs %0, basepri mov %1, %2 msr basepri, %1 isb dsb " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16 # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting; if (_3 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17452]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom; # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10 # DEBUG BEGIN_STMT prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D)); # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 52886]: # xReturn_4 = PHI <1(13), 0(12)> # DEBUG xReturn => xReturn_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_4; } ;; Function uxQueueMessagesWaiting (uxQueueMessagesWaiting, funcdef_no=22, decl_uid=6319, cgraph_uid=23, symbol_order=23) uxQueueMessagesWaiting (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_4 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_4; } ;; Function uxQueueSpacesAvailable (uxQueueSpacesAvailable, funcdef_no=23, decl_uid=6321, cgraph_uid=24, symbol_order=24) uxQueueSpacesAvailable (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; long unsigned int _1; long unsigned int _2; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength; _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; uxReturn_6 = _1 - _2; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_6; } ;; Function uxQueueMessagesWaitingFromISR (uxQueueMessagesWaitingFromISR, funcdef_no=24, decl_uid=6341, cgraph_uid=25, symbol_order=25) uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; UBaseType_t uxReturn; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_4 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting; # DEBUG uxReturn => uxReturn_3 # DEBUG BEGIN_STMT return uxReturn_3; } ;; Function uxQueueGetQueueNumber (uxQueueGetQueueNumber, funcdef_no=26, decl_uid=6417, cgraph_uid=27, symbol_order=27) uxQueueGetQueueNumber (struct QueueDefinition * xQueue) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber; return _3; } ;; Function vQueueSetQueueNumber (vQueueSetQueueNumber, funcdef_no=27, decl_uid=6415, cgraph_uid=28, symbol_order=28) vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D); return; } ;; Function ucQueueGetQueueType (ucQueueGetQueueType, funcdef_no=28, decl_uid=6419, cgraph_uid=29, symbol_order=29) ucQueueGetQueueType (struct QueueDefinition * xQueue) { uint8_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType; return _3; } ;; Function xQueueIsQueueEmptyFromISR (xQueueIsQueueEmptyFromISR, funcdef_no=34, decl_uid=6337, cgraph_uid=35, symbol_order=35) xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_3(D) # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting; if (_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_2 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } ;; Function xQueueIsQueueFullFromISR (xQueueIsQueueFullFromISR, funcdef_no=36, decl_uid=6339, cgraph_uid=37, symbol_order=37) xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue) { uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_4(D) # DEBUG BEGIN_STMT if (xQueue_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting; _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength; if (_1 == _2) goto ; [34.00%] else goto ; [66.00%] [local count: 165356]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_3 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } ;; Function vQueueAddToRegistry (vQueueAddToRegistry, funcdef_no=37, decl_uid=6384, cgraph_uid=38, symbol_order=38) vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName) { uint32_t ulNewBASEPRI; struct QueueRegistryItem_t * pxEntryToWrite; UBaseType_t ux; struct QueueDefinition * _1; const char * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_8(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEntryToWrite => 0B # DEBUG BEGIN_STMT if (pcQueueName_10(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 175378]: goto ; [100.00%] [local count: 316038]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_3].xHandle; if (_1 == xQueue_8(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 17382]: # ux_9 = PHI # DEBUG BEGIN_STMT pxEntryToWrite_14 = &xQueueRegistry[ux_9]; # DEBUG pxEntryToWrite => pxEntryToWrite_14 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 298656]: # DEBUG BEGIN_STMT if (pxEntryToWrite_5 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 89597]: _2 = xQueueRegistry[ux_3].pcQueueName; if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 26879]: # DEBUG BEGIN_STMT pxEntryToWrite_12 = &xQueueRegistry[ux_3]; # DEBUG pxEntryToWrite => pxEntryToWrite_12 [local count: 298656]: # pxEntryToWrite_4 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_13 = ux_3 + 1; # DEBUG ux => ux_13 [local count: 474034]: # ux_3 = PHI # pxEntryToWrite_5 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_5 # DEBUG ux => ux_3 # DEBUG BEGIN_STMT if (ux_3 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 175378]: # pxEntryToWrite_6 = PHI # DEBUG pxEntryToWrite => pxEntryToWrite_6 # DEBUG BEGIN_STMT if (pxEntryToWrite_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 122764]: # DEBUG BEGIN_STMT pxEntryToWrite_6->pcQueueName = pcQueueName_10(D); # DEBUG BEGIN_STMT pxEntryToWrite_6->xHandle = xQueue_8(D); [local count: 250539]: # DEBUG pxEntryToWrite => NULL # DEBUG BEGIN_STMT return; } ;; Function pcQueueGetName (pcQueueGetName, funcdef_no=38, decl_uid=6388, cgraph_uid=39, symbol_order=39) pcQueueGetName (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; const char * pcReturn; UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pcReturn => 0B # DEBUG BEGIN_STMT if (xQueue_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 250539]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_5(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT pcReturn_8 = xQueueRegistry[ux_4].pcQueueName; # DEBUG pcReturn => pcReturn_8 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_7 = ux_2 + 1; # DEBUG ux => ux_7 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: # pcReturn_3 = PHI # DEBUG pcReturn => pcReturn_3 # DEBUG BEGIN_STMT return pcReturn_3; } ;; Function vQueueUnregisterQueue (vQueueUnregisterQueue, funcdef_no=39, decl_uid=6386, cgraph_uid=40, symbol_order=40) Removing basic block 10 Symbols to be put in SSA form { D.7309 } Incremental SSA update started at block: 0 Number of blocks in CFG: 15 Number of blocks to update: 13 ( 87%) Removing basic block 3 Removing basic block 9 Removing basic block 11 Merging blocks 13 and 14 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 ;; ;; Loop 3 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 1 ;; header 8, latch 7 ;; depth 1, outer 0 ;; nodes: 8 7 5 ;; 2 succs { 3 8 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 9 } ;; 7 succs { 8 } ;; 8 succs { 5 9 } ;; 9 succs { 1 } vQueueUnregisterQueue (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; UBaseType_t ux; struct QueueDefinition * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xQueue_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG D#1 => xQueue_3(D) # DEBUG INLINE_ENTRY vQueueUnregisterQueue # DEBUG D#2 => D#1 # DEBUG xQueue => D#2 # 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_11 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_11 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 451483]: # DEBUG BEGIN_STMT _1 = xQueueRegistry[ux_2].xHandle; if (_1 == xQueue_3(D)) goto ; [5.50%] else goto ; [94.50%] [local count: 24832]: # ux_4 = PHI # DEBUG BEGIN_STMT xQueueRegistry[ux_4].pcQueueName = 0B; # DEBUG BEGIN_STMT xQueueRegistry[ux_4].xHandle = 0B; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 426652]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ux_6 = ux_2 + 1; # DEBUG ux => ux_6 [local count: 677191]: # ux_2 = PHI # DEBUG ux => ux_2 # DEBUG BEGIN_STMT if (ux_2 != 2) goto ; [66.67%] else goto ; [33.33%] [local count: 250539]: return; } ;; Function vQueueDelete (vQueueDelete, funcdef_no=25, decl_uid=6323, cgraph_uid=26, symbol_order=26) vQueueDelete (struct QueueDefinition * xQueue) { uint32_t ulNewBASEPRI; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_1(D) # DEBUG BEGIN_STMT if (xQueue_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vQueueUnregisterQueue (xQueue_1(D)); # DEBUG BEGIN_STMT vPortFree (xQueue_1(D)); return; } ;; Function vQueueWaitForMessageRestricted (vQueueWaitForMessageRestricted, funcdef_no=40, decl_uid=6409, cgraph_uid=41, symbol_order=41) vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { signed char _1; signed char _2; long unsigned int _3; struct List_t * _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxQueue => xQueue_8(D) # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock; if (_1 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock; if (_2 == -1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0; [local count: 1073741824]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting; if (_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive; vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D)); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvUnlockQueue (xQueue_8(D)); return; }