Analyzing function: prvListTasksWithinSingleList.part.0/158 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 10 2 3 4 5 6 7 8 9 ;; ;; Loop 1 ;; header 5, latch 8 ;; depth 1, outer 0 ;; nodes: 5 8 7 6 ;; 10 succs { 2 } ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 5 } ;; 9 succs { 1 } Analyzing function body size: prvListTasksWithinSingleList.part.0 IPA function summary for prvListTasksWithinSingleList.part.0/158 inlinable global time: 251.418183 self size: 31 global size: 0 min size: 0 self stack: 0 global stack: 0 size:18.500000, time:104.995455 size:6.500000, time:18.150000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed) calls: vTaskGetInfo/72 function not considered for inlining loop depth: 1 freq:9.09 size: 5 time: 14 op2 is compile time invariant op3 change 10.990000% of time Analyzing function: vTaskSwitchContext.part.0/146 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 5 2 3 4 ;; ;; Loop 1 ;; header 3, latch 4 ;; depth 1, outer 0 ;; nodes: 3 4 ;; 5 succs { 2 } ;; 2 succs { 3 } ;; 3 succs { 4 } ;; 4 succs { 3 } Analyzing function body size: vTaskSwitchContext.part.0 IPA function summary for vTaskSwitchContext.part.0/146 inlinable global time: 5.000000 self size: 7 global size: 0 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: Analyzing function: xTaskResumeAll.part.0/137 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 27 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 ;; ;; Loop 1 ;; header 19, latch 22 ;; depth 1, outer 0 ;; nodes: 19 22 21 20 ;; ;; Loop 2 ;; header 14, latch 13 ;; depth 1, outer 0 ;; nodes: 14 13 11 12 9 10 7 8 5 6 ;; 27 succs { 2 } ;; 2 succs { 3 26 } ;; 3 succs { 4 26 } ;; 4 succs { 14 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 10 11 } ;; 10 succs { 11 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 14 } ;; 14 succs { 5 15 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 18 24 } ;; 18 succs { 19 } ;; 19 succs { 20 21 } ;; 20 succs { 21 } ;; 21 succs { 22 23 } ;; 22 succs { 19 } ;; 23 succs { 24 } ;; 24 succs { 25 26 } ;; 25 succs { 26 } ;; 26 succs { 1 } Analyzing function body size: xTaskResumeAll.part.0 IPA function summary for xTaskResumeAll.part.0/137 inlinable global time: 155.186750 self size: 88 global size: 0 min size: 0 self stack: 0 global stack: 0 size:80.000000, time:119.350001 size:3.000000, time:2.000000, executed if:(not inlined) calls: vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 prvResetNextTaskUnblockTime/77 function not considered for inlining loop depth: 0 freq:0.13 size: 1 time: 10 xTaskIncrementTick/56 function not considered for inlining loop depth: 1 freq:1.14 size: 2 time: 11 vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xTaskIncrementTick.part.0/135 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 30 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 ;; ;; Loop 1 ;; header 5, latch 6 ;; depth 1, outer 0 ;; nodes: 5 6 ;; ;; Loop 2 ;; header 11, latch 10 ;; depth 1, outer 0 ;; nodes: 11 10 23 24 21 22 17 20 18 19 15 16 13 ;; 30 succs { 2 } ;; 2 succs { 3 8 } ;; 3 succs { 4 7 } ;; 4 succs { 5 } ;; 5 succs { 6 } ;; 6 succs { 5 } ;; 7 succs { 8 } ;; 8 succs { 9 25 } ;; 9 succs { 11 } ;; 10 succs { 11 } ;; 11 succs { 12 13 } ;; 12 succs { 25 } ;; 13 succs { 14 15 } ;; 14 succs { 25 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 18 21 } ;; 18 succs { 19 20 } ;; 19 succs { 20 } ;; 20 succs { 21 } ;; 21 succs { 22 23 } ;; 22 succs { 23 } ;; 23 succs { 24 10 } ;; 24 succs { 10 } ;; 25 succs { 26 27 } ;; 26 succs { 27 } ;; 27 succs { 28 29 } ;; 28 succs { 29 } ;; 29 succs { 1 } Analyzing function body size: xTaskIncrementTick.part.0 IPA function summary for xTaskIncrementTick.part.0/135 inlinable global time: 171.007340 self size: 97 global size: 0 min size: 0 self stack: 0 global stack: 0 size:93.000000, time:168.027330 size:3.000000, time:1.329999, executed if:(not inlined) calls: prvResetNextTaskUnblockTime/77 function not considered for inlining loop depth: 0 freq:0.17 size: 1 time: 10 Analyzing function: eTaskGetState.part.0/122 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 6 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 2 ;; 6 succs { 4 } ;; 2 succs { 5 3 } ;; 3 succs { 4 } ;; 4 succs { 2 5 } ;; 5 succs { 1 } Analyzing function body size: eTaskGetState.part.0 IPA function summary for eTaskGetState.part.0/122 inlinable global time: 8.635071 self size: 8 global size: 0 min size: 0 self stack: 0 global stack: 0 size:2.000000, time:3.791469 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.473934, executed if:(not inlined), nonconst if:(op0[ref offset: 672] changed) && (not inlined) size:2.500000, time:2.369668, nonconst if:(op0[ref offset: 672] changed) calls: Analyzing function: prvAddCurrentTaskToDelayedList.part.0/119 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 4 2 3 ;; 4 succs { 2 } ;; 2 succs { 3 } ;; 3 succs { 1 } Analyzing function body size: prvAddCurrentTaskToDelayedList.part.0 IPA function summary for prvAddCurrentTaskToDelayedList.part.0/119 inlinable global time: 18.000000 self size: 19 global size: 0 min size: 0 self stack: 0 global stack: 0 size:16.000000, time:16.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: prvInitialiseNewTask.isra.0/118 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 16 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ;; ;; Loop 1 ;; header 11, latch 12 ;; depth 1, outer 0 ;; nodes: 11 12 ;; ;; Loop 2 ;; header 6, latch 5 ;; depth 1, outer 0 ;; nodes: 6 5 4 ;; 16 succs { 2 } ;; 2 succs { 3 8 } ;; 3 succs { 6 } ;; 4 succs { 7 5 } ;; 5 succs { 6 } ;; 6 succs { 4 7 } ;; 7 succs { 9 } ;; 8 succs { 9 } ;; 9 succs { 10 13 } ;; 10 succs { 11 } ;; 11 succs { 12 } ;; 12 succs { 11 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: prvInitialiseNewTask.isra.0 IPA function summary for prvInitialiseNewTask.isra.0/118 inlinable global time: 94.633845 self size: 63 global size: 0 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:2.500000, time:0.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op6[ref offset: 384] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op6[ref offset: 384] changed) size:3.000000, time:3.000000, nonconst if:(op2 changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:0.500000, time:0.150000, executed if:(op1 == 0B) && (not inlined) size:0.500000, time:0.150000, executed if:(op1 == 0B) size:9.000000, time:39.394537, executed if:(op1 != 0B) size:1.000000, time:2.608221, executed if:(op1 != 0B) && (not inlined) size:2.000000, time:2.000000, nonconst if:(op4 changed) size:5.000000, time:1.980007, executed if:(op4 <= 4) && (not inlined) size:4.000000, time:1.320005, executed if:(op4 <= 4) size:1.000000, time:0.330001, executed if:(op4 <= 4), nonconst if:(op4 changed) && (op4 <= 4) size:2.000000, time:0.660002, executed if:(op4 <= 4), nonconst if:(op5 changed) && (op4 <= 4) size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4) && (not inlined) size:0.500000, time:0.115500, executed if:(op5 != 0B) && (op4 <= 4) size:5.000000, time:3.349994, executed if:(op4 > 4) calls: pxPortInitialiseStack/99 function body not available loop depth: 0 freq:0.33 size: 5 time: 14 predicate: (op4 <= 4) memset/97 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4) op1 is compile time invariant op2 is compile time invariant memset/97 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op4 <= 4) op1 is compile time invariant op2 is compile time invariant vListInitialiseItem/98 function body not available loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4) vListInitialiseItem/98 function body not available loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op4 <= 4) memset/97 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant Analyzing function: prvResetNextTaskUnblockTime.part.0/115 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 4 2 3 ;; 4 succs { 2 } ;; 2 succs { 3 } ;; 3 succs { 1 } Analyzing function body size: prvResetNextTaskUnblockTime.part.0 IPA function summary for prvResetNextTaskUnblockTime.part.0/115 inlinable global time: 6.000000 self size: 7 global size: 0 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: prvTaskIsTaskSuspended.part.0/114 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 6 2 3 4 5 ;; 6 succs { 2 } ;; 2 succs { 3 5 } ;; 3 succs { 4 5 } ;; 4 succs { 5 } ;; 5 succs { 1 } Analyzing function body size: prvTaskIsTaskSuspended.part.0 IPA function summary for prvTaskIsTaskSuspended.part.0/114 inlinable global time: 6.400000 self size: 8 global size: 0 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:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 320] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 320] changed) size:2.000000, time:1.400000, executed if:(op0[ref offset: 320] != &xPendingReadyList), nonconst if:(op0[ref offset: 320] changed) && (op0[ref offset: 320] != &xPendingReadyList) size:1.000000, time:2.000000, executed if:(op0[ref offset: 320] != &xPendingReadyList || op0[ref offset: 320] == &xPendingReadyList) && (not inlined) calls: Analyzing function: prvAddCurrentTaskToDelayedList/94 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 ;; 2 succs { 3 5 } ;; 3 succs { 4 5 } ;; 4 succs { 9 } ;; 5 succs { 6 7 } ;; 6 succs { 9 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: prvAddCurrentTaskToDelayedList IPA function summary for prvAddCurrentTaskToDelayedList/94 inlinable global time: 38.602500 self size: 33 global size: 0 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:0.680000, executed if:(op0 == 4294967295), nonconst if:(op1 changed) && (op0 == 4294967295) size:13.000000, time:7.262500, executed if:(op0 != 4294967295 || op1 == 0) calls: vListInsert/105 function body not available loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0) vListInsert/105 function body not available loop depth: 0 freq:0.41 size: 3 time: 12 predicate: (op0 != 4294967295 || op1 == 0) prvAddCurrentTaskToDelayedList.part.0/119 function not considered for inlining loop depth: 0 freq:0.17 size: 1 time: 10callee size: 9 stack: 0 predicate: (op1 != 0) && (op0 == 4294967295) uxListRemove/103 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 Analyzing function: ulTaskGenericNotifyValueClear/93 ;; 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 } Analyzing function body size: ulTaskGenericNotifyValueClear IPA function summary for ulTaskGenericNotifyValueClear/93 inlinable global time: 29.300000 self size: 13 global size: 0 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) size:1.000000, time:1.000000, nonconst if:(op2 changed) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xTaskGenericNotifyStateClear/92 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 10 5 6 7 8 9 ;; ;; Loop 1 ;; header 4, latch 10 ;; depth 1, outer 0 ;; nodes: 4 10 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 10 } ;; 10 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: xTaskGenericNotifyStateClear IPA function summary for xTaskGenericNotifyStateClear/92 inlinable global time: 18.319998 self size: 19 global size: 0 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:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0) size:1.000000, time:0.149999, executed if:(op0 == 0B) && (op1 == 0) size:4.000000, time:1.669999, executed if:(op1 == 0) size:1.000000, time:1.000000, executed if:(op1 == 0) && (not inlined) size:5.000000, time:2.500000, executed if:(op1 != 0) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.50 size: 1 time: 10 predicate: (op1 == 0) Analyzing function: vTaskGenericNotifyGiveFromISR/91 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 24 5 6 7 25 8 9 10 11 26 12 13 14 15 16 17 18 19 20 21 22 23 ;; ;; Loop 3 ;; header 4, latch 24 ;; depth 1, outer 0 ;; nodes: 4 24 ;; ;; Loop 2 ;; header 7, latch 25 ;; depth 1, outer 0 ;; nodes: 7 25 ;; ;; Loop 1 ;; header 11, latch 26 ;; depth 1, outer 0 ;; nodes: 11 26 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 24 } ;; 24 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 25 } ;; 25 succs { 7 } ;; 8 succs { 9 23 } ;; 9 succs { 10 12 } ;; 10 succs { 11 } ;; 11 succs { 26 } ;; 26 succs { 11 } ;; 12 succs { 13 18 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 19 } ;; 18 succs { 19 } ;; 19 succs { 20 23 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 23 } ;; 23 succs { 1 } Analyzing function body size: vTaskGenericNotifyGiveFromISR IPA function summary for vTaskGenericNotifyGiveFromISR/91 inlinable global time: 14.285789 self size: 92 global size: 0 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.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:62.500000, time:3.769055, executed if:(op1 == 0) && (op0 != 0B) size:9.500000, time:0.929891, executed if:(op1 == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.023561, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 == 0) && (op0 != 0B) size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.004123, executed if:(op2 != 0B) && (op1 == 0) && (op0 != 0B) size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: vPortValidateInterruptPriority/106 function body not available loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B) Analyzing function: xTaskGenericNotifyFromISR/90 ;; 5 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 35 5 6 7 36 8 9 10 11 12 13 14 15 16 17 18 37 19 20 21 22 38 23 24 25 26 27 28 29 30 31 32 33 34 ;; ;; Loop 4 ;; header 4, latch 35 ;; depth 1, outer 0 ;; nodes: 4 35 ;; ;; Loop 3 ;; header 7, latch 36 ;; depth 1, outer 0 ;; nodes: 7 36 ;; ;; Loop 2 ;; header 18, latch 37 ;; depth 1, outer 0 ;; nodes: 18 37 ;; ;; Loop 1 ;; header 22, latch 38 ;; depth 1, outer 0 ;; nodes: 22 38 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 35 } ;; 35 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 36 } ;; 36 succs { 7 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 16 19 11 12 13 14 } ;; 11 succs { 19 } ;; 12 succs { 19 } ;; 13 succs { 19 } ;; 14 succs { 15 19 } ;; 15 succs { 19 } ;; 16 succs { 17 19 } ;; 17 succs { 18 } ;; 18 succs { 37 } ;; 37 succs { 18 } ;; 19 succs { 20 34 } ;; 20 succs { 21 23 } ;; 21 succs { 22 } ;; 22 succs { 38 } ;; 38 succs { 22 } ;; 23 succs { 24 29 } ;; 24 succs { 25 26 } ;; 25 succs { 26 } ;; 26 succs { 27 28 } ;; 27 succs { 28 } ;; 28 succs { 30 } ;; 29 succs { 30 } ;; 30 succs { 31 34 } ;; 31 succs { 32 33 } ;; 32 succs { 33 } ;; 33 succs { 34 } ;; 34 succs { 1 } Analyzing function body size: xTaskGenericNotifyFromISR IPA function summary for xTaskGenericNotifyFromISR/90 inlinable global time: 15.703943 self size: 123 global size: 0 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.400005, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:68.500000, time:3.378356, executed if:(op1 == 0) && (op0 != 0B) size:2.000000, time:0.462003, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 == 0) && (op0 != 0B) size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined) size:1.000000, time:0.161700, executed if:(op4 != 0B) && (op1 == 0) && (op0 != 0B) size:8.500000, time:0.659990, executed if:(op1 == 0) && (op0 != 0B) && (not inlined) size:12.000000, time:0.924007, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op3 changed) && (op1 == 0) && (op0 != 0B) size:2.500000, time:0.089724, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B) size:0.500000, time:0.012708, executed if:(op3 == 4) && (op1 == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.019254, executed if:(op3 == 3) && (op1 == 0) && (op0 != 0B) size:1.000000, time:0.038508, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.077015, executed if:(op3 == 2) && (op1 == 0) && (op0 != 0B) size:1.000000, time:0.038508, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.077015, executed if:(op3 == 1) && (op1 == 0) && (op0 != 0B) size:2.000000, time:0.021604, executed if:(op1 == 0) && (op0 != 0B), nonconst if:(op5 changed) && (op1 == 0) && (op0 != 0B) size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.003780, executed if:(op5 != 0B) && (op1 == 0) && (op0 != 0B) size:5.000000, time:2.345004, executed if:(op1 != 0) && (op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: vPortValidateInterruptPriority/106 function body not available loop depth: 0 freq:0.23 size: 1 time: 10 predicate: (op1 == 0) && (op0 != 0B) Analyzing function: xTaskGenericNotify/89 ;; 5 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 30 5 6 7 31 8 9 10 11 12 13 14 15 16 17 18 32 19 20 21 22 23 24 25 26 33 27 28 29 ;; ;; Loop 4 ;; header 4, latch 30 ;; depth 1, outer 0 ;; nodes: 4 30 ;; ;; Loop 3 ;; header 7, latch 31 ;; depth 1, outer 0 ;; nodes: 7 31 ;; ;; Loop 2 ;; header 18, latch 32 ;; depth 1, outer 0 ;; nodes: 18 32 ;; ;; Loop 1 ;; header 26, latch 33 ;; depth 1, outer 0 ;; nodes: 26 33 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 30 } ;; 30 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 31 } ;; 31 succs { 7 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 16 19 11 12 13 14 } ;; 11 succs { 19 } ;; 12 succs { 19 } ;; 13 succs { 19 } ;; 14 succs { 15 19 } ;; 15 succs { 19 } ;; 16 succs { 17 19 } ;; 17 succs { 18 } ;; 18 succs { 32 } ;; 32 succs { 18 } ;; 19 succs { 20 29 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 23 24 } ;; 23 succs { 24 } ;; 24 succs { 25 27 } ;; 25 succs { 26 } ;; 26 succs { 33 } ;; 33 succs { 26 } ;; 27 succs { 28 29 } ;; 28 succs { 29 } ;; 29 succs { 1 } Analyzing function body size: xTaskGenericNotify IPA function summary for xTaskGenericNotify/89 inlinable global time: 19.409340 self size: 101 global size: 0 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:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0) size:2.000000, time:0.534701, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op4 changed) && (op0 != 0B) && (op1 == 0) size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0) && (not inlined) size:1.000000, time:0.187145, executed if:(op4 != 0B) && (op0 != 0B) && (op1 == 0) size:6.500000, time:1.146039, executed if:(op0 != 0B) && (op1 == 0) && (not inlined) size:50.500000, time:4.943545, executed if:(op0 != 0B) && (op1 == 0) size:12.000000, time:1.069402, executed if:(op0 != 0B) && (op1 == 0), nonconst if:(op3 changed) && (op0 != 0B) && (op1 == 0) size:2.500000, time:0.103845, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0) size:0.500000, time:0.014708, executed if:(op3 == 4) && (op0 != 0B) && (op1 == 0) && (not inlined) size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0) && (not inlined) size:0.500000, time:0.022284, executed if:(op3 == 3) && (op0 != 0B) && (op1 == 0) size:1.000000, time:0.044569, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0) && (not inlined) size:2.000000, time:0.089137, executed if:(op3 == 2) && (op0 != 0B) && (op1 == 0) size:1.000000, time:0.044569, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0) && (not inlined) size:2.000000, time:0.089137, executed if:(op3 == 1) && (op0 != 0B) && (op1 == 0) size:5.000000, time:1.163247, executed if:(op0 == 0B) && (op1 == 0) size:5.000000, time:2.500000, executed if:(op1 != 0) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B) && (op1 == 0) Analyzing function: xTaskGenericNotifyWait/88 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 4, latch 13 ;; depth 1, outer 0 ;; nodes: 4 13 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 13 } ;; 13 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 12 11 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: xTaskGenericNotifyWait IPA function summary for xTaskGenericNotifyWait/88 inlinable global time: 27.462430 self size: 49 global size: 0 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:20.000000, time:5.055622, executed if:(op0 == 0) size:1.000000, time:0.217802, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0) size:2.000000, time:0.435605, executed if:(op0 == 0), nonconst if:(op4 changed) && (op0 == 0) size:3.000000, time:0.215631, executed if:(op4 != 0) && (op0 == 0) size:2.000000, time:0.660002, executed if:(op0 == 0), nonconst if:(op3 changed) && (op0 == 0) size:2.500000, time:0.577499, executed if:(op3 != 0B) && (op0 == 0) size:0.500000, time:0.115500, executed if:(op3 != 0B) && (op0 == 0) && (not inlined) size:1.000000, time:0.112199, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0) size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined) size:5.000000, time:3.349994, executed if:(op0 != 0) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.07 size: 3 time: 12callee size:16 stack: 0 predicate: (op4 != 0) && (op0 == 0) op1 is compile time invariant vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) Analyzing function: ulTaskGenericNotifyTake/87 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 4, latch 13 ;; depth 1, outer 0 ;; nodes: 4 13 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 13 } ;; 13 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 12 } ;; 9 succs { 10 11 } ;; 10 succs { 12 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: ulTaskGenericNotifyTake IPA function summary for ulTaskGenericNotifyTake/87 inlinable global time: 24.729284 self size: 41 global size: 0 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:12.000000, time:3.630014, executed if:(op0 == 0) size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op2 changed) && (op0 == 0) size:3.000000, time:0.163347, executed if:(op2 != 0) && (op0 == 0) size:2.000000, time:0.330001, executed if:(op0 == 0), nonconst if:(op1 changed) && (op0 == 0) size:3.000000, time:0.247492, executed if:(op1 == 0) && (op0 == 0) size:2.000000, time:0.164994, executed if:(op1 != 0) && (op0 == 0) size:1.000000, time:0.660002, executed if:(op0 == 0) && (not inlined) size:5.000000, time:3.349994, executed if:(op0 != 0) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.05 size: 3 time: 12callee size:16 stack: 0 predicate: (op2 != 0) && (op0 == 0) op1 is compile time invariant vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op0 == 0) Analyzing function: pvTaskIncrementMutexHeldCount/86 ;; 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 } Analyzing function body size: pvTaskIncrementMutexHeldCount IPA function summary for pvTaskIncrementMutexHeldCount/86 inlinable global time: 8.800000 self size: 11 global size: 0 min size: 0 self stack: 0 global stack: 0 size:8.000000, time:6.800000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: uxTaskResetEventItemValue/85 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: uxTaskResetEventItemValue IPA function summary for uxTaskResetEventItemValue/85 inlinable global time: 9.000000 self size: 10 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:7.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: vTaskList/84 ;; 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 ;; ;; Loop 1 ;; header 8, latch 7 ;; depth 1, outer 0 ;; nodes: 8 7 6 5 4 ;; 2 succs { 3 10 } ;; 3 succs { 8 } ;; 4 succs { 5 6 } ;; 5 succs { 7 } ;; 6 succs { 7 } ;; 7 succs { 8 } ;; 8 succs { 4 9 } ;; 9 succs { 10 } ;; 10 succs { 1 } Analyzing function body size: vTaskList IPA function summary for vTaskList/84 inlinable global time: 270.215297 self size: 47 global size: 0 min size: 0 self stack: 0 global stack: 0 size:19.500000, time:64.973223 size:3.500000, time:2.500000, executed if:(not inlined) calls: vPortFree/96 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 strlen/110 function body not available loop depth: 1 freq:4.33 size: 3 time: 12 sprintf/111 function body not available loop depth: 1 freq:4.33 size: 7 time: 16 op1 is compile time invariant prvWriteNameToBuffer/83 function not considered for inlining loop depth: 1 freq:4.33 size: 4 time: 13 uxTaskGetSystemState/53 function not considered for inlining loop depth: 0 freq:0.53 size: 5 time: 14 op2 is compile time invariant pvPortMalloc/95 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: prvWriteNameToBuffer/83 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 ;; 2 succs { 4 } ;; 3 succs { 4 } ;; 4 succs { 3 5 } ;; 5 succs { 1 } Analyzing function body size: prvWriteNameToBuffer IPA function summary for prvWriteNameToBuffer/83 inlinable global time: 70.454546 self size: 16 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:44.454546 size:3.000000, time:2.000000, executed if:(not inlined) calls: strlen/110 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 strcpy/112 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: vTaskPriorityDisinheritAfterTimeout/82 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 18 6 7 8 9 10 19 11 12 13 14 15 16 17 ;; ;; Loop 2 ;; header 5, latch 18 ;; depth 1, outer 0 ;; nodes: 5 18 ;; ;; Loop 1 ;; header 10, latch 19 ;; depth 1, outer 0 ;; nodes: 10 19 ;; 2 succs { 3 17 } ;; 3 succs { 4 6 } ;; 4 succs { 5 } ;; 5 succs { 18 } ;; 18 succs { 5 } ;; 6 succs { 7 17 } ;; 7 succs { 8 17 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 19 } ;; 19 succs { 10 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 14 17 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 17 } ;; 17 succs { 1 } Analyzing function body size: vTaskPriorityDisinheritAfterTimeout IPA function summary for vTaskPriorityDisinheritAfterTimeout/82 inlinable global time: 10.371967 self size: 55 global size: 0 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: 608] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:1.000000, time:0.350000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:2.000000, time:0.700000, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed || op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:2.000000, time:0.462001, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:23.000000, time:0.526507, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:3.000000, time:0.062873, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:2.500000, time:0.137442, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:1.000000, time:0.032437, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed || op1 changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.027488, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:2.000000, time:0.109954, executed if:(op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:1.000000, time:1.252873, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined) size:5.000000, time:1.749999, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B) calls: uxListRemove/103 function body not available loop depth: 0 freq:0.01 size: 2 time: 11 predicate: (op0[ref offset: 608] == 1) && (op0[ref offset: 608] != 0) && (op0 != 0B) Analyzing function: xTaskPriorityDisinherit/81 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 15 6 7 8 16 9 10 11 12 13 14 ;; ;; Loop 2 ;; header 5, latch 15 ;; depth 1, outer 0 ;; nodes: 5 15 ;; ;; Loop 1 ;; header 8, latch 16 ;; depth 1, outer 0 ;; nodes: 8 16 ;; 2 succs { 3 14 } ;; 3 succs { 4 6 } ;; 4 succs { 5 } ;; 5 succs { 15 } ;; 15 succs { 5 } ;; 6 succs { 7 9 } ;; 7 succs { 8 } ;; 8 succs { 16 } ;; 16 succs { 8 } ;; 9 succs { 10 14 } ;; 10 succs { 11 14 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 14 } ;; 14 succs { 1 } Analyzing function body size: xTaskPriorityDisinherit IPA function summary for xTaskPriorityDisinherit/81 inlinable global time: 9.958189 self size: 50 global size: 0 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:4.549986, executed if:(op0 != 0B) size:0.500000, time:0.104999, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:0.524994, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0 != 0B) size:3.000000, time:0.243603, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 608] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:3.500000, time:0.121103, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:16.500000, time:0.406951, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) && (not inlined) size:0.500000, time:0.052501, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:2.000000, time:0.210002, executed if:(op0[ref offset: 608] != 0) && (op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 576] changed) && (op0[ref offset: 608] != 0) && (op0 != 0B) size:1.000000, time:0.809999, executed if:(op0 == 0B || op0[ref offset: 608] != 0) && (not inlined) size:5.000000, time:0.525006, executed if:(op0[ref offset: 608] == 0) && (op0 != 0B) calls: uxListRemove/103 function body not available loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op0[ref offset: 608] != 0) && (op0 != 0B) Analyzing function: xTaskPriorityInherit/80 ;; 1 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 ;; 2 succs { 3 13 } ;; 3 succs { 4 11 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 10 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 13 } ;; 10 succs { 13 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 1 } Analyzing function body size: xTaskPriorityInherit IPA function summary for xTaskPriorityInherit/80 inlinable global time: 14.781627 self size: 48 global size: 0 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:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed) && (op0 != 0B) size:30.000000, time:6.590815, executed if:(op0 != 0B) size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 576] changed) && (op0 != 0B) size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:0.875000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) size:3.000000, time:0.369758, executed if:(op0 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) size:2.000000, time:0.700000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 352] changed || op0[ref offset: 160] changed) && (op0 != 0B) calls: uxListRemove/103 function body not available loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B) Analyzing function: xTaskGetSchedulerState/79 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; 2 succs { 5 3 } ;; 3 succs { 5 4 } ;; 4 succs { 5 } ;; 5 succs { 1 } Analyzing function body size: xTaskGetSchedulerState IPA function summary for xTaskGetSchedulerState/79 inlinable global time: 6.500000 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:4.500000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: xTaskGetCurrentTaskHandle/78 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xTaskGetCurrentTaskHandle IPA function summary for xTaskGetCurrentTaskHandle/78 inlinable global time: 3.000000 self size: 4 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: prvResetNextTaskUnblockTime/77 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; 2 succs { 3 4 } ;; 3 succs { 5 } ;; 4 succs { 5 } ;; 5 succs { 1 } Analyzing function body size: prvResetNextTaskUnblockTime IPA function summary for prvResetNextTaskUnblockTime/77 inlinable global time: 11.500000 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.500000 size:3.000000, time:2.000000, executed if:(not inlined) calls: prvResetNextTaskUnblockTime.part.0/115 function not considered for inlining loop depth: 0 freq:0.50 size: 1 time: 10callee size: 3 stack: 0 Analyzing function: prvDeleteTCB/76 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: prvDeleteTCB IPA function summary for prvDeleteTCB/76 inlinable global time: 25.000000 self size: 8 global size: 0 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: 384] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 384] changed) calls: vPortFree/96 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 vPortFree/96 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 Analyzing function: uxTaskGetStackHighWaterMark/75 ;; 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 } Analyzing function body size: uxTaskGetStackHighWaterMark IPA function summary for uxTaskGetStackHighWaterMark/75 inlinable global time: 17.300000 self size: 10 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: prvTaskCheckFreeStackSpace/74 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: prvTaskCheckFreeStackSpace/74 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 ;; 2 succs { 4 } ;; 3 succs { 4 } ;; 4 succs { 3 5 } ;; 5 succs { 1 } Analyzing function body size: prvTaskCheckFreeStackSpace IPA function summary for prvTaskCheckFreeStackSpace/74 inlinable global time: 46.454546 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:44.454546 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: prvListTasksWithinSingleList/73 ;; 2 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 } Analyzing function body size: prvListTasksWithinSingleList IPA function summary for prvListTasksWithinSingleList/73 inlinable global time: 12.000000 self size: 11 global size: 0 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:(op1[ref offset: 0] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed) calls: prvListTasksWithinSingleList.part.0/158 function not considered for inlining loop depth: 0 freq:0.50 size: 5 time: 14callee size:15 stack: 0 predicate: (op1[ref offset: 0] != 0) Analyzing function: vTaskGetInfo/72 ;; 1 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 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 11 } ;; 5 succs { 6 7 } ;; 6 succs { 12 } ;; 7 succs { 8 12 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 12 } ;; 11 succs { 12 } ;; 12 succs { 13 14 } ;; 13 succs { 15 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: vTaskGetInfo IPA function summary for vTaskGetInfo/72 inlinable global time: 34.206434 self size: 44 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.500000, time:7.500000 size:6.500000, time:5.500000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) size:2.000000, time:2.000000, nonconst if:(op3 changed) size:0.500000, time:0.101200, executed if:(op3 == 5) && (not inlined) size:0.500000, time:0.101200, executed if:(op3 == 5) size:4.000000, time:2.791600, executed if:(op3 != 5) size:1.000000, time:0.398800, executed if:(op3 != 5) && (not inlined) size:2.000000, time:1.116640, executed if:(op3 != 5), nonconst if:(op3 changed) && (op3 != 5) size:3.500000, time:0.378563, executed if:(op3 == 3) && (op3 != 5) size:0.500000, time:0.039551, executed if:(op3 == 3) && (op3 != 5) && (not inlined) size:2.000000, time:2.000000, nonconst if:(op2 changed) size:0.500000, time:0.335000, executed if:(op2 == 0) && (not inlined) size:0.500000, time:0.335000, executed if:(op2 == 0) size:1.500000, time:0.495000, executed if:(op2 != 0) size:0.500000, time:0.165000, executed if:(op2 != 0) && (not inlined) calls: prvTaskCheckFreeStackSpace/74 function not considered for inlining loop depth: 0 freq:0.33 size: 3 time: 12callee size: 4 stack: 0 predicate: (op2 != 0) eTaskGetState/35 function not considered for inlining loop depth: 0 freq:0.20 size: 3 time: 12 predicate: (op3 == 5) xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op3 == 3) && (op3 != 5) vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op3 == 3) && (op3 != 5) Analyzing function: prvCheckTasksWaitingTermination/71 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 ;; 2 succs { 4 } ;; 3 succs { 4 } ;; 4 succs { 3 5 } ;; 5 succs { 1 } Analyzing function body size: prvCheckTasksWaitingTermination IPA function summary for prvCheckTasksWaitingTermination/71 inlinable global time: 433.818185 self size: 20 global size: 0 min size: 0 self stack: 0 global stack: 0 size:11.000000, time:92.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: prvDeleteTCB/76 function not considered for inlining loop depth: 1 freq:8.09 size: 2 time: 11callee size: 4 stack: 0 vPortExitCritical/101 function body not available loop depth: 1 freq:8.09 size: 1 time: 10 uxListRemove/103 function body not available loop depth: 1 freq:8.09 size: 2 time: 11 vPortEnterCritical/100 function body not available loop depth: 1 freq:8.09 size: 1 time: 10 Analyzing function: prvInitialiseTaskLists/70 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 ;; 2 succs { 4 } ;; 3 succs { 4 } ;; 4 succs { 3 5 } ;; 5 succs { 1 } Analyzing function body size: prvInitialiseTaskLists IPA function summary for prvInitialiseTaskLists/70 inlinable global time: 130.983204 self size: 20 global size: 0 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:18.996401 size:3.000000, time:2.000000, executed if:(not inlined) calls: vListInitialise/102 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 op0 is compile time invariant vListInitialise/102 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 op0 is compile time invariant vListInitialise/102 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 op0 is compile time invariant vListInitialise/102 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 op0 is compile time invariant vListInitialise/102 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 op0 is compile time invariant vListInitialise/102 function body not available loop depth: 1 freq:5.00 size: 2 time: 11 Analyzing function: prvIdleTask/69 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 6 5 ;; ;; Loop 1 ;; header 3, latch 5 ;; depth 1, outer 0 ;; nodes: 3 5 4 6 ;; ;; Loop 2 ;; header 4, latch 6 ;; depth 2, outer 1 ;; nodes: 4 6 ;; 2 succs { 3 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 6 succs { 4 } ;; 5 succs { 3 } Analyzing function body size: prvIdleTask IPA function summary for prvIdleTask/69 inlinable global time: 250338.064697 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:80847.161133 size:2.000000, time:0.000000, executed if:(not inlined) calls: prvCheckTasksWaitingTermination/71 function not considered for inlining loop depth: 2 freq:16949.09 size: 1 time: 10callee size:10 stack: 0 Analyzing function: vTaskSetTaskNumber/68 ;; 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 } Analyzing function body size: vTaskSetTaskNumber IPA function summary for vTaskSetTaskNumber/68 inlinable global time: 4.700000 self size: 6 global size: 0 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:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B) calls: Analyzing function: uxTaskGetTaskNumber/67 ;; 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 } Analyzing function body size: uxTaskGetTaskNumber IPA function summary for uxTaskGetTaskNumber/67 inlinable global time: 4.700000 self size: 6 global size: 0 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:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 544] changed) && (op0 != 0B) calls: Analyzing function: vTaskMissedYield/66 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vTaskMissedYield IPA function summary for vTaskMissedYield/66 inlinable global time: 3.000000 self size: 4 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: xTaskCheckForTimeOut/65 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 18 5 6 7 19 8 9 10 11 12 13 14 15 16 17 ;; ;; Loop 2 ;; header 4, latch 18 ;; depth 1, outer 0 ;; nodes: 4 18 ;; ;; Loop 1 ;; header 7, latch 19 ;; depth 1, outer 0 ;; nodes: 7 19 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 18 } ;; 18 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 19 } ;; 19 succs { 7 } ;; 8 succs { 9 10 } ;; 9 succs { 17 } ;; 10 succs { 17 11 } ;; 11 succs { 12 14 } ;; 12 succs { 13 14 } ;; 13 succs { 17 } ;; 14 succs { 15 16 } ;; 15 succs { 17 } ;; 16 succs { 17 } ;; 17 succs { 1 } Analyzing function body size: xTaskCheckForTimeOut IPA function summary for xTaskCheckForTimeOut/65 inlinable global time: 19.619846 self size: 46 global size: 0 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.400002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:22.000000, time:4.152264, executed if:(op1 != 0B) && (op0 != 0B) size:4.000000, time:1.152813, executed if:(op1 != 0B) && (op0 != 0B) && (not inlined) size:5.000000, time:1.628552, executed if:(op1 == 0B) && (op0 != 0B) size:5.000000, time:1.499995, executed if:(op0 == 0B) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B) vTaskInternalSetTimeOutState/64 function not considered for inlining loop depth: 0 freq:0.03 size: 2 time: 11 predicate: (op1 != 0B) && (op0 != 0B) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op1 != 0B) && (op0 != 0B) Analyzing function: vTaskInternalSetTimeOutState/64 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vTaskInternalSetTimeOutState IPA function summary for vTaskInternalSetTimeOutState/64 inlinable global time: 6.000000 self size: 7 global size: 0 min size: 0 self stack: 0 global stack: 0 size:3.000000, time:3.000000 size:4.000000, time:3.000000, executed if:(not inlined) calls: Analyzing function: vTaskSetTimeOutState/63 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 6 5 ;; ;; Loop 1 ;; header 4, latch 6 ;; depth 1, outer 0 ;; nodes: 4 6 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 6 } ;; 6 succs { 4 } ;; 5 succs { 1 } Analyzing function body size: vTaskSetTimeOutState IPA function summary for vTaskSetTimeOutState/63 inlinable global time: 18.228702 self size: 16 global size: 0 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:3.000000, time:1.604100, executed if:(op0 != 0B) size:2.000000, time:1.604100, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: vTaskRemoveFromUnorderedEventList/62 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 17 5 6 7 18 8 9 10 11 12 13 14 15 16 ;; ;; Loop 2 ;; header 4, latch 17 ;; depth 1, outer 0 ;; nodes: 4 17 ;; ;; Loop 1 ;; header 7, latch 18 ;; depth 1, outer 0 ;; nodes: 7 18 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 17 } ;; 17 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 18 } ;; 18 succs { 7 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 1 } Analyzing function body size: vTaskRemoveFromUnorderedEventList IPA function summary for vTaskRemoveFromUnorderedEventList/62 inlinable global time: 25.410043 self size: 69 global size: 0 min size: 0 self stack: 0 global stack: 0 size:8.500000, time:5.750000 size:2.500000, time:0.250000, executed if:(not inlined) size:1.000000, time:0.500000, nonconst if:(op1 changed) size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined) size:2.500000, time:1.250000, nonconst if:(op0[ref offset: 96] changed) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 96] != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 96] != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 96] != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 96] != 0B) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 96] != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op0[ref offset: 96] != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 96] != 0B) size:44.000000, time:14.560043, executed if:(op0[ref offset: 96] != 0B) size:2.000000, time:1.050003, executed if:(op0[ref offset: 96] != 0B) && (not inlined) size:5.000000, time:0.749995, executed if:(op0[ref offset: 96] == 0B) calls: Analyzing function: xTaskRemoveFromEventList/61 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 17 5 6 7 8 9 10 11 12 13 14 15 16 ;; ;; Loop 1 ;; header 4, latch 17 ;; depth 1, outer 0 ;; nodes: 4 17 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 17 } ;; 17 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 13 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 14 } ;; 13 succs { 14 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 1 } Analyzing function body size: xTaskRemoveFromEventList IPA function summary for xTaskRemoveFromEventList/61 inlinable global time: 35.040046 self size: 74 global size: 0 min size: 0 self stack: 0 global stack: 0 size:70.000000, time:32.640046 size:3.000000, time:1.399999, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 96] changed) calls: Analyzing function: vTaskPlaceOnEventListRestricted/60 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 8 5 6 7 ;; ;; Loop 1 ;; header 4, latch 8 ;; depth 1, outer 0 ;; nodes: 4 8 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 8 } ;; 8 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: vTaskPlaceOnEventListRestricted IPA function summary for vTaskPlaceOnEventListRestricted/60 inlinable global time: 25.899992 self size: 31 global size: 0 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: 32] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) size:12.500000, time:8.749997, executed if:(op0 != 0B) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined) size:1.500000, time:1.050000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) size:1.500000, time:1.749999, executed if:(op0 != 0B) && (not inlined) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.70 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B) Analyzing function: vTaskPlaceOnUnorderedEventList/59 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 9 5 6 7 10 8 ;; ;; Loop 2 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 ;; ;; Loop 1 ;; header 7, latch 10 ;; depth 1, outer 0 ;; nodes: 7 10 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 9 } ;; 9 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 10 } ;; 10 succs { 7 } ;; 8 succs { 1 } Analyzing function body size: vTaskPlaceOnUnorderedEventList IPA function summary for vTaskPlaceOnUnorderedEventList/59 inlinable global time: 15.568078 self size: 40 global size: 0 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:22.500000, time:7.794538, executed if:(op0 != 0B) size:1.000000, time:0.231002, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.115501, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) size:0.500000, time:0.115501, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined) size:1.500000, time:0.346503, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) size:1.500000, time:0.577504, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.23 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B) op1 is compile time invariant Analyzing function: vTaskPlaceOnEventList/58 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 6 5 ;; ;; Loop 1 ;; header 4, latch 6 ;; depth 1, outer 0 ;; nodes: 4 6 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 6 } ;; 6 succs { 4 } ;; 5 succs { 1 } Analyzing function body size: vTaskPlaceOnEventList IPA function summary for vTaskPlaceOnEventList/58 inlinable global time: 18.763402 self size: 17 global size: 0 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:0.534700, executed if:(op0 != 0B) size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.53 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0B) op1 is compile time invariant vListInsert/105 function body not available loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B) Analyzing function: vTaskSwitchContext/57 ;; 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 ;; ;; Loop 1 ;; header 8, latch 7 ;; depth 1, outer 0 ;; nodes: 8 7 5 ;; 2 succs { 3 4 } ;; 3 succs { 12 } ;; 4 succs { 8 } ;; 5 succs { 6 7 } ;; 6 succs { } ;; 7 succs { 8 } ;; 8 succs { 5 9 } ;; 9 succs { 10 11 } ;; 10 succs { 11 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: vTaskSwitchContext IPA function summary for vTaskSwitchContext/57 inlinable global time: 37.941072 self size: 27 global size: 0 min size: 0 self stack: 0 global stack: 0 size:23.000000, time:33.997629 size:3.000000, time:1.514139, executed if:(not inlined) calls: vTaskSwitchContext.part.0/146 function not considered for inlining loop depth: 0 freq:0.24 size: 1 time: 10callee size: 3 stack: 0 Analyzing function: xTaskIncrementTick/56 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; 2 succs { 3 4 } ;; 3 succs { 5 } ;; 4 succs { 5 } ;; 5 succs { 1 } Analyzing function body size: xTaskIncrementTick IPA function summary for xTaskIncrementTick/56 inlinable global time: 11.665006 self size: 11 global size: 0 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:4.499998 size:3.000000, time:1.665000, executed if:(not inlined) calls: xTaskIncrementTick.part.0/135 function not considered for inlining loop depth: 0 freq:0.50 size: 2 time: 11callee size:48 stack: 0 Analyzing function: xTaskAbortDelay/55 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 4, latch 13 ;; depth 1, outer 0 ;; nodes: 4 13 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 13 } ;; 13 succs { 4 } ;; 5 succs { 6 12 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: xTaskAbortDelay IPA function summary for xTaskAbortDelay/55 inlinable global time: 30.114204 self size: 48 global size: 0 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:24.000000, time:3.316918, executed if:(op0 != 0B) size:4.000000, time:1.368894, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) vPortExitCritical/101 function body not available loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B) uxListRemove/103 function body not available loop depth: 0 freq:0.06 size: 2 time: 11 predicate: (op0 != 0B) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op0 != 0B) uxListRemove/103 function body not available loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op0 != 0B) eTaskGetState/35 function not considered for inlining loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B) vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: xTaskCatchUpTicks/54 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 6 5 ;; ;; Loop 1 ;; header 4, latch 6 ;; depth 1, outer 0 ;; nodes: 4 6 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 6 } ;; 6 succs { 4 } ;; 5 succs { 1 } Analyzing function body size: xTaskCatchUpTicks IPA function summary for xTaskCatchUpTicks/54 inlinable global time: 14.930026 self size: 17 global size: 0 min size: 0 self stack: 0 global stack: 0 size:11.000000, time:7.339998 size:3.000000, time:0.660002, executed if:(not inlined) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.33 size: 2 time: 11 vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.33 size: 1 time: 10 Analyzing function: uxTaskGetSystemState/53 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 7 3 8 4 5 6 ;; ;; Loop 1 ;; header 3, latch 8 ;; depth 1, outer 0 ;; nodes: 3 8 ;; 2 succs { 7 6 } ;; 7 succs { 3 } ;; 3 succs { 8 4 } ;; 8 succs { 3 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 1 } Analyzing function body size: uxTaskGetSystemState IPA function summary for uxTaskGetSystemState/53 inlinable global time: 111.350000 self size: 56 global size: 0 min size: 0 self stack: 0 global stack: 0 size:23.000000, time:25.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:1.000000, nonconst if:(op2 changed) size:0.500000, time:0.175000, executed if:(op2 != 0B) && (not inlined) size:0.500000, time:0.175000, executed if:(op2 != 0B) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:1.00 size: 1 time: 10 prvListTasksWithinSingleList/73 function not considered for inlining loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0 op1 is compile time invariant op2 is compile time invariant prvListTasksWithinSingleList/73 function not considered for inlining loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0 op1 is compile time invariant op2 is compile time invariant prvListTasksWithinSingleList/73 function not considered for inlining loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0 op2 is compile time invariant prvListTasksWithinSingleList/73 function not considered for inlining loop depth: 0 freq:0.50 size: 5 time: 14callee size: 5 stack: 0 op2 is compile time invariant prvListTasksWithinSingleList/73 function not considered for inlining loop depth: 1 freq:2.50 size: 5 time: 14callee size: 5 stack: 0 op2 is compile time invariant vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xTaskGetHandle/52 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 17 5 6 7 18 8 9 10 11 12 13 14 15 16 ;; ;; Loop 2 ;; header 4, latch 17 ;; depth 1, outer 0 ;; nodes: 4 17 ;; ;; Loop 1 ;; header 6, latch 18 ;; depth 1, outer 0 ;; nodes: 6 18 7 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 17 } ;; 17 succs { 4 } ;; 5 succs { 6 } ;; 6 succs { 8 7 } ;; 7 succs { 18 8 } ;; 18 succs { 6 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 1 } Analyzing function body size: xTaskGetHandle IPA function summary for xTaskGetHandle/52 inlinable global time: 54.551541 self size: 50 global size: 0 min size: 0 self stack: 0 global stack: 0 size:22.000000, time:14.718564 size:3.000000, time:0.660002, executed if:(not inlined) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.33 size: 1 time: 10 prvSearchForNameWithinSingleList/51 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13 op0 is compile time invariant prvSearchForNameWithinSingleList/51 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13 op0 is compile time invariant prvSearchForNameWithinSingleList/51 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13 prvSearchForNameWithinSingleList/51 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13 prvSearchForNameWithinSingleList/51 function not considered for inlining loop depth: 1 freq:1.35 size: 4 time: 13 op1 change 73.930000% of time vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.33 size: 1 time: 10 strlen/110 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: prvSearchForNameWithinSingleList/51 ;; 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 16 15 ;; ;; Loop 1 ;; header 6, latch 16 ;; depth 1, outer 0 ;; nodes: 6 16 14 13 10 12 9 8 11 7 ;; ;; Loop 2 ;; header 12, latch 11 ;; depth 2, outer 1 ;; nodes: 12 11 10 9 ;; 2 succs { 3 15 } ;; 3 succs { 4 5 } ;; 4 succs { 5 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 12 } ;; 9 succs { 13 10 } ;; 10 succs { 13 11 } ;; 11 succs { 12 } ;; 12 succs { 9 13 } ;; 13 succs { 15 14 } ;; 14 succs { 16 15 } ;; 16 succs { 6 } ;; 15 succs { 1 } Analyzing function body size: prvSearchForNameWithinSingleList IPA function summary for prvSearchForNameWithinSingleList/51 inlinable global time: 474.990788 self size: 38 global size: 0 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: 0] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed) size:0.500000, time:0.355000, executed if:(op0[ref offset: 0] != 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 0] != 0) && (not inlined) size:0.500000, time:0.355000, executed if:(op0[ref offset: 0] != 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 0] != 0) size:27.500000, time:457.513131, executed if:(op0[ref offset: 0] != 0) size:3.500000, time:11.767657, executed if:(op0[ref offset: 0] != 0) && (not inlined) calls: Analyzing function: pcTaskGetName/50 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 8 7 ;; ;; Loop 1 ;; header 6, latch 8 ;; depth 1, outer 0 ;; nodes: 6 8 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 7 } ;; 5 succs { 6 } ;; 6 succs { 8 } ;; 8 succs { 6 } ;; 7 succs { 1 } Analyzing function body size: pcTaskGetName IPA function summary for pcTaskGetName/50 inlinable global time: 7.200001 self size: 13 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:3.500001 size:3.000000, time:1.399999, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: Analyzing function: uxTaskGetNumberOfTasks/49 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: uxTaskGetNumberOfTasks IPA function summary for uxTaskGetNumberOfTasks/49 inlinable global time: 3.000000 self size: 4 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: xTaskGetTickCountFromISR/48 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xTaskGetTickCountFromISR IPA function summary for xTaskGetTickCountFromISR/48 inlinable global time: 13.000000 self size: 5 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: vPortValidateInterruptPriority/106 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xTaskGetTickCount/47 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xTaskGetTickCount IPA function summary for xTaskGetTickCount/47 inlinable global time: 3.000000 self size: 4 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: xTaskResumeAll/46 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 6 5 ;; ;; Loop 3 ;; header 4, latch 6 ;; depth 1, outer 0 ;; nodes: 4 6 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 6 } ;; 6 succs { 4 } ;; 5 succs { 1 } Analyzing function body size: xTaskResumeAll IPA function summary for xTaskResumeAll/46 inlinable global time: 10.640010 self size: 13 global size: 0 min size: 0 self stack: 0 global stack: 0 size:8.000000, time:6.349994 size:3.000000, time:0.660002, executed if:(not inlined) calls: xTaskResumeAll.part.0/137 function not considered for inlining loop depth: 0 freq:0.33 size: 2 time: 11callee size:44 stack: 0 Analyzing function: vTaskSuspendAll/45 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vTaskSuspendAll IPA function summary for vTaskSuspendAll/45 inlinable global time: 6.000000 self size: 7 global size: 0 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Analyzing function: vTaskEndScheduler/44 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vTaskEndScheduler IPA function summary for vTaskEndScheduler/44 inlinable global time: 18.000000 self size: 10 global size: 0 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:6.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: vPortEndScheduler/109 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: vTaskStartScheduler/43 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 10 9 ;; ;; Loop 1 ;; header 8, latch 10 ;; depth 1, outer 0 ;; nodes: 8 10 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 9 } ;; 6 succs { 7 9 } ;; 7 succs { 8 } ;; 8 succs { 10 } ;; 10 succs { 8 } ;; 9 succs { 1 } Analyzing function body size: vTaskStartScheduler IPA function summary for vTaskStartScheduler/43 inlinable global time: 32.007150 self size: 34 global size: 0 min size: 0 self stack: 0 global stack: 0 size:20.000000, time:9.299132 size:3.000000, time:1.457632, executed if:(not inlined) calls: xPortStartScheduler/108 function body not available loop depth: 0 freq:0.20 size: 1 time: 10 xTimerCreateTimerTask/107 function body not available loop depth: 0 freq:0.20 size: 2 time: 11 xTaskCreate/29 function not considered for inlining loop depth: 0 freq:1.00 size: 8 time: 17 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant op5 is compile time invariant Analyzing function: xTaskResumeFromISR/42 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 14 5 6 7 8 9 10 11 12 13 ;; ;; Loop 1 ;; header 4, latch 14 ;; depth 1, outer 0 ;; nodes: 4 14 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 14 } ;; 14 succs { 4 } ;; 5 succs { 6 13 } ;; 6 succs { 7 12 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 10 11 } ;; 10 succs { 11 } ;; 11 succs { 13 } ;; 12 succs { 13 } ;; 13 succs { 1 } Analyzing function body size: xTaskResumeFromISR IPA function summary for xTaskResumeFromISR/42 inlinable global time: 29.564289 self size: 53 global size: 0 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:31.500000, time:8.928128, executed if:(op0 != 0B) size:3.500000, time:1.517208, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vListInsertEnd/104 function body not available loop depth: 0 freq:0.09 size: 3 time: 12 predicate: (op0 != 0B) op0 is compile time invariant uxListRemove/103 function body not available loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B) prvTaskIsTaskSuspended/40 function not considered for inlining loop depth: 0 freq:0.53 size: 3 time: 12 predicate: (op0 != 0B) vPortValidateInterruptPriority/106 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: vTaskResume/41 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 13 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 4, latch 13 ;; depth 1, outer 0 ;; nodes: 4 13 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 13 } ;; 13 succs { 4 } ;; 5 succs { 6 12 } ;; 6 succs { 7 11 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 10 11 } ;; 10 succs { 11 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: vTaskResume IPA function summary for vTaskResume/41 inlinable global time: 23.678349 self size: 45 global size: 0 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:26.000000, time:5.195383, executed if:(op0 != 0B) size:3.000000, time:1.647032, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B) uxListRemove/103 function body not available loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op0 != 0B) prvTaskIsTaskSuspended/40 function not considered for inlining loop depth: 0 freq:0.37 size: 3 time: 12 predicate: (op0 != 0B) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: prvTaskIsTaskSuspended/40 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 8 5 6 7 ;; ;; Loop 1 ;; header 4, latch 8 ;; depth 1, outer 0 ;; nodes: 4 8 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 8 } ;; 8 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: prvTaskIsTaskSuspended IPA function summary for prvTaskIsTaskSuspended/40 inlinable global time: 9.520009 self size: 16 global size: 0 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: 160] changed) && (op0 != 0B) && (not inlined) size:2.500000, time:1.749999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 160] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0[ref offset: 160] == &xSuspendedTaskList || op0[ref offset: 160] != &xSuspendedTaskList) && (op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvTaskIsTaskSuspended.part.0/114 function not considered for inlining loop depth: 0 freq:0.21 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0[ref offset: 160] == &xSuspendedTaskList) && (op0 != 0B) Analyzing function: vTaskSuspend/39 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 24 8 9 10 11 12 13 14 15 16 17 23 18 19 20 21 22 ;; ;; Loop 2 ;; header 17, latch 23 ;; depth 1, outer 0 ;; nodes: 17 23 ;; ;; Loop 1 ;; header 9, latch 8 ;; depth 1, outer 0 ;; nodes: 9 8 7 10 24 ;; ;; Loop 3 ;; header 10, latch 24 ;; depth 2, outer 1 ;; nodes: 10 24 7 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 9 } ;; 7 succs { 8 24 } ;; 24 succs { 10 } ;; 8 succs { 9 } ;; 9 succs { 10 } ;; 10 succs { 7 11 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 14 22 } ;; 14 succs { 15 19 } ;; 15 succs { 16 18 } ;; 16 succs { 17 } ;; 17 succs { 23 } ;; 23 succs { 17 } ;; 18 succs { 22 } ;; 19 succs { 20 21 } ;; 20 succs { 22 } ;; 21 succs { 22 } ;; 22 succs { 1 } Analyzing function body size: vTaskSuspend IPA function summary for vTaskSuspend/39 inlinable global time: 174.712526 self size: 53 global size: 0 min size: 0 self stack: 0 global stack: 0 size:34.000000, time:111.047613 size:3.000000, time:1.850000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: vTaskSwitchContext/57 function not considered for inlining loop depth: 0 freq:0.07 size: 1 time: 10callee size:13 stack: 0 vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 prvResetNextTaskUnblockTime/77 function not considered for inlining loop depth: 0 freq:0.33 size: 1 time: 10callee size: 4 stack: 0 vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vListInsertEnd/104 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant uxListRemove/103 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 uxListRemove/103 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: vTaskPrioritySet/38 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 25 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ;; ;; Loop 1 ;; header 4, latch 25 ;; depth 1, outer 0 ;; nodes: 4 25 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 25 } ;; 25 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 24 } ;; 8 succs { 9 12 } ;; 9 succs { 10 14 } ;; 10 succs { 11 14 } ;; 11 succs { 14 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 17 18 } ;; 17 succs { 18 } ;; 18 succs { 19 22 } ;; 19 succs { 20 21 } ;; 20 succs { 21 } ;; 21 succs { 22 } ;; 22 succs { 23 24 } ;; 23 succs { 24 } ;; 24 succs { 1 } Analyzing function body size: vTaskPrioritySet IPA function summary for vTaskPrioritySet/38 inlinable global time: 20.030363 self size: 66 global size: 0 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:(op1 changed) size:2.000000, time:0.660002, executed if:(op1 <= 4), nonconst if:(op0 changed) && (op1 <= 4) size:1.000000, time:0.099002, executed if:(op0 == 0B) && (op1 <= 4) size:48.000000, time:6.115238, executed if:(op1 <= 4) size:1.000000, time:0.128504, executed if:(op1 <= 4), nonconst if:(op1 changed) && (op1 <= 4) size:1.000000, time:0.660002, executed if:(op1 <= 4) && (not inlined) size:5.000000, time:3.349994, executed if:(op1 > 4) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4) uxListRemove/103 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 <= 4) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op1 <= 4) Analyzing function: uxTaskPriorityGetFromISR/37 ;; 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 } Analyzing function body size: uxTaskPriorityGetFromISR IPA function summary for uxTaskPriorityGetFromISR/37 inlinable global time: 22.300000 self size: 15 global size: 0 min size: 0 self stack: 0 global stack: 0 size:8.000000, time:8.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: vPortValidateInterruptPriority/106 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: uxTaskPriorityGet/36 ;; 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 } Analyzing function body size: uxTaskPriorityGet IPA function summary for uxTaskPriorityGet/36 inlinable global time: 25.300000 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: eTaskGetState/35 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 15 5 6 7 8 9 10 11 12 13 14 ;; ;; Loop 2 ;; header 4, latch 15 ;; depth 1, outer 0 ;; nodes: 4 15 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 15 } ;; 15 succs { 4 } ;; 5 succs { 14 6 } ;; 6 succs { 14 7 } ;; 7 succs { 14 8 } ;; 8 succs { 9 11 } ;; 9 succs { 10 14 } ;; 10 succs { 14 } ;; 11 succs { 14 12 } ;; 12 succs { 14 13 } ;; 13 succs { 14 } ;; 14 succs { 1 } Analyzing function body size: eTaskGetState IPA function summary for eTaskGetState/35 inlinable global time: 18.703258 self size: 34 global size: 0 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:18.000000, time:5.699011, executed if:(op0 != 0B) size:2.000000, time:1.624208, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: eTaskGetState.part.0/122 function not considered for inlining loop depth: 0 freq:0.03 size: 3 time: 12callee size: 4 stack: 0 predicate: (op0 != 0B) vPortExitCritical/101 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B) vPortEnterCritical/100 function body not available loop depth: 0 freq:0.37 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: vTaskDelay/34 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 4 5 6 10 7 8 9 ;; ;; Loop 1 ;; header 6, latch 10 ;; depth 1, outer 0 ;; nodes: 6 10 ;; 2 succs { 4 8 } ;; 4 succs { 5 7 } ;; 5 succs { 6 } ;; 6 succs { 10 } ;; 10 succs { 6 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: vTaskDelay IPA function summary for vTaskDelay/34 inlinable global time: 14.027552 self size: 24 global size: 0 min size: 0 self stack: 0 global stack: 0 size:3.000000, time:1.747506 size:3.000000, time:1.329999, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:10.000000, time:3.505009, executed if:(op0 != 0) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.17 size: 2 time: 11callee size: 6 stack: 0 predicate: (op0 != 0) prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.17 size: 3 time: 12callee size:16 stack: 0 predicate: (op0 != 0) op1 is compile time invariant vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.17 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 != 0) Analyzing function: xTaskDelayUntil/33 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 25 5 6 7 26 8 9 10 27 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ;; ;; Loop 3 ;; header 4, latch 25 ;; depth 1, outer 0 ;; nodes: 4 25 ;; ;; Loop 2 ;; header 7, latch 26 ;; depth 1, outer 0 ;; nodes: 7 26 ;; ;; Loop 1 ;; header 10, latch 27 ;; depth 1, outer 0 ;; nodes: 10 27 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 25 } ;; 25 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 26 } ;; 26 succs { 7 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 27 } ;; 27 succs { 10 } ;; 11 succs { 12 17 } ;; 12 succs { 14 13 } ;; 13 succs { 22 } ;; 14 succs { 16 15 } ;; 15 succs { 22 } ;; 16 succs { 21 } ;; 17 succs { 19 18 } ;; 18 succs { 19 20 } ;; 19 succs { 21 } ;; 20 succs { 22 } ;; 21 succs { 22 } ;; 22 succs { 23 24 } ;; 23 succs { 24 } ;; 24 succs { 1 } Analyzing function body size: xTaskDelayUntil IPA function summary for xTaskDelayUntil/33 inlinable global time: 13.723476 self size: 55 global size: 0 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:29.000000, time:3.608499, executed if:(op1 != 0) && (op0 != 0B) size:4.000000, time:0.346496, executed if:(op1 != 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.749999, executed if:(op1 == 0) && (op0 != 0B) size:5.000000, time:1.500002, executed if:(op0 == 0B) calls: xTaskResumeAll/46 function not considered for inlining loop depth: 0 freq:0.12 size: 2 time: 11callee size: 6 stack: 0 predicate: (op1 != 0) && (op0 != 0B) prvAddCurrentTaskToDelayedList/94 function not considered for inlining loop depth: 0 freq:0.06 size: 3 time: 12callee size:16 stack: 0 predicate: (op1 != 0) && (op0 != 0B) op1 is compile time invariant vTaskSuspendAll/45 function not considered for inlining loop depth: 0 freq:0.12 size: 1 time: 10callee size: 3 stack: 0 predicate: (op1 != 0) && (op0 != 0B) Analyzing function: vTaskDelete/32 ;; 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 13 16 14 15 ;; ;; Loop 1 ;; header 13, latch 16 ;; depth 1, outer 0 ;; nodes: 13 16 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 9 } ;; 8 succs { 9 } ;; 9 succs { 10 15 } ;; 10 succs { 11 15 } ;; 11 succs { 12 14 } ;; 12 succs { 13 } ;; 13 succs { 16 } ;; 16 succs { 13 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: vTaskDelete IPA function summary for vTaskDelete/32 inlinable global time: 76.881702 self size: 50 global size: 0 min size: 0 self stack: 0 global stack: 0 size:32.000000, time:17.550001 size:3.000000, time:1.850000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:0.300000, executed if:(op0 == 0B) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 prvResetNextTaskUnblockTime/77 function not considered for inlining loop depth: 0 freq:0.70 size: 1 time: 10callee size: 4 stack: 0 prvDeleteTCB/76 function not considered for inlining loop depth: 0 freq:0.70 size: 2 time: 11callee size: 4 stack: 0 vListInsertEnd/104 function body not available loop depth: 0 freq:0.30 size: 3 time: 12 op0 is compile time invariant uxListRemove/103 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 uxListRemove/103 function body not available loop depth: 0 freq:1.00 size: 2 time: 11 vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: prvAddNewTaskToReadyList/31 ;; 1 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 ;; 2 succs { 3 5 } ;; 3 succs { 4 8 } ;; 4 succs { 8 } ;; 5 succs { 6 8 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 13 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 1 } Analyzing function body size: prvAddNewTaskToReadyList IPA function summary for prvAddNewTaskToReadyList/31 inlinable global time: 59.582200 self size: 56 global size: 0 min size: 0 self stack: 0 global stack: 0 size:46.500000, time:34.050000 size:6.500000, time:4.925000, executed if:(not inlined) calls: vPortExitCritical/101 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 prvInitialiseTaskLists/70 function not considered for inlining loop depth: 0 freq:0.06 size: 1 time: 10callee size:10 stack: 0 vPortEnterCritical/100 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xTaskCreate/29 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 4 5 6 7 8 9 ;; 2 succs { 4 9 } ;; 4 succs { 5 6 } ;; 5 succs { 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: xTaskCreate IPA function summary for xTaskCreate/29 inlinable global time: 35.027197 self size: 29 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:4.580302 size:3.000000, time:2.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op2 changed) calls: prvAddNewTaskToReadyList/31 function not considered for inlining loop depth: 0 freq:0.29 size: 2 time: 11callee size:28 stack: 0 prvInitialiseNewTask.isra.0/118 function not considered for inlining loop depth: 0 freq:0.29 size: 8 time: 17callee size:31 stack: 0 vPortFree/96 function body not available loop depth: 0 freq:0.09 size: 2 time: 11 pvPortMalloc/95 function body not available loop depth: 0 freq:0.53 size: 3 time: 12 op0 is compile time invariant pvPortMalloc/95 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Symbol table: CSWTCH.225/163 (CSWTCH.225) @064b2798 Type: variable definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: vTaskList/84 (read) Availability: available Varpool flags: initialized read-only const-value-known prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @062b7b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvListTasksWithinSingleList/73 (118111600 (estimated locally),0.50 per call) Calls: vTaskGetInfo/72 (1073741824 (estimated locally),9.09 per call) vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @0640c2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: vTaskSwitchContext/57 (107374 (estimated locally),0.24 per call) Calls: xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @0640c620 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)uxSchedulerSuspended/28 (read)uxCurrentNumberOfTasks/17 (read)xPendingReadyList/13 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)xPendingReadyList/13 (read)xPendedTicks/21 (read)xYieldPending/22 (write)xPendedTicks/21 (write)xYieldPending/22 (read) Referring: Availability: local Function flags: count:472446400 (estimated locally) first_run:1 body local split_part optimize_size Called by: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) Calls: vPortEnterCritical/100 (472446400 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick/56 (536870915 (estimated locally),1.14 per call) vPortExitCritical/101 (472446401 (estimated locally),1.00 per call) xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @0640c540 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xTickCount/18 (read)xTickCount/18 (write)pxDelayedTaskList/11 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)pxDelayedTaskList/11 (write)pxOverflowDelayedTaskList/12 (write)xNumOfOverflows/23 (read)xNumOfOverflows/23 (write)xNextTaskUnblockTime/25 (read)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (read)xYieldPending/22 (read) Referring: Availability: local Function flags: count:320519 (estimated locally) first_run:1 body local split_part optimize_size Called by: xTaskIncrementTick/56 (320520 (estimated locally),0.50 per call) Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.17 per call) eTaskGetState.part.0/122 (eTaskGetState.part.0) @062b79a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:566398813 (estimated locally) first_run:1 body local split_part optimize_size Called by: eTaskGetState/35 (11759 (estimated locally),0.03 per call) Calls: prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @0601d540 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xSuspendedTaskList/16 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSuspendedTaskList/16 (read)xSuspendedTaskList/16 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvAddCurrentTaskToDelayedList/94 (182536110 (estimated locally),0.17 per call) Calls: prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @0601d2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:160260 (estimated locally) body local optimize_size Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call) Calls: pxPortInitialiseStack/99 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) memset/97 (160260 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @06015e00 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvResetNextTaskUnblockTime/77 (536870912 (estimated locally),0.50 per call) Calls: prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05f482a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: xPendingReadyList/13 (addr) Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvTaskIsTaskSuspended/40 (75162 (estimated locally),0.21 per call) Calls: strcpy/112 (strcpy) @06243000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call) Calls: sprintf/111 (sprintf) @06221ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) Calls: strlen/110 (strlen) @061c69a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) xTaskGetHandle/52 (160260 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call) Calls: vPortEndScheduler/109 (vPortEndScheduler) @061c6000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call) Calls: xPortStartScheduler/108 (xPortStartScheduler) @0260ac40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call) Calls: xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @0260ab60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call) Calls: vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @025f3e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskGenericNotifyGiveFromISR/91 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (52886 (estimated locally),0.23 per call) xTaskGetTickCountFromISR/48 (1073741824 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) uxTaskPriorityGetFromISR/37 (1073741824 (estimated locally),1.00 per call) Calls: vListInsert/105 (vListInsert) @025f37e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) Calls: vListInsertEnd/104 (vListInsertEnd) @025f30e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (20359 (estimated locally),0.09 per call) vTaskDelete/32 (429496 (estimated locally),0.30 per call) Calls: uxListRemove/103 (uxListRemove) @025f3000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskPriorityDisinheritAfterTimeout/82 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (65503620 (estimated locally),0.06 per call) vTaskSuspend/39 (765505 (estimated locally),0.53 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (13354 (estimated locally),0.06 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeFromISR/42 (41335 (estimated locally),0.18 per call) vTaskResume/41 (44208 (estimated locally),0.12 per call) vTaskPrioritySet/38 (6084 (estimated locally),0.04 per call) vTaskDelete/32 (765505 (estimated locally),0.53 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvAddCurrentTaskToDelayedList/94 (1073741823 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) Calls: vListInitialise/102 (vListInitialise) @061a6ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (894749063 (estimated locally),5.00 per call) Calls: vPortExitCritical/101 (vPortExitCritical) @061a6d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (33803 (estimated locally),0.16 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446401 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741823 (estimated locally),1.00 per call) Calls: vPortEnterCritical/100 (vPortEnterCritical) @061a6b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446400 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741821 (estimated locally),1.00 per call) Calls: pxPortInitialiseStack/99 (pxPortInitialiseStack) @061a68c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) Calls: vListInitialiseItem/98 (vListInitialiseItem) @061a67e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) Calls: memset/97 (memset) @061a6700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (160260 (estimated locally),1.00 per call) Calls: vPortFree/96 (vPortFree) @061a6540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (118111601 (estimated locally),0.53 per call) xTaskCreate/29 (100070816 (estimated locally),0.09 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) Calls: pvPortMalloc/95 (pvPortMalloc) @061a6460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vTaskList/84 (220893212 (estimated locally),1.00 per call) xTaskCreate/29 (574129754 (estimated locally),0.53 per call) xTaskCreate/29 (1073741824 (estimated locally),1.00 per call) Calls: prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @061a6000 Type: function definition analyzed Visibility: prevailing_def_ironly References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: xTaskGenericNotifyWait/88 (11519 (estimated locally),0.07 per call) ulTaskGenericNotifyTake/87 (8726 (estimated locally),0.05 per call) vTaskPlaceOnEventListRestricted/60 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (17717 (estimated locally),0.06 per call) Calls: vListInsert/105 (445602856 (estimated locally),0.41 per call) vListInsert/105 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList.part.0/119 (182536110 (estimated locally),0.17 per call) uxListRemove/103 (1073741823 (estimated locally),1.00 per call) ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0616c540 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0616cd20 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call) vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0616c8c0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0616c460 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call) xTaskGenericNotify/89 (xTaskGenericNotify) @0615ee00 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0615ed20 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (11519 (estimated locally),0.07 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0615e8c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (8726 (estimated locally),0.05 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0615e460 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0615e1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vTaskList/84 (vTaskList) @0613fc40 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read) Referring: Availability: available Function flags: count:220893212 (estimated locally) body optimize_size Called by: Calls: vPortFree/96 (118111601 (estimated locally),0.53 per call) strlen/110 (955630226 (estimated locally),4.33 per call) sprintf/111 (955630226 (estimated locally),4.33 per call) prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call) uxTaskGetSystemState/53 (118111600 (estimated locally),0.53 per call) pvPortMalloc/95 (220893212 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0613f540 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) Calls: strlen/110 (118111600 (estimated locally),1.00 per call) strcpy/112 (118111600 (estimated locally),1.00 per call) vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0613f000 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0613fb60 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:219131 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (xTaskPriorityInherit) @0613f700 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call) xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0613f460 Type: function definition analyzed Visibility: externally_visible public References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0613f1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06133c40 Type: function definition analyzed Visibility: prevailing_def_ironly References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write) Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: vTaskSuspend/39 (472446 (estimated locally),0.33 per call) xTaskResumeAll.part.0/137 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick.part.0/135 (52886 (estimated locally),0.17 per call) vTaskDelete/32 (1002157 (estimated locally),0.70 per call) Calls: prvResetNextTaskUnblockTime.part.0/115 (536870912 (estimated locally),0.50 per call) prvDeleteTCB/76 (prvDeleteTCB) @06133380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: vTaskDelete/32 (1002157 (estimated locally),0.70 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) Calls: vPortFree/96 (1073741824 (estimated locally),1.00 per call) vPortFree/96 (1073741824 (estimated locally),1.00 per call) uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06133ee0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvTaskCheckFreeStackSpace/74 (1073741824 (estimated locally),1.00 per call) prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06133b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: uxTaskGetStackHighWaterMark/75 (1073741824 (estimated locally),1.00 per call) vTaskGetInfo/72 (354334802 (estimated locally),0.33 per call) Calls: prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @061338c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:236223200 (estimated locally) body local optimize_size Called by: uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (1073741824 (estimated locally),2.50 per call) Calls: prvListTasksWithinSingleList.part.0/158 (118111600 (estimated locally),0.50 per call) vTaskGetInfo/72 (vTaskGetInfo) @06133620 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),9.09 per call) Calls: prvTaskCheckFreeStackSpace/74 (354334802 (estimated locally),0.33 per call) eTaskGetState/35 (217325345 (estimated locally),0.20 per call) xTaskResumeAll/46 (121337087 (estimated locally),0.11 per call) vTaskSuspendAll/45 (121337087 (estimated locally),0.11 per call) prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @061332a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read) Referring: Availability: local Function flags: count:118111600 (estimated locally) body local optimize_size Called by: prvIdleTask/69 (1073741824 (estimated locally),16949.09 per call) Calls: prvDeleteTCB/76 (955630223 (estimated locally),8.09 per call) vPortExitCritical/101 (955630223 (estimated locally),8.09 per call) uxListRemove/103 (955630223 (estimated locally),8.09 per call) vPortEnterCritical/100 (955630223 (estimated locally),8.09 per call) prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0612fee0 Type: function definition analyzed Visibility: prevailing_def_ironly References: pxReadyTasksLists/8 (addr)xDelayedTaskList1/9 (addr)xDelayedTaskList2/10 (addr)xPendingReadyList/13 (addr)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)pxDelayedTaskList/11 (write)xDelayedTaskList1/9 (addr)pxOverflowDelayedTaskList/12 (write)xDelayedTaskList2/10 (addr) Referring: Availability: local Function flags: count:178992762 (estimated locally) body local optimize_size Called by: prvAddNewTaskToReadyList/31 (65197603 (estimated locally),0.06 per call) Calls: vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (894749063 (estimated locally),5.00 per call) prvIdleTask/69 (prvIdleTask) @0612f9a0 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: pxReadyTasksLists/8 (read) Referring: vTaskStartScheduler/43 (addr) Availability: available Function flags: count:63351 (estimated locally) body executed_once optimize_size Called by: Calls: prvCheckTasksWaitingTermination/71 (1073741824 (estimated locally),16949.09 per call) vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0612fe00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0612fb60 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vTaskMissedYield/66 (vTaskMissedYield) @0612f8c0 Type: function definition analyzed Visibility: externally_visible public References: xYieldPending/22 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0612f620 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read) Referring: Availability: available Function flags: count:329661 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (9003 (estimated locally),0.03 per call) vPortEnterCritical/100 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0612f1c0 Type: function definition analyzed Visibility: externally_visible public References: xNumOfOverflows/23 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call) Calls: vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @06092b60 Type: function definition analyzed Visibility: externally_visible public References: xNumOfOverflows/23 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call) vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @06092ee0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @06092a80 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @06092620 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @060922a0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @06082a80 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call) vTaskSwitchContext/57 (vTaskSwitchContext) @06082e00 Type: function definition analyzed Visibility: force_output externally_visible public References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (read)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write) Referring: Availability: available Function flags: count:441995 (estimated locally) body optimize_size Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call) Calls: vTaskSwitchContext.part.0/146 (107374 (estimated locally),0.24 per call) xTaskIncrementTick/56 (xTaskIncrementTick) @060829a0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write) Referring: Availability: available Function flags: count:641039 (estimated locally) body optimize_size Called by: xTaskResumeAll.part.0/137 (536870915 (estimated locally),1.14 per call) Calls: xTaskIncrementTick.part.0/135 (320520 (estimated locally),0.50 per call) xTaskAbortDelay/55 (xTaskAbortDelay) @06082380 Type: function definition analyzed Visibility: externally_visible public References: uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (123389 (estimated locally),0.53 per call) vPortExitCritical/101 (24974 (estimated locally),0.11 per call) uxListRemove/103 (13354 (estimated locally),0.06 per call) vPortEnterCritical/100 (24974 (estimated locally),0.11 per call) uxListRemove/103 (24974 (estimated locally),0.11 per call) eTaskGetState/35 (123389 (estimated locally),0.53 per call) vTaskSuspendAll/45 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @06082000 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) uxTaskGetSystemState/53 (uxTaskGetSystemState) @060777e0 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr) Referring: Availability: available Function flags: count:429496728 (estimated locally) body optimize_size Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call) Calls: xTaskResumeAll/46 (429496729 (estimated locally),1.00 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (1073741824 (estimated locally),2.50 per call) vTaskSuspendAll/45 (429496728 (estimated locally),1.00 per call) xTaskGetHandle/52 (xTaskGetHandle) @060772a0 Type: function definition analyzed Visibility: externally_visible public References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (216745 (estimated locally),1.35 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) strlen/110 (160260 (estimated locally),1.00 per call) prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @06077e00 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:25274560 (estimated locally) body local optimize_size Called by: xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (216745 (estimated locally),1.35 per call) Calls: pcTaskGetName/50 (pcTaskGetName) @06077b60 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @06077700 Type: function definition analyzed Visibility: externally_visible public References: uxCurrentNumberOfTasks/17 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @06077460 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call) xTaskGetTickCount/47 (xTaskGetTickCount) @060771c0 Type: function definition analyzed Visibility: externally_visible public References: xTickCount/18 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (xTaskResumeAll) @06060e00 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: uxTaskGetSystemState/53 (429496729 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call) Calls: xTaskResumeAll.part.0/137 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (vTaskSuspendAll) @06060d20 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: uxTaskGetSystemState/53 (429496728 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call) Calls: vTaskEndScheduler/44 (vTaskEndScheduler) @06060a80 Type: function definition analyzed Visibility: externally_visible public References: xSchedulerRunning/20 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call) vTaskStartScheduler/43 (vTaskStartScheduler) @060607e0 Type: function definition analyzed Visibility: externally_visible public References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read) Referring: Availability: available Function flags: count:395945 (estimated locally) body optimize_size Called by: Calls: xPortStartScheduler/108 (80139 (estimated locally),0.20 per call) xTimerCreateTimerTask/107 (80139 (estimated locally),0.20 per call) xTaskCreate/29 (395945 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (xTaskResumeFromISR) @06060540 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)xYieldPending/22 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (addr) Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vListInsertEnd/104 (20359 (estimated locally),0.09 per call) uxListRemove/103 (41335 (estimated locally),0.18 per call) prvTaskIsTaskSuspended/40 (123389 (estimated locally),0.53 per call) vPortValidateInterruptPriority/106 (123389 (estimated locally),0.53 per call) vTaskResume/41 (vTaskResume) @060601c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (133963 (estimated locally),0.37 per call) uxListRemove/103 (44208 (estimated locally),0.12 per call) prvTaskIsTaskSuspended/40 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call) prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @060529a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: xSuspendedTaskList/16 (addr) Referring: Availability: local Function flags: count:357913 (estimated locally) body local optimize_size Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) Calls: prvTaskIsTaskSuspended.part.0/114 (75162 (estimated locally),0.21 per call) vTaskSuspend/39 (vTaskSuspend) @06052e00 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)xSuspendedTaskList/16 (read)uxCurrentNumberOfTasks/17 (read)pxCurrentTCB/7 (write) Referring: Availability: available Function flags: count:1431653 (estimated locally) body optimize_size Called by: Calls: vTaskSwitchContext/57 (104969 (estimated locally),0.07 per call) vPortExitCritical/101 (472446 (estimated locally),0.33 per call) prvResetNextTaskUnblockTime/77 (472446 (estimated locally),0.33 per call) vPortEnterCritical/100 (472446 (estimated locally),0.33 per call) vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) vListInsertEnd/104 (1431653 (estimated locally),1.00 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call) vTaskPrioritySet/38 (vTaskPrioritySet) @060528c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write) Referring: Availability: available Function flags: count:160260 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) uxListRemove/103 (6084 (estimated locally),0.04 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @06052380 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call) uxTaskPriorityGet/36 (uxTaskPriorityGet) @06052000 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (eTaskGetState) @0603d2a0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr) Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) Calls: eTaskGetState.part.0/122 (11759 (estimated locally),0.03 per call) vPortExitCritical/101 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call) vTaskDelay/34 (vTaskDelay) @0603dc40 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:320519 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (52886 (estimated locally),0.17 per call) prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.17 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (xTaskDelayUntil) @0603d7e0 Type: function definition analyzed Visibility: externally_visible public References: uxSchedulerSuspended/28 (read)xTickCount/18 (read) Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/46 (35433 (estimated locally),0.12 per call) prvAddCurrentTaskToDelayedList/94 (17717 (estimated locally),0.06 per call) vTaskSuspendAll/45 (35433 (estimated locally),0.12 per call) vTaskDelete/32 (vTaskDelete) @0603d1c0 Type: function definition analyzed Visibility: externally_visible public References: pxCurrentTCB/7 (read)uxTaskNumber/24 (read)uxTaskNumber/24 (write)pxCurrentTCB/7 (read)xTasksWaitingTermination/14 (addr)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)uxSchedulerSuspended/28 (read) Referring: Availability: available Function flags: count:1431653 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call) vListInsertEnd/104 (429496 (estimated locally),0.30 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call) prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @0602b540 Type: function definition analyzed Visibility: prevailing_def_ironly References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxCurrentNumberOfTasks/17 (read)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxTaskNumber/24 (read)uxTaskNumber/24 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read) Referring: Availability: local Function flags: count:1073741821 (estimated locally) body local optimize_size Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call) Calls: vPortExitCritical/101 (1073741823 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (65197603 (estimated locally),0.06 per call) vPortEnterCritical/100 (1073741821 (estimated locally),1.00 per call) xTaskCreate/29 (xTaskCreate) @0602b700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call) Calls: prvAddNewTaskToReadyList/31 (306987179 (estimated locally),0.29 per call) prvInitialiseNewTask.isra.0/118 (306987179 (estimated locally),0.29 per call) vPortFree/96 (100070816 (estimated locally),0.09 per call) pvPortMalloc/95 (574129754 (estimated locally),0.53 per call) pvPortMalloc/95 (1073741824 (estimated locally),1.00 per call) uxSchedulerSuspended/28 (uxSchedulerSuspended) @060235a0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetSchedulerState/79 (read)xTaskIncrementTick/56 (read)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskGenericNotifyFromISR/90 (read)vTaskRemoveFromUnorderedEventList/62 (read)vTaskDelete/32 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskDelayUntil/33 (read)xTaskResumeFromISR/42 (read)vTaskDelay/34 (read)vTaskSwitchContext/57 (read)vTaskSuspend/39 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)vTaskGenericNotifyGiveFromISR/91 (read) Availability: available Varpool flags: initialized uxTopUsedPriority/27 (uxTopUsedPriority) @06023510 Type: variable definition analyzed Visibility: force_output externally_visible public References: Referring: vTaskStartScheduler/43 (read) Availability: available Varpool flags: initialized read-only xIdleTaskHandle/26 (xIdleTaskHandle) @06023480 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: vTaskStartScheduler/43 (addr) Availability: available Varpool flags: initialized xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @060233f0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvResetNextTaskUnblockTime.part.0/115 (write)prvAddCurrentTaskToDelayedList/94 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)prvResetNextTaskUnblockTime/77 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (write) Availability: available Varpool flags: initialized uxTaskNumber/24 (uxTaskNumber) @06023360 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write) Availability: available Varpool flags: initialized xNumOfOverflows/23 (xNumOfOverflows) @06023318 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read) Availability: available Varpool flags: initialized xYieldPending/22 (xYieldPending) @060232d0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: vTaskMissedYield/66 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (write)xTaskResumeAll.part.0/137 (write)xTaskResumeAll.part.0/137 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)xTaskResumeAll.part.0/137 (write)vTaskSwitchContext/57 (write)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: initialized xPendedTicks/21 (xPendedTicks) @06023240 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write) Availability: available Varpool flags: initialized xSchedulerRunning/20 (xSchedulerRunning) @060231b0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: vTaskDelete/32 (read)vTaskEndScheduler/44 (write)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (read)vTaskStartScheduler/43 (write)prvAddNewTaskToReadyList/31 (read)vTaskSuspend/39 (read)xTaskGetSchedulerState/79 (read) Availability: available Varpool flags: initialized uxTopReadyPriority/19 (uxTopReadyPriority) @06023120 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: initialized xTickCount/18 (xTickCount) @060230d8 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetTickCountFromISR/48 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)vTaskInternalSetTimeOutState/64 (read)xTaskGetTickCount/47 (read)xTaskIncrementTick.part.0/135 (write)xTaskDelayUntil/33 (read)vTaskSetTimeOutState/63 (read)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (read) Availability: available Varpool flags: initialized uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @06023090 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskResumeAll.part.0/137 (read)prvCheckTasksWaitingTermination/71 (read)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)uxTaskGetNumberOfTasks/49 (read)vTaskDelete/32 (read)uxTaskGetSystemState/53 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (write)prvAddNewTaskToReadyList/31 (read)vTaskList/84 (read)vTaskList/84 (read) Availability: available Varpool flags: initialized xSuspendedTaskList/16 (xSuspendedTaskList) @0601ff78 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: vTaskSuspend/39 (read)eTaskGetState/35 (addr)xTaskGetHandle/52 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (write)prvTaskIsTaskSuspended/40 (addr)prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (addr)vTaskSuspend/39 (addr)uxTaskGetSystemState/53 (addr) Availability: available Varpool flags: uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @0601fee8 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write) Availability: available Varpool flags: initialized xTasksWaitingTermination/14 (xTasksWaitingTermination) @0601fe58 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr) Availability: available Varpool flags: xPendingReadyList/13 (xPendingReadyList) @0601fdc8 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: xTaskGenericNotifyFromISR/90 (write)xTaskRemoveFromEventList/61 (write)prvTaskIsTaskSuspended.part.0/114 (addr)xTaskRemoveFromEventList/61 (read)prvInitialiseTaskLists/70 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskResumeFromISR/42 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @0601fd38 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: prvAddCurrentTaskToDelayedList/94 (read)xTaskGetHandle/52 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read) Availability: available Varpool flags: pxDelayedTaskList/11 (pxDelayedTaskList) @0601fcf0 Type: variable definition analyzed Visibility: force_output prevailing_def_ironly References: Referring: xTaskGetHandle/52 (read)prvResetNextTaskUnblockTime.part.0/115 (read)prvAddCurrentTaskToDelayedList/94 (read)prvResetNextTaskUnblockTime/77 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read) Availability: available Varpool flags: xDelayedTaskList2/10 (xDelayedTaskList2) @0601fca8 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr) Availability: available Varpool flags: xDelayedTaskList1/9 (xDelayedTaskList1) @0601fc18 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr) Availability: available Varpool flags: pxReadyTasksLists/8 (pxReadyTasksLists) @0601fb88 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (write)xTaskGenericNotify/89 (write)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvIdleTask/69 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)prvInitialiseTaskLists/70 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskRemoveFromEventList/61 (write)xTaskIncrementTick.part.0/135 (addr)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskResumeAll.part.0/137 (write)xTaskPriorityInherit/80 (addr)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskGetHandle/52 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (addr)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (read)vTaskPrioritySet/38 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)uxTaskGetSystemState/53 (addr)vTaskSwitchContext/57 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (addr)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)xTaskIncrementTick.part.0/135 (read)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)vTaskSwitchContext/57 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write) Availability: available Varpool flags: pxCurrentTCB/7 (pxCurrentTCB) @0601fb40 Type: variable definition analyzed Visibility: force_output externally_visible public References: Referring: ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyStateClear/92 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskDelete/32 (read)eTaskGetState/35 (read)prvAddNewTaskToReadyList/31 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)uxTaskPriorityGet/36 (read)vTaskDelete/32 (read)vTaskResume/41 (read)xTaskAbortDelay/55 (read)vTaskDelete/32 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)pcTaskGetName/50 (read)vTaskResume/41 (read)xTaskIncrementTick.part.0/135 (read)vTaskPrioritySet/38 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll.part.0/137 (read)vTaskSwitchContext/57 (write)ulTaskGenericNotifyTake/87 (read)prvAddNewTaskToReadyList/31 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)xTaskIncrementTick.part.0/135 (read)vTaskSuspend/39 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskCheckForTimeOut/65 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskGetInfo/72 (read)xTaskPriorityDisinherit/81 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnUnorderedEventList/59 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)ulTaskGenericNotifyValueClear/93 (read) Availability: available Varpool flags: initialized prvListTasksWithinSingleList.part.0 (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState) { struct TCB_t * pxNextTCB; struct TCB_t * pxFirstTCB; UBaseType_t uxTask; struct List_t * const pxConstList; struct List_t * const pxConstList; struct ListItem_t * _2; struct xLIST_ITEM * _3; struct MiniListItem_t * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct ListItem_t * _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct ListItem_t * _11; long unsigned int _14; struct TaskStatus_t * _16; [local count: 118111600]: [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_1(D) # DEBUG BEGIN_STMT _2 = pxList_1(D)->pxIndex; _3 = _2->pxNext; pxList_1(D)->pxIndex = _3; # DEBUG BEGIN_STMT _4 = &pxList_1(D)->xListEnd; if (_3 == _4) goto ; [30.00%] else goto ; [70.00%] [local count: 35433480]: # DEBUG BEGIN_STMT _5 = MEM[(struct ListItem_t *)_3].pxNext; pxList_1(D)->pxIndex = _5; [local count: 118111600]: # DEBUG BEGIN_STMT _6 = pxList_1(D)->pxIndex; pxFirstTCB_7 = _6->pvOwner; # DEBUG pxFirstTCB => pxFirstTCB_7 [local count: 1073741824]: # uxTask_13 = PHI <0(4), uxTask_18(8)> # DEBUG uxTask => uxTask_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_1(D) # DEBUG BEGIN_STMT _8 = pxList_1(D)->pxIndex; _9 = _8->pxNext; pxList_1(D)->pxIndex = _9; # DEBUG BEGIN_STMT if (_4 == _9) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: # DEBUG BEGIN_STMT _10 = MEM[(struct ListItem_t *)_9].pxNext; pxList_1(D)->pxIndex = _10; [local count: 1073741824]: # DEBUG BEGIN_STMT _11 = pxList_1(D)->pxIndex; pxNextTCB_12 = _11->pvOwner; # DEBUG pxNextTCB => pxNextTCB_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 = uxTask_13 * 36; _16 = pxTaskStatusArray_15(D) + _14; vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D)); # DEBUG BEGIN_STMT uxTask_18 = uxTask_13 + 1; # DEBUG uxTask => uxTask_18 # DEBUG BEGIN_STMT if (pxFirstTCB_7 != pxNextTCB_12) goto ; [89.00%] else goto ; [11.00%] [local count: 955630223]: goto ; [100.00%] [local count: 118111601]: # uxTask_19 = PHI # DEBUG uxTask => uxTask_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxTask_19; } __attribute__((used)) vTaskSwitchContext.part.0 () { UBaseType_t uxTopPriority; struct List_t * const pxConstList; uint32_t ulNewBASEPRI; [local count: 107374]: [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_1 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } xTaskResumeAll.part.0 () { struct TCB_t * pxTCB; BaseType_t xAlreadyYielded; struct List_t * const pxList; struct List_t * const pxList; struct ListItem_t * const pxIndex; TickType_t xPendedCounts; uint32_t ulNewBASEPRI; long unsigned int uxSchedulerSuspended.63_1; long unsigned int _2; long unsigned int uxSchedulerSuspended.64_3; long unsigned int uxCurrentNumberOfTasks.65_4; struct xLIST_ITEM * _5; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct ListItem_t * _11; struct ListItem_t * _12; long unsigned int _13; long unsigned int _14; struct xLIST_ITEM * _16; struct xLIST_ITEM * _17; struct ListItem_t * _18; struct ListItem_t * _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int uxTopReadyPriority.66_23; struct xLIST_ITEM * _25; struct xLIST_ITEM * _26; struct List_t * _27; long unsigned int _28; long unsigned int _29; struct TCB_t * pxCurrentTCB.67_30; long unsigned int _31; long unsigned int _32; long int _35; long int xYieldPending.68_38; [local count: 472446400]: [local count: 472446400]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxSchedulerSuspended.63_1 ={v} uxSchedulerSuspended; _2 = uxSchedulerSuspended.63_1 + 4294967295; uxSchedulerSuspended ={v} _2; # DEBUG BEGIN_STMT uxSchedulerSuspended.64_3 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.64_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 236223200]: # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.65_4 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.65_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 118111600]: goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _5 = xPendingReadyList.xListEnd.pxNext; pxTCB_6 = _5->pvOwner; # DEBUG pxTCB => pxTCB_6 # DEBUG BEGIN_STMT pxList_7 = pxTCB_6->xEventListItem.pvContainer; # DEBUG pxList => pxList_7 # DEBUG BEGIN_STMT _8 = pxTCB_6->xEventListItem.pxNext; _9 = pxTCB_6->xEventListItem.pxPrevious; _8->pxPrevious = _9; # DEBUG BEGIN_STMT _10 = pxTCB_6->xEventListItem.pxPrevious; _10->pxNext = _8; # DEBUG BEGIN_STMT _11 = pxList_7->pxIndex; _12 = &pxTCB_6->xEventListItem; if (_11 == _12) goto ; [30.00%] else goto ; [70.00%] [local count: 286689066]: # DEBUG BEGIN_STMT pxList_7->pxIndex = _9; [local count: 955630223]: # DEBUG BEGIN_STMT pxTCB_6->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _13 ={v} pxList_7->uxNumberOfItems; _14 = _13 + 4294967295; pxList_7->uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__("" : : : "memory"); # DEBUG BEGIN_STMT pxList_15 = pxTCB_6->xStateListItem.pvContainer; # DEBUG pxList => pxList_15 # DEBUG BEGIN_STMT _16 = pxTCB_6->xStateListItem.pxNext; _17 = pxTCB_6->xStateListItem.pxPrevious; _16->pxPrevious = _17; # DEBUG BEGIN_STMT _17->pxNext = _16; # DEBUG BEGIN_STMT _18 = pxList_15->pxIndex; _19 = &pxTCB_6->xStateListItem; if (_18 == _19) goto ; [30.00%] else goto ; [70.00%] [local count: 286689066]: # DEBUG BEGIN_STMT pxList_15->pxIndex = _17; [local count: 955630223]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _20 ={v} pxList_15->uxNumberOfItems; _21 = _20 + 4294967295; pxList_15->uxNumberOfItems ={v} _21; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _22 = pxTCB_6->uxPriority; uxTopReadyPriority.66_23 ={v} uxTopReadyPriority; if (_22 > uxTopReadyPriority.66_23) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _22; [local count: 955630223]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_24 = pxReadyTasksLists[_22].pxIndex; # DEBUG pxIndex => pxIndex_24 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTCB_6->xStateListItem.pxNext = pxIndex_24; # DEBUG BEGIN_STMT _25 = pxIndex_24->pxPrevious; pxTCB_6->xStateListItem.pxPrevious = _25; # DEBUG BEGIN_STMT _26 = pxIndex_24->pxPrevious; _26->pxNext = _19; # DEBUG BEGIN_STMT pxIndex_24->pxPrevious = _19; # DEBUG BEGIN_STMT _27 = &pxReadyTasksLists[_22]; pxTCB_6->xStateListItem.pvContainer = _27; # DEBUG BEGIN_STMT _28 ={v} pxReadyTasksLists[_22].uxNumberOfItems; _29 = _28 + 1; pxReadyTasksLists[_22].uxNumberOfItems ={v} _29; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.67_30 ={v} pxCurrentTCB; _31 = pxCurrentTCB.67_30->uxPriority; if (_22 >= _31) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 955630223]: # pxTCB_40 = PHI [local count: 1073741824]: # pxTCB_41 = PHI <0B(4), pxTCB_40(13)> # DEBUG pxTCB => pxTCB_41 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _32 ={v} xPendingReadyList.uxNumberOfItems; if (_32 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # pxTCB_33 = PHI # DEBUG BEGIN_STMT if (pxTCB_33 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 63154273]: # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); [local count: 118111601]: # DEBUG BEGIN_STMT xPendedCounts_34 ={v} xPendedTicks; # DEBUG xPendedCounts => xPendedCounts_34 # DEBUG BEGIN_STMT if (xPendedCounts_34 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 59055800]: [local count: 536870915]: # xPendedCounts_36 = PHI # DEBUG xPendedCounts => xPendedCounts_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _35 = xTaskIncrementTick (); if (_35 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435457]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 536870915]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xPendedCounts_37 = xPendedCounts_36 + 4294967295; # DEBUG xPendedCounts => xPendedCounts_37 # DEBUG BEGIN_STMT if (xPendedCounts_37 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 477815113]: goto ; [100.00%] [local count: 59055801]: # DEBUG BEGIN_STMT xPendedTicks ={v} 0; [local count: 118111601]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldPending.68_38 ={v} xYieldPending; if (xYieldPending.68_38 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 59055800]: # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 1 # 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: 472446401]: # xAlreadyYielded_39 = PHI <0(2), 0(3), 0(24), 1(25)> # DEBUG xAlreadyYielded => xAlreadyYielded_39 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xAlreadyYielded_39; } xTaskIncrementTick.part.0 () { struct TCB_t * pxTCB; TickType_t xItemValue; BaseType_t xSwitchRequired; const TickType_t xConstTickCount; struct List_t * pxTemp; struct List_t * const pxList; struct List_t * const pxList; struct ListItem_t * const pxIndex; uint32_t ulNewBASEPRI; long unsigned int xTickCount.80_1; struct List_t * pxDelayedTaskList.81_3; long unsigned int _4; struct List_t * pxOverflowDelayedTaskList.82_7; long int xNumOfOverflows.83_8; long int _9; long unsigned int xNextTaskUnblockTime.84_10; struct List_t * pxDelayedTaskList.85_11; long unsigned int _12; struct List_t * pxDelayedTaskList.86_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _19; struct xLIST_ITEM * _20; struct ListItem_t * _21; struct ListItem_t * _22; long unsigned int _23; long unsigned int _24; struct xLIST * _25; struct xLIST_ITEM * _26; struct xLIST_ITEM * _27; struct xLIST_ITEM * _28; struct ListItem_t * _29; struct ListItem_t * _30; long unsigned int _31; long unsigned int _32; long unsigned int _33; long unsigned int uxTopReadyPriority.87_34; struct xLIST_ITEM * _36; struct xLIST_ITEM * _37; struct List_t * _38; long unsigned int _39; long unsigned int _40; struct TCB_t * pxCurrentTCB.88_41; long unsigned int _42; struct TCB_t * pxCurrentTCB.89_43; long unsigned int _44; long unsigned int _45; long int xYieldPending.90_46; [local count: 320519]: [local count: 320519]: # DEBUG BEGIN_STMT xTickCount.80_1 ={v} xTickCount; xConstTickCount_2 = xTickCount.80_1 + 1; # DEBUG xConstTickCount => xConstTickCount_2 # DEBUG BEGIN_STMT xTickCount ={v} xConstTickCount_2; # DEBUG BEGIN_STMT if (xConstTickCount_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxDelayedTaskList.81_3 ={v} pxDelayedTaskList; _4 ={v} pxDelayedTaskList.81_3->uxNumberOfItems; if (_4 != 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_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: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTemp_6 ={v} pxDelayedTaskList; # DEBUG pxTemp => pxTemp_6 # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.82_7 ={v} pxOverflowDelayedTaskList; pxDelayedTaskList ={v} pxOverflowDelayedTaskList.82_7; # DEBUG BEGIN_STMT pxOverflowDelayedTaskList ={v} pxTemp_6; # DEBUG BEGIN_STMT xNumOfOverflows.83_8 ={v} xNumOfOverflows; _9 = xNumOfOverflows.83_8 + 1; xNumOfOverflows ={v} _9; # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); # DEBUG BEGIN_STMT [local count: 213145]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xNextTaskUnblockTime.84_10 ={v} xNextTaskUnblockTime; if (xConstTickCount_2 >= xNextTaskUnblockTime.84_10) goto ; [50.00%] else goto ; [50.00%] [local count: 106573]: goto ; [100.00%] [local count: 889667]: # xSwitchRequired_48 = PHI [local count: 996239]: # xSwitchRequired_49 = PHI <0(9), xSwitchRequired_48(10)> # DEBUG xSwitchRequired => xSwitchRequired_49 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxDelayedTaskList.85_11 ={v} pxDelayedTaskList; _12 ={v} pxDelayedTaskList.85_11->uxNumberOfItems; if (_12 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 54793]: # xSwitchRequired_50 = PHI # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 941446]: # DEBUG BEGIN_STMT pxDelayedTaskList.86_13 ={v} pxDelayedTaskList; _14 = pxDelayedTaskList.86_13->xListEnd.pxNext; pxTCB_15 = _14->pvOwner; # DEBUG pxTCB => pxTCB_15 # DEBUG BEGIN_STMT xItemValue_16 = pxTCB_15->xStateListItem.xItemValue; # DEBUG xItemValue => xItemValue_16 # DEBUG BEGIN_STMT if (xConstTickCount_2 < xItemValue_16) goto ; [5.50%] else goto ; [94.50%] [local count: 51780]: # xSwitchRequired_51 = PHI # xItemValue_17 = PHI # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} xItemValue_17; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_18 = pxTCB_15->xStateListItem.pvContainer; # DEBUG pxList => pxList_18 # DEBUG BEGIN_STMT _19 = pxTCB_15->xStateListItem.pxNext; _20 = pxTCB_15->xStateListItem.pxPrevious; _19->pxPrevious = _20; # DEBUG BEGIN_STMT _20->pxNext = _19; # DEBUG BEGIN_STMT _21 = pxList_18->pxIndex; _22 = &pxTCB_15->xStateListItem; if (_21 == _22) goto ; [30.00%] else goto ; [70.00%] [local count: 266900]: # DEBUG BEGIN_STMT pxList_18->pxIndex = _20; [local count: 889667]: # DEBUG BEGIN_STMT pxTCB_15->xStateListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _23 ={v} pxList_18->uxNumberOfItems; _24 = _23 + 4294967295; pxList_18->uxNumberOfItems ={v} _24; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _25 = pxTCB_15->xEventListItem.pvContainer; if (_25 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 622767]: # DEBUG BEGIN_STMT # DEBUG pxList => _25 # DEBUG BEGIN_STMT _26 = pxTCB_15->xEventListItem.pxNext; _27 = pxTCB_15->xEventListItem.pxPrevious; _26->pxPrevious = _27; # DEBUG BEGIN_STMT _28 = pxTCB_15->xEventListItem.pxPrevious; _28->pxNext = _26; # DEBUG BEGIN_STMT _29 = MEM[(struct List_t *)_25].pxIndex; _30 = &pxTCB_15->xEventListItem; if (_29 == _30) goto ; [30.00%] else goto ; [70.00%] [local count: 186830]: # DEBUG BEGIN_STMT MEM[(struct List_t *)_25].pxIndex = _28; [local count: 622767]: # DEBUG BEGIN_STMT pxTCB_15->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _31 ={v} MEM[(struct List_t *)_25].uxNumberOfItems; _32 = _31 + 4294967295; MEM[(struct List_t *)_25].uxNumberOfItems ={v} _32; # DEBUG BEGIN_STMT [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _33 = pxTCB_15->uxPriority; uxTopReadyPriority.87_34 ={v} uxTopReadyPriority; if (_33 > uxTopReadyPriority.87_34) goto ; [50.00%] else goto ; [50.00%] [local count: 444833]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _33; [local count: 889667]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_35 = pxReadyTasksLists[_33].pxIndex; # DEBUG pxIndex => pxIndex_35 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxTCB_15->xStateListItem.pxNext = pxIndex_35; # DEBUG BEGIN_STMT _36 = pxIndex_35->pxPrevious; pxTCB_15->xStateListItem.pxPrevious = _36; # DEBUG BEGIN_STMT _37 = pxIndex_35->pxPrevious; _37->pxNext = _22; # DEBUG BEGIN_STMT pxIndex_35->pxPrevious = _22; # DEBUG BEGIN_STMT _38 = &pxReadyTasksLists[_33]; pxTCB_15->xStateListItem.pvContainer = _38; # DEBUG BEGIN_STMT _39 ={v} pxReadyTasksLists[_33].uxNumberOfItems; _40 = _39 + 1; pxReadyTasksLists[_33].uxNumberOfItems ={v} _40; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.88_41 ={v} pxCurrentTCB; _42 = pxCurrentTCB.88_41->uxPriority; if (_33 >= _42) goto ; [50.00%] else goto ; [50.00%] [local count: 444833]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 goto ; [100.00%] [local count: 213145]: # xSwitchRequired_52 = PHI <0(8), xSwitchRequired_50(12), xSwitchRequired_51(14)> # DEBUG xSwitchRequired => xSwitchRequired_52 # DEBUG BEGIN_STMT pxCurrentTCB.89_43 ={v} pxCurrentTCB; _44 = pxCurrentTCB.89_43->uxPriority; _45 ={v} pxReadyTasksLists[_44].uxNumberOfItems; if (_45 > 1) goto ; [59.00%] else goto ; [41.00%] [local count: 125756]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 [local count: 213145]: # xSwitchRequired_53 = PHI # DEBUG xSwitchRequired => xSwitchRequired_53 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xYieldPending.90_46 ={v} xYieldPending; if (xYieldPending.90_46 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 106573]: # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 1 [local count: 213145]: # xSwitchRequired_47 = PHI # DEBUG xSwitchRequired => xSwitchRequired_47 # DEBUG BEGIN_STMT return xSwitchRequired_47; } eTaskGetState.part.0 (struct tskTaskControlBlock * xTask) { eTaskState eReturn; const struct List_t * pxStateList; const struct List_t * pxDelayedList; const struct List_t * pxOverflowedDelayedList; const struct TCB_t * const pxTCB; BaseType_t x; uint32_t ulNewBASEPRI; unsigned char _2; [local count: 566398813]: goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 ={v} MEM[(const struct TCB_t *)xTask_1(D)].ucNotifyState[0]; if (_2 == 1) goto ; [5.50%] else goto ; [94.50%] [local count: 507343012]: [local count: 1073741824]: # x_3 = PHI <1(3), 0(6)> # DEBUG eReturn => NULL # DEBUG x => x_3 # DEBUG BEGIN_STMT if (x_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 566398813]: # eReturn_4 = PHI <2(2), 3(4)> # DEBUG eReturn => eReturn_4 # DEBUG BEGIN_STMT return eReturn_4; } prvAddCurrentTaskToDelayedList.part.0 () { TickType_t xTimeToWake; const TickType_t xConstTickCount; struct ListItem_t * const pxIndex; TickType_t xTicksToWait; const BaseType_t xCanBlockIndefinitely; struct TCB_t * pxCurrentTCB.25_2; struct TCB_t * pxCurrentTCB.26_3; struct xLIST_ITEM * _4; struct TCB_t * pxCurrentTCB.27_5; struct xLIST_ITEM * _6; struct ListItem_t * _7; struct TCB_t * pxCurrentTCB.28_8; struct ListItem_t * _9; struct TCB_t * pxCurrentTCB.29_10; long unsigned int _11; long unsigned int _12; [local count: 1073741824]: # DEBUG D#5 s=> xTicksToWait # DEBUG xTicksToWait => D#5 # DEBUG D#4 s=> xCanBlockIndefinitely # DEBUG xCanBlockIndefinitely => D#4 [local count: 1073741824]: # DEBUG BEGIN_STMT pxIndex_1 = xSuspendedTaskList.pxIndex; # DEBUG pxIndex => pxIndex_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.25_2 ={v} pxCurrentTCB; pxCurrentTCB.25_2->xStateListItem.pxNext = pxIndex_1; # DEBUG BEGIN_STMT pxCurrentTCB.26_3 ={v} pxCurrentTCB; _4 = pxIndex_1->pxPrevious; pxCurrentTCB.26_3->xStateListItem.pxPrevious = _4; # DEBUG BEGIN_STMT pxCurrentTCB.27_5 ={v} pxCurrentTCB; _6 = pxIndex_1->pxPrevious; _7 = &pxCurrentTCB.27_5->xStateListItem; _6->pxNext = _7; # DEBUG BEGIN_STMT pxCurrentTCB.28_8 ={v} pxCurrentTCB; _9 = &pxCurrentTCB.28_8->xStateListItem; pxIndex_1->pxPrevious = _9; # DEBUG BEGIN_STMT pxCurrentTCB.29_10 ={v} pxCurrentTCB; pxCurrentTCB.29_10->xStateListItem.pvContainer = &xSuspendedTaskList; # DEBUG BEGIN_STMT _11 ={v} xSuspendedTaskList.uxNumberOfItems; _12 = _11 + 1; xSuspendedTaskList.uxNumberOfItems ={v} _12; # DEBUG BEGIN_STMT [local count: 1073741824]: # DEBUG BEGIN_STMT return; } prvInitialiseNewTask.isra.0 (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask, struct TCB_t * pxNewTCB) { StackType_t * pxTopOfStack; UBaseType_t x; uint32_t ulNewBASEPRI; StackType_t * _2; unsigned int _4; StackType_t * _5; sizetype _6; sizetype _7; long unsigned int pxTopOfStack.0_9; long unsigned int _10; const char * _14; char _15; char _16; struct ListItem_t * _20; struct ListItem_t * _21; long unsigned int _22; volatile uint32_t * _23; volatile uint8_t * _24; StackType_t * _27; [local count: 160260]: # DEBUG xRegions s=> xRegions [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxNewTCB_1(D)->pxStack; _4 = ulStackDepth_3(D) * 4; memset (_2, 165, _4); # DEBUG BEGIN_STMT _5 = pxNewTCB_1(D)->pxStack; _6 = ulStackDepth_3(D) + 1073741823; _7 = _6 * 4; pxTopOfStack_8 = _5 + _7; # DEBUG pxTopOfStack => pxTopOfStack_8 # DEBUG BEGIN_STMT pxTopOfStack.0_9 = (long unsigned int) pxTopOfStack_8; _10 = pxTopOfStack.0_9 & 4294967288; pxTopOfStack_11 = (StackType_t *) _10; # DEBUG pxTopOfStack => pxTopOfStack_11 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pcName_12(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 112182]: goto ; [100.00%] [local count: 723805]: # DEBUG BEGIN_STMT _14 = pcName_12(D) + x_13; _15 = *_14; pxNewTCB_1(D)->pcTaskName[x_13] = _15; # DEBUG BEGIN_STMT _16 = *_14; if (_16 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 683996]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT x_17 = x_13 + 1; # DEBUG x => x_17 [local count: 796177]: # x_13 = PHI <0(3), x_17(5)> # DEBUG x => x_13 # DEBUG BEGIN_STMT if (x_13 != 10) goto ; [90.91%] else goto ; [9.09%] [local count: 112182]: # DEBUG BEGIN_STMT pxNewTCB_1(D)->pcTaskName[9] = 0; goto ; [100.00%] [local count: 48078]: # DEBUG BEGIN_STMT pxNewTCB_1(D)->pcTaskName[0] = 0; [local count: 160260]: # DEBUG BEGIN_STMT if (uxPriority_18(D) > 4) 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_19 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_19 [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 # DEBUG uxPriority => uxPriority_18(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxPriority = uxPriority_18(D); # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxBasePriority = uxPriority_18(D); # DEBUG BEGIN_STMT pxNewTCB_1(D)->uxMutexesHeld = 0; # DEBUG BEGIN_STMT _20 = &pxNewTCB_1(D)->xStateListItem; vListInitialiseItem (_20); # DEBUG BEGIN_STMT _21 = &pxNewTCB_1(D)->xEventListItem; vListInitialiseItem (_21); # DEBUG BEGIN_STMT pxNewTCB_1(D)->xStateListItem.pvOwner = pxNewTCB_1(D); # DEBUG BEGIN_STMT _22 = 5 - uxPriority_18(D); pxNewTCB_1(D)->xEventListItem.xItemValue = _22; # DEBUG BEGIN_STMT pxNewTCB_1(D)->xEventListItem.pvOwner = pxNewTCB_1(D); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _23 = &pxNewTCB_1(D)->ulNotifiedValue[0]; memset (_23, 0, 4); # DEBUG BEGIN_STMT _24 = &pxNewTCB_1(D)->ucNotifyState[0]; memset (_24, 0, 1); # DEBUG BEGIN_STMT pxNewTCB_1(D)->ucDelayAborted = 0; # DEBUG BEGIN_STMT _27 = pxPortInitialiseStack (pxTopOfStack_11, pxTaskCode_25(D), pvParameters_26(D)); pxNewTCB_1(D)->pxTopOfStack = _27; # DEBUG BEGIN_STMT if (pxCreatedTask_28(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT *pxCreatedTask_28(D) = pxNewTCB_1(D); [local count: 52886]: # DEBUG BEGIN_STMT return; } prvResetNextTaskUnblockTime.part.0 () { struct List_t * pxDelayedTaskList.21_1; struct xLIST_ITEM * _2; long unsigned int _3; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT pxDelayedTaskList.21_1 ={v} pxDelayedTaskList; _2 = pxDelayedTaskList.21_1->xListEnd.pxNext; _3 = _2->xItemValue; xNextTaskUnblockTime ={v} _3; [local count: 1073741824]: return; } prvTaskIsTaskSuspended.part.0 (struct tskTaskControlBlock * const xTask) { BaseType_t xReturn; const struct TCB_t * const pxTCB; uint32_t ulNewBASEPRI; struct xLIST * _2; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT _2 = MEM[(const struct TCB_t *)xTask_1(D)].xEventListItem.pvContainer; if (_2 != &xPendingReadyList) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 225485783]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_3 = PHI <0(2), 0(3), 1(4)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely) { const TickType_t xConstTickCount; TickType_t xTimeToWake; struct TCB_t * pxCurrentTCB.23_1; struct TCB_t * pxCurrentTCB.24_2; struct ListItem_t * _3; struct TCB_t * pxCurrentTCB.30_5; struct List_t * pxOverflowDelayedTaskList.31_6; struct TCB_t * pxCurrentTCB.32_7; struct ListItem_t * _8; struct List_t * pxDelayedTaskList.33_9; struct TCB_t * pxCurrentTCB.34_10; struct ListItem_t * _11; long unsigned int xNextTaskUnblockTime.35_12; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xConstTickCount_14 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_14 # DEBUG BEGIN_STMT pxCurrentTCB.23_1 ={v} pxCurrentTCB; pxCurrentTCB.23_1->ucDelayAborted = 0; # DEBUG BEGIN_STMT pxCurrentTCB.24_2 ={v} pxCurrentTCB; _3 = &pxCurrentTCB.24_2->xStateListItem; uxListRemove (_3); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTicksToWait_17(D) == 4294967295) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: if (xCanBlockIndefinitely_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 182536110]: # DEBUG D#2 => xTicksToWait_17(D) # DEBUG D#3 => xCanBlockIndefinitely_18(D) prvAddCurrentTaskToDelayedList.part.0 (); goto ; [100.00%] [local count: 891205713]: # DEBUG BEGIN_STMT xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D); # DEBUG xTimeToWake => xTimeToWake_19 # DEBUG BEGIN_STMT pxCurrentTCB.30_5 ={v} pxCurrentTCB; pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19; # DEBUG BEGIN_STMT if (xConstTickCount_14 > xTimeToWake_19) goto ; [50.00%] else goto ; [50.00%] [local count: 445602856]: # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList; pxCurrentTCB.32_7 ={v} pxCurrentTCB; _8 = &pxCurrentTCB.32_7->xStateListItem; vListInsert (pxOverflowDelayedTaskList.31_6, _8); goto ; [100.00%] [local count: 445602856]: # DEBUG BEGIN_STMT pxDelayedTaskList.33_9 ={v} pxDelayedTaskList; pxCurrentTCB.34_10 ={v} pxCurrentTCB; _11 = &pxCurrentTCB.34_10->xStateListItem; vListInsert (pxDelayedTaskList.33_9, _11); # DEBUG BEGIN_STMT xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime; if (xNextTaskUnblockTime.35_12 > xTimeToWake_19) goto ; [50.00%] else goto ; [50.00%] [local count: 222801428]: # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} xTimeToWake_19; [local count: 1073741824]: # DEBUG BEGIN_STMT return; } ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear) { uint32_t ulReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct TCB_t * iftmp.164_4; struct TCB_t * iftmp.164_7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_5(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.164_7 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.164_4 = PHI # DEBUG pxTCB => iftmp.164_4 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)]; # DEBUG ulReturn => ulReturn_10 # DEBUG BEGIN_STMT _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)]; _2 = ~ulBitsToClear_11(D); _3 = _1 & _2; iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return ulReturn_10; } xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear) { uint32_t ulNewBASEPRI; BaseType_t xReturn; unsigned char _1; struct TCB_t * iftmp.163_3; struct TCB_t * iftmp.163_8; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToClear_5(D) != 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_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: 107374]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_6(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 32212]: iftmp.163_8 ={v} pxCurrentTCB; [local count: 107374]: # iftmp.163_3 = PHI # DEBUG pxTCB => iftmp.163_3 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} iftmp.163_3->ucNotifyState[0]; if (_1 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 36507]: # DEBUG BEGIN_STMT iftmp.163_3->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 107374]: # xReturn_2 = PHI <1(8), 0(7)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_2; } vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; uint8_t ucOriginalNotifyState; long unsigned int _1; long unsigned int _2; struct xLIST * _3; long unsigned int uxSchedulerSuspended.160_4; struct xLIST_ITEM * _5; struct xLIST_ITEM * _6; struct xLIST_ITEM * _7; struct ListItem_t * _8; struct ListItem_t * _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int uxTopReadyPriority.161_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; struct xLIST_ITEM * _19; struct xLIST_ITEM * _20; struct ListItem_t * _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; struct TCB_t * pxCurrentTCB.162_25; long unsigned int _26; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToNotify_32(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_62 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_62 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_33(D) != 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_63 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_63 [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 pxTCB => xTaskToNotify_32(D) # 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_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_65 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64 # DEBUG BEGIN_STMT ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0]; _2 = _1 + 1; MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 17981]: # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer; if (_3 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 12587]: # 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: 125868183]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 125868183]: goto ; [100.00%] [local count: 5394]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.160_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2697]: # DEBUG BEGIN_STMT pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_46 # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext; _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious; _5->pxPrevious = _6; # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious; _7->pxNext = _5; # DEBUG BEGIN_STMT _8 = pxList_46->pxIndex; _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem; if (_8 == _9) goto ; [30.00%] else goto ; [70.00%] [local count: 809]: # DEBUG BEGIN_STMT pxList_46->pxIndex = _7; [local count: 2697]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _10 ={v} pxList_46->uxNumberOfItems; _11 = _10 + 4294967295; pxList_46->uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority; uxTopReadyPriority.161_13 ={v} uxTopReadyPriority; if (_12 > uxTopReadyPriority.161_13) goto ; [50.00%] else goto ; [50.00%] [local count: 1349]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _12; [local count: 2697]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_52 = pxReadyTasksLists[_12].pxIndex; # DEBUG pxIndex => pxIndex_52 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52; # DEBUG BEGIN_STMT _14 = pxIndex_52->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14; # DEBUG BEGIN_STMT _15 = pxIndex_52->pxPrevious; _15->pxNext = _9; # DEBUG BEGIN_STMT pxIndex_52->pxPrevious = _9; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_12]; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_12].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 2697]: # DEBUG BEGIN_STMT pxIndex_39 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_39 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39; # DEBUG BEGIN_STMT _19 = pxIndex_39->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19; # DEBUG BEGIN_STMT _20 = pxIndex_39->pxPrevious; _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem; _20->pxNext = _21; # DEBUG BEGIN_STMT pxIndex_39->pxPrevious = _21; # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _22 ={v} xPendingReadyList.uxNumberOfItems; _23 = _22 + 1; xPendingReadyList.uxNumberOfItems ={v} _23; [local count: 5394]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority; pxCurrentTCB.162_25 ={v} pxCurrentTCB; _26 = pxCurrentTCB.162_25->uxPriority; if (_24 > _26) goto ; [50.00%] else goto ; [50.00%] [local count: 2697]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_59(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1888]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_59(D) = 1; [local count: 2697]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 40299]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory"); # DEBUG ulNewMaskValue => NULL return; } xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; BaseType_t xReturn; uint8_t ucOriginalNotifyState; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int xTickCount.156_6; struct xLIST * _7; long unsigned int uxSchedulerSuspended.157_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.158_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct xLIST_ITEM * _23; struct xLIST_ITEM * _24; struct ListItem_t * _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; struct TCB_t * pxCurrentTCB.159_29; long unsigned int _30; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToNotify_39(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_76 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_76 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_40(D) != 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_77 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_77 [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 pxTCB => xTaskToNotify_39(D) # 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_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_79 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78 # DEBUG BEGIN_STMT if (pulPreviousNotificationValue_43(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; *pulPreviousNotificationValue_43(D) = _1; [local count: 52886]: # DEBUG BEGIN_STMT ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT switch (eAction_47(D)) [16.67%], case 0: [16.67%], case 1: [16.67%], case 2: [16.67%], case 3: [16.67%], case 4: [16.67%]> [local count: 8816]: : # DEBUG BEGIN_STMT _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; _3 = _2 | ulValue_48(D); MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0]; _5 = _4 + 1; MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT if (ucOriginalNotifyState_45 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 5819]: # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D); goto ; [100.00%] [local count: 8816]: : # DEBUG BEGIN_STMT xTickCount.156_6 ={v} xTickCount; if (xTickCount.156_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4408]: # 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_80 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_80 [local count: 44080307]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 44080307]: goto ; [100.00%] [local count: 48488]: # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)> : # DEBUG xReturn => xReturn_31 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_45 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 16486]: # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 11540]: # 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_81 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_81 [local count: 115402244]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 115402244]: goto ; [100.00%] [local count: 4946]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.157_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2473]: # DEBUG BEGIN_STMT pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_60 # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext; _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_60->pxIndex; _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 742]: # DEBUG BEGIN_STMT pxList_60->pxIndex = _11; [local count: 2473]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_60->uxNumberOfItems; _15 = _14 + 4294967295; pxList_60->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority; uxTopReadyPriority.158_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.158_17) goto ; [50.00%] else goto ; [50.00%] [local count: 1236]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 2473]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_66 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_66 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66; # DEBUG BEGIN_STMT _18 = pxIndex_66->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_66->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_66->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 2473]: # DEBUG BEGIN_STMT pxIndex_53 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_53 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53; # DEBUG BEGIN_STMT _23 = pxIndex_53->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23; # DEBUG BEGIN_STMT _24 = pxIndex_53->pxPrevious; _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem; _24->pxNext = _25; # DEBUG BEGIN_STMT pxIndex_53->pxPrevious = _25; # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _26 ={v} xPendingReadyList.uxNumberOfItems; _27 = _26 + 1; xPendingReadyList.uxNumberOfItems ={v} _27; [local count: 4946]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority; pxCurrentTCB.159_29 ={v} pxCurrentTCB; _30 = pxCurrentTCB.159_29->uxPriority; if (_28 > _30) goto ; [50.00%] else goto ; [50.00%] [local count: 2473]: # DEBUG BEGIN_STMT if (pxHigherPriorityTaskWoken_73(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1731]: # DEBUG BEGIN_STMT *pxHigherPriorityTaskWoken_73(D) = 1; [local count: 2473]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 36948]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_31; } xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct List_t * const pxList; uint8_t ucOriginalNotifyState; BaseType_t xReturn; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int xTickCount.153_6; struct xLIST_ITEM * _7; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct ListItem_t * _10; struct ListItem_t * _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int uxTopReadyPriority.154_15; struct xLIST_ITEM * _16; struct xLIST_ITEM * _17; struct List_t * _18; long unsigned int _19; long unsigned int _20; struct xLIST * _21; struct TCB_t * pxCurrentTCB.155_22; long unsigned int _23; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToNotify_30(D) != 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_61 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_61 [local count: 1073741824]: # 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 if (xTaskToNotify_31(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 49961]: # 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_62 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_62 [local count: 499612071]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 499612071]: goto ; [100.00%] [local count: 57413]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToNotify_31(D) # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (pulPreviousNotificationValue_34(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 40189]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; *pulPreviousNotificationValue_34(D) = _1; [local count: 57413]: # DEBUG BEGIN_STMT ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0]; # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2; # DEBUG BEGIN_STMT switch (eAction_38(D)) [16.67%], case 0: [16.67%], case 1: [16.67%], case 2: [16.67%], case 3: [16.67%], case 4: [16.67%]> [local count: 9571]: : # DEBUG BEGIN_STMT _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; _3 = _2 | ulValue_39(D); MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0]; _5 = _4 + 1; MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 6317]: # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D); goto ; [100.00%] [local count: 9571]: : # DEBUG BEGIN_STMT xTickCount.153_6 ={v} xTickCount; if (xTickCount.153_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4785]: # 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_63 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_63 [local count: 47853715]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 47853715]: goto ; [100.00%] [local count: 52639]: # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)> : # DEBUG xReturn => xReturn_24 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (ucOriginalNotifyState_36 == 1) goto ; [51.12%] else goto ; [48.88%] [local count: 26909]: # DEBUG BEGIN_STMT pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer; # DEBUG pxList => pxList_44 # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext; _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious; _7->pxPrevious = _8; # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious; _9->pxNext = _7; # DEBUG BEGIN_STMT _10 = pxList_44->pxIndex; _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem; if (_10 == _11) goto ; [30.00%] else goto ; [70.00%] [local count: 8073]: # DEBUG BEGIN_STMT pxList_44->pxIndex = _9; [local count: 26909]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 ={v} pxList_44->uxNumberOfItems; _13 = _12 + 4294967295; pxList_44->uxNumberOfItems ={v} _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority; uxTopReadyPriority.154_15 ={v} uxTopReadyPriority; if (_14 > uxTopReadyPriority.154_15) goto ; [50.00%] else goto ; [50.00%] [local count: 13455]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _14; [local count: 26909]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_50 = pxReadyTasksLists[_14].pxIndex; # DEBUG pxIndex => pxIndex_50 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50; # DEBUG BEGIN_STMT _16 = pxIndex_50->pxPrevious; MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16; # DEBUG BEGIN_STMT _17 = pxIndex_50->pxPrevious; _17->pxNext = _11; # DEBUG BEGIN_STMT pxIndex_50->pxPrevious = _11; # DEBUG BEGIN_STMT _18 = &pxReadyTasksLists[_14]; MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18; # DEBUG BEGIN_STMT _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems; _20 = _19 + 1; pxReadyTasksLists[_14].uxNumberOfItems ={v} _20; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer; if (_21 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 18836]: # 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: 188363707]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 188363706]: goto ; [100.00%] [local count: 8073]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.155_22 ={v} pxCurrentTCB; _23 = pxCurrentTCB.155_22->uxPriority; if (_14 > _23) goto ; [50.00%] else goto ; [50.00%] [local count: 4036]: # 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: 33803]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_24; } xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct TCB_t * pxCurrentTCB.146_1; unsigned char _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct TCB_t * pxCurrentTCB.148_6; struct TCB_t * pxCurrentTCB.149_7; long unsigned int _8; struct TCB_t * pxCurrentTCB.150_9; unsigned char _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; struct TCB_t * pxCurrentTCB.152_14; struct TCB_t * pxCurrentTCB.147_22; struct TCB_t * pxCurrentTCB.151_35; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToWait_19(D) != 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_40 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_40 [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 vPortEnterCritical (); # DEBUG BEGIN_STMT pxCurrentTCB.146_1 ={v} pxCurrentTCB; _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0]; if (_2 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 34905]: # DEBUG BEGIN_STMT pxCurrentTCB.147_22 ={v} pxCurrentTCB; _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0]; _4 = ~ulBitsToClearOnEntry_23(D); _5 = _3 & _4; pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5; # DEBUG BEGIN_STMT pxCurrentTCB.148_6 ={v} pxCurrentTCB; pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1; # DEBUG BEGIN_STMT if (xTicksToWait_26(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 11519]: # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1); # DEBUG BEGIN_STMT # 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: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pulNotificationValue_33(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37020]: # DEBUG BEGIN_STMT pxCurrentTCB.149_7 ={v} pxCurrentTCB; _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0]; *pulNotificationValue_33(D) = _8; [local count: 52886]: # DEBUG BEGIN_STMT pxCurrentTCB.150_9 ={v} pxCurrentTCB; _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0]; if (_10 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 17981]: # DEBUG BEGIN_STMT pxCurrentTCB.151_35 ={v} pxCurrentTCB; _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0]; _12 = ~ulBitsToClearOnExit_36(D); _13 = _11 & _12; pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 52886]: # xReturn_15 = PHI <0(10), 1(11)> # DEBUG xReturn => xReturn_15 # DEBUG BEGIN_STMT pxCurrentTCB.152_14 ={v} pxCurrentTCB; pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_15; } ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulReturn; struct TCB_t * pxCurrentTCB.140_1; long unsigned int _2; struct TCB_t * pxCurrentTCB.141_3; struct TCB_t * pxCurrentTCB.142_4; struct TCB_t * pxCurrentTCB.143_5; struct TCB_t * pxCurrentTCB.144_6; long unsigned int _7; struct TCB_t * pxCurrentTCB.145_8; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (uxIndexToWait_11(D) != 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_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 [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 vPortEnterCritical (); # DEBUG BEGIN_STMT pxCurrentTCB.140_1 ={v} pxCurrentTCB; _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0]; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT pxCurrentTCB.141_3 ={v} pxCurrentTCB; pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1; # DEBUG BEGIN_STMT if (xTicksToWait_15(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 8726]: # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1); # DEBUG BEGIN_STMT # 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: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.142_4 ={v} pxCurrentTCB; ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0]; # DEBUG ulReturn => ulReturn_22 # DEBUG BEGIN_STMT if (ulReturn_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT if (xClearCountOnExit_23(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13221]: # DEBUG BEGIN_STMT pxCurrentTCB.143_5 ={v} pxCurrentTCB; pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0; goto ; [100.00%] [local count: 13221]: # DEBUG BEGIN_STMT pxCurrentTCB.144_6 ={v} pxCurrentTCB; _7 = ulReturn_22 + 4294967295; pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7; [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.145_8 ={v} pxCurrentTCB; pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return ulReturn_22; } pvTaskIncrementMutexHeldCount () { struct TCB_t * pxCurrentTCB.138_1; struct TCB_t * pxCurrentTCB.139_2; long unsigned int _3; long unsigned int _4; struct tskTaskControlBlock * _8; [local count: 1073741824]: # DEBUG BEGIN_STMT pxCurrentTCB.138_1 ={v} pxCurrentTCB; if (pxCurrentTCB.138_1 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT pxCurrentTCB.139_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.139_2->uxMutexesHeld; _4 = _3 + 1; pxCurrentTCB.139_2->uxMutexesHeld = _4; [local count: 1073741824]: # DEBUG BEGIN_STMT _8 ={v} pxCurrentTCB; return _8; } uxTaskResetEventItemValue () { TickType_t uxReturn; struct TCB_t * pxCurrentTCB.135_1; struct TCB_t * pxCurrentTCB.136_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.137_4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.135_1 ={v} pxCurrentTCB; uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue; # DEBUG uxReturn => uxReturn_7 # DEBUG BEGIN_STMT pxCurrentTCB.136_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.136_2->uxPriority; pxCurrentTCB.137_4 ={v} pxCurrentTCB; _5 = 5 - _3; pxCurrentTCB.137_4->xEventListItem.xItemValue = _5; # DEBUG BEGIN_STMT return uxReturn_7; } vTaskList (char * pcWriteBuffer) { char cStatus; UBaseType_t x; UBaseType_t uxArraySize; struct TaskStatus_t * pxTaskStatusArray; long unsigned int uxCurrentNumberOfTasks.134_1; long unsigned int _2; long unsigned int _3; struct TaskStatus_t * _4; _5; unsigned int _6; const char * _8; int _9; long unsigned int _11; short unsigned int _12; unsigned int _13; long unsigned int _14; unsigned int _15; [local count: 220893212]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT *pcWriteBuffer_22(D) = 0; # DEBUG BEGIN_STMT uxArraySize_24 ={v} uxCurrentNumberOfTasks; # DEBUG uxArraySize => uxArraySize_24 # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks; _2 = uxCurrentNumberOfTasks.134_1 * 36; pxTaskStatusArray_26 = pvPortMalloc (_2); # DEBUG pxTaskStatusArray => pxTaskStatusArray_26 # DEBUG BEGIN_STMT if (pxTaskStatusArray_26 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 118111600]: # DEBUG BEGIN_STMT uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B); # DEBUG uxArraySize => uxArraySize_28 # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 955630226]: # DEBUG BEGIN_STMT _3 = x_17 * 36; _4 = pxTaskStatusArray_26 + _3; _5 = _4->eCurrentState; _6 = _5; if (_6 <= 4) goto ; [50.00%] else goto ; [50.00%] [local count: 477815113]: : cStatus_10 = 0; goto ; [100.00%] [local count: 477815113]: : cStatus_7 = CSWTCH.225[_6]; [local count: 955630226]: # cStatus_18 = PHI : : # DEBUG cStatus => cStatus_18 # DEBUG BEGIN_STMT _8 = _4->pcTaskName; pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8); # DEBUG pcWriteBuffer => pcWriteBuffer_31 # DEBUG BEGIN_STMT _9 = (int) cStatus_18; _11 = _4->uxCurrentPriority; _12 = _4->usStackHighWaterMark; _13 = (unsigned int) _12; _14 = _4->xTaskNumber; sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14); # DEBUG BEGIN_STMT _15 = strlen (pcWriteBuffer_31); pcWriteBuffer_33 = pcWriteBuffer_31 + _15; # DEBUG pcWriteBuffer => pcWriteBuffer_33 # DEBUG BEGIN_STMT x_34 = x_17 + 1; # DEBUG x => x_34 [local count: 1073741824]: # pcWriteBuffer_16 = PHI # x_17 = PHI <0(3), x_34(7)> # DEBUG x => x_17 # DEBUG pcWriteBuffer => pcWriteBuffer_16 # DEBUG BEGIN_STMT if (x_17 < uxArraySize_28) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # DEBUG BEGIN_STMT vPortFree (pxTaskStatusArray_26); [local count: 220893212]: # DEBUG BEGIN_STMT return; } prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName) { size_t x; char * _1; char * _2; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT strcpy (pcBuffer_6(D), pcTaskName_7(D)); # DEBUG BEGIN_STMT x_9 = strlen (pcBuffer_6(D)); # DEBUG x => x_9 goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _1 = pcBuffer_6(D) + x_3; *_1 = 32; # DEBUG BEGIN_STMT x_13 = x_3 + 1; # DEBUG x => x_13 [local count: 1073741824]: # x_3 = PHI # DEBUG x => x_3 # DEBUG BEGIN_STMT if (x_3 <= 8) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # x_11 = PHI # DEBUG BEGIN_STMT _2 = pcBuffer_6(D) + x_11; *_2 = 0; # DEBUG BEGIN_STMT return _2; } vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; UBaseType_t uxPriorityToUse; long unsigned int _1; long unsigned int _2; long unsigned int _3; struct TCB_t * pxCurrentTCB.132_4; long unsigned int _5; signed int _6; long unsigned int _7; struct xLIST * _8; struct List_t * _9; struct ListItem_t * _10; long unsigned int _12; long unsigned int uxTopReadyPriority.133_13; struct xLIST_ITEM * _14; struct xLIST_ITEM * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG pxTCB => pxMutexHolder_22(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxOnlyOneMutexHeld => 1 # DEBUG BEGIN_STMT if (pxMutexHolder_22(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 214748]: # DEBUG BEGIN_STMT _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld; 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_36 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_36 [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 TCB_t *)pxMutexHolder_22(D)].uxBasePriority; uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>; # DEBUG uxPriorityToUse => uxPriorityToUse_11 # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority; if (_3 != uxPriorityToUse_11) goto ; [66.00%] else goto ; [34.00%] [local count: 70867]: # DEBUG BEGIN_STMT if (_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 24095]: # DEBUG BEGIN_STMT pxCurrentTCB.132_4 ={v} pxCurrentTCB; if (pxCurrentTCB.132_4 == pxMutexHolder_22(D)) goto ; [30.00%] else goto ; [70.00%] [local count: 7228]: # 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_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 [local count: 72284299]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 72284299]: goto ; [100.00%] [local count: 16866]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxPriorityUsedOnEntry => _3 # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11; # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue; _6 = (signed int) _5; if (_6 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 9951]: # DEBUG BEGIN_STMT _7 = 5 - uxPriorityToUse_11; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7; [local count: 16866]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer; _9 = &pxReadyTasksLists[_3]; if (_8 == _9) goto ; [17.43%] else goto ; [82.57%] [local count: 2940]: # DEBUG BEGIN_STMT _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem; uxListRemove (_10); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority; uxTopReadyPriority.133_13 ={v} uxTopReadyPriority; if (_12 > uxTopReadyPriority.133_13) goto ; [50.00%] else goto ; [50.00%] [local count: 1470]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _12; [local count: 2940]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_29 = pxReadyTasksLists[_12].pxIndex; # DEBUG pxIndex => pxIndex_29 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29; # DEBUG BEGIN_STMT _14 = pxIndex_29->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14; # DEBUG BEGIN_STMT _15 = pxIndex_29->pxPrevious; _15->pxNext = _10; # DEBUG BEGIN_STMT pxIndex_29->pxPrevious = _10; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_12]; MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_12].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 192180]: # DEBUG BEGIN_STMT return; } xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xReturn; struct TCB_t * pxCurrentTCB.130_1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int _8; long unsigned int uxTopReadyPriority.131_9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct List_t * _12; long unsigned int _13; long unsigned int _14; [local count: 219131]: # DEBUG BEGIN_STMT # DEBUG pxTCB => pxMutexHolder_18(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT if (pxMutexHolder_18(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 153391]: # DEBUG BEGIN_STMT pxCurrentTCB.130_1 ={v} pxCurrentTCB; if (pxCurrentTCB.130_1 != pxMutexHolder_18(D)) goto ; [70.00%] else goto ; [30.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_32 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_32 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 46017]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 23009]: # 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_33 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_33 [local count: 230087534]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 230087534]: goto ; [100.00%] [local count: 23009]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = _2 + 4294967295; MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3; # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority; _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority; if (_4 != _5) goto ; [66.00%] else goto ; [34.00%] [local count: 15186]: # DEBUG BEGIN_STMT if (_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5011]: # DEBUG BEGIN_STMT _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem; uxListRemove (_6); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority; MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7; # DEBUG BEGIN_STMT _8 = 5 - _7; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority.131_9 ={v} uxTopReadyPriority; if (_7 > uxTopReadyPriority.131_9) goto ; [50.00%] else goto ; [50.00%] [local count: 2506]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _7; [local count: 5011]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_25 = pxReadyTasksLists[_7].pxIndex; # DEBUG pxIndex => pxIndex_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25; # DEBUG BEGIN_STMT _10 = pxIndex_25->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxIndex_25->pxPrevious; _11->pxNext = _6; # DEBUG BEGIN_STMT pxIndex_25->pxPrevious = _6; # DEBUG BEGIN_STMT _12 = &pxReadyTasksLists[_7]; MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12; # DEBUG BEGIN_STMT _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems; _14 = _13 + 1; pxReadyTasksLists[_7].uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 88748]: # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)> # DEBUG xReturn => xReturn_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_15; } xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder) { struct ListItem_t * const pxIndex; BaseType_t xReturn; long unsigned int _1; struct TCB_t * pxCurrentTCB.124_2; long unsigned int _3; long unsigned int _4; signed int _5; struct TCB_t * pxCurrentTCB.125_6; long unsigned int _7; long unsigned int _8; struct xLIST * _9; struct List_t * _10; struct ListItem_t * _11; struct TCB_t * pxCurrentTCB.126_12; long unsigned int _13; long unsigned int uxTopReadyPriority.127_14; struct xLIST_ITEM * _15; struct xLIST_ITEM * _16; struct List_t * _17; long unsigned int _18; long unsigned int _19; struct TCB_t * pxCurrentTCB.128_20; long unsigned int _21; long unsigned int _22; struct TCB_t * pxCurrentTCB.129_23; long unsigned int _24; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT if (pxMutexHolder_29(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority; pxCurrentTCB.124_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.124_2->uxPriority; if (_1 < _3) goto ; [50.00%] else goto ; [50.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue; _5 = (signed int) _4; if (_5 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 221727687]: # DEBUG BEGIN_STMT pxCurrentTCB.125_6 ={v} pxCurrentTCB; _7 = pxCurrentTCB.125_6->uxPriority; _8 = 5 - _7; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8; [local count: 375809639]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer; _10 = &pxReadyTasksLists[_1]; if (_9 == _10) goto ; [17.43%] else goto ; [82.57%] [local count: 65503620]: # DEBUG BEGIN_STMT _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem; uxListRemove (_11); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.126_12 ={v} pxCurrentTCB; _13 = pxCurrentTCB.126_12->uxPriority; MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority.127_14 ={v} uxTopReadyPriority; if (_13 > uxTopReadyPriority.127_14) goto ; [50.00%] else goto ; [50.00%] [local count: 32751810]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _13; [local count: 65503620]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_36 = pxReadyTasksLists[_13].pxIndex; # DEBUG pxIndex => pxIndex_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36; # DEBUG BEGIN_STMT _15 = pxIndex_36->pxPrevious; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15; # DEBUG BEGIN_STMT _16 = pxIndex_36->pxPrevious; _16->pxNext = _11; # DEBUG BEGIN_STMT pxIndex_36->pxPrevious = _11; # DEBUG BEGIN_STMT _17 = &pxReadyTasksLists[_13]; MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17; # DEBUG BEGIN_STMT _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems; _19 = _18 + 1; pxReadyTasksLists[_13].uxNumberOfItems ={v} _19; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 310306019]: # DEBUG BEGIN_STMT pxCurrentTCB.128_20 ={v} pxCurrentTCB; _21 = pxCurrentTCB.128_20->uxPriority; MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21; goto ; [100.00%] [local count: 375809639]: # DEBUG BEGIN_STMT _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority; pxCurrentTCB.129_23 ={v} pxCurrentTCB; _24 = pxCurrentTCB.129_23->uxPriority; if (_22 < _24) goto ; [50.00%] else goto ; [50.00%] [local count: 187904819]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)> # DEBUG xReturn => xReturn_25 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_25; } xTaskGetSchedulerState () { BaseType_t xReturn; long int xSchedulerRunning.122_1; long unsigned int uxSchedulerSuspended.123_2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xSchedulerRunning.122_1 ={v} xSchedulerRunning; if (xSchedulerRunning.122_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.123_2 == 0) goto ; [35.00%] else goto ; [65.00%] [local count: 348966093]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 1073741824]: # xReturn_3 = PHI <1(2), 2(3), 0(4)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } xTaskGetCurrentTaskHandle () { struct tskTaskControlBlock * xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_2 ={v} pxCurrentTCB; # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } prvResetNextTaskUnblockTime () { struct List_t * pxDelayedTaskList.20_1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT pxDelayedTaskList.20_1 ={v} pxDelayedTaskList; _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; goto ; [100.00%] [local count: 536870912]: prvResetNextTaskUnblockTime.part.0 (); [local count: 1073741824]: return; } prvDeleteTCB (struct TCB_t * pxTCB) { StackType_t * _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxTCB_3(D)->pxStack; vPortFree (_1); # DEBUG BEGIN_STMT vPortFree (pxTCB_3(D)); return; } uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask) { UBaseType_t uxReturn; uint8_t * pucEndOfStack; short unsigned int _1; struct TCB_t * iftmp.121_2; struct TCB_t * iftmp.121_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.121_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.121_2 = PHI # DEBUG pxTCB => iftmp.121_2 # DEBUG BEGIN_STMT pucEndOfStack_6 = iftmp.121_2->pxStack; # DEBUG pucEndOfStack => pucEndOfStack_6 # DEBUG BEGIN_STMT _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6); uxReturn_7 = (UBaseType_t) _1; # DEBUG uxReturn => uxReturn_7 # DEBUG BEGIN_STMT return uxReturn_7; } prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte) { uint32_t ulCount; unsigned char _1; uint16_t _8; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG ulCount => 0 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT pucStackByte_9 = pucStackByte_2 + 1; # DEBUG pucStackByte => pucStackByte_9 # DEBUG BEGIN_STMT ulCount_10 = ulCount_3 + 1; # DEBUG ulCount => ulCount_10 [local count: 1073741824]: # pucStackByte_2 = PHI # ulCount_3 = PHI <0(2), ulCount_10(3)> # DEBUG ulCount => ulCount_3 # DEBUG pucStackByte => pucStackByte_2 # DEBUG BEGIN_STMT _1 = *pucStackByte_2; if (_1 == 165) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # ulCount_4 = PHI # DEBUG BEGIN_STMT ulCount_7 = ulCount_4 >> 2; # DEBUG ulCount => ulCount_7 # DEBUG BEGIN_STMT _8 = (uint16_t) ulCount_7; return _8; } prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState) { UBaseType_t uxTask; long unsigned int _1; [local count: 236223200]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxTask => 0 # DEBUG BEGIN_STMT _1 ={v} pxList_7(D)->uxNumberOfItems; if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 118111600]: uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D)); [local count: 236223201]: # uxTask_5 = PHI <0(2), uxTask_2(3)> # DEBUG uxTask => uxTask_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxTask_5; } vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState) { char * _1; long unsigned int _2; StackType_t * _3; long unsigned int _4; long unsigned int _5; struct TCB_t * pxCurrentTCB.120_6; struct xLIST * _7; _8; StackType_t * _9; short unsigned int _10; struct TCB_t * iftmp.119_11; struct TCB_t * iftmp.119_17; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_15(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.119_17 ={v} pxCurrentTCB; [local count: 1073741823]: # iftmp.119_11 = PHI # DEBUG pxTCB => iftmp.119_11 # DEBUG BEGIN_STMT pxTaskStatus_18(D)->xHandle = iftmp.119_11; # DEBUG BEGIN_STMT _1 = &iftmp.119_11->pcTaskName[0]; pxTaskStatus_18(D)->pcTaskName = _1; # DEBUG BEGIN_STMT _2 = iftmp.119_11->uxPriority; pxTaskStatus_18(D)->uxCurrentPriority = _2; # DEBUG BEGIN_STMT _3 = iftmp.119_11->pxStack; pxTaskStatus_18(D)->pxStackBase = _3; # DEBUG BEGIN_STMT _4 = iftmp.119_11->uxTCBNumber; pxTaskStatus_18(D)->xTaskNumber = _4; # DEBUG BEGIN_STMT _5 = iftmp.119_11->uxBasePriority; pxTaskStatus_18(D)->uxBasePriority = _5; # DEBUG BEGIN_STMT pxTaskStatus_18(D)->ulRunTimeCounter = 0; # DEBUG BEGIN_STMT if (eState_26(D) != 5) goto ; [79.76%] else goto ; [20.24%] [local count: 856416478]: # DEBUG BEGIN_STMT pxCurrentTCB.120_6 ={v} pxCurrentTCB; if (pxCurrentTCB.120_6 == iftmp.119_11) goto ; [30.00%] else goto ; [70.00%] [local count: 256924943]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = 0; goto ; [100.00%] [local count: 599491536]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = eState_26(D); # DEBUG BEGIN_STMT if (eState_26(D) == 3) goto ; [20.24%] else goto ; [79.76%] [local count: 121337087]: # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _7 = iftmp.119_11->xEventListItem.pvContainer; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 84935961]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->eCurrentState = 2; [local count: 121337087]: # DEBUG BEGIN_STMT xTaskResumeAll (); goto ; [100.00%] [local count: 217325345]: # DEBUG BEGIN_STMT _8 = eTaskGetState (iftmp.119_11); pxTaskStatus_18(D)->eCurrentState = _8; [local count: 1073741824]: # DEBUG BEGIN_STMT if (xGetFreeStackSpace_34(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _9 = iftmp.119_11->pxStack; _10 = prvTaskCheckFreeStackSpace (_9); pxTaskStatus_18(D)->usStackHighWaterMark = _10; goto ; [100.00%] [local count: 719407024]: # DEBUG BEGIN_STMT pxTaskStatus_18(D)->usStackHighWaterMark = 0; [local count: 1073741824]: return; } prvCheckTasksWaitingTermination () { struct TCB_t * pxTCB; struct xLIST_ITEM * _1; struct ListItem_t * _2; long unsigned int uxCurrentNumberOfTasks.58_3; long unsigned int _4; long unsigned int uxDeletedTasksWaitingCleanUp.59_5; long unsigned int _6; long unsigned int uxDeletedTasksWaitingCleanUp.60_7; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 = xTasksWaitingTermination.xListEnd.pxNext; pxTCB_11 = _1->pvOwner; # DEBUG pxTCB => pxTCB_11 # DEBUG BEGIN_STMT _2 = &pxTCB_11->xStateListItem; uxListRemove (_2); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.58_3 ={v} uxCurrentNumberOfTasks; _4 = uxCurrentNumberOfTasks.58_3 + 4294967295; uxCurrentNumberOfTasks ={v} _4; # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.59_5 ={v} uxDeletedTasksWaitingCleanUp; _6 = uxDeletedTasksWaitingCleanUp.59_5 + 4294967295; uxDeletedTasksWaitingCleanUp ={v} _6; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT prvDeleteTCB (pxTCB_11); [local count: 1073741824]: # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.60_7 ={v} uxDeletedTasksWaitingCleanUp; if (uxDeletedTasksWaitingCleanUp.60_7 != 0) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: return; } prvInitialiseTaskLists () { UBaseType_t uxPriority; struct List_t * _1; [local count: 178992762]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxPriority => 0 goto ; [100.00%] [local count: 894749063]: # DEBUG BEGIN_STMT _1 = &pxReadyTasksLists[uxPriority_2]; vListInitialise (_1); # DEBUG BEGIN_STMT uxPriority_13 = uxPriority_2 + 1; # DEBUG uxPriority => uxPriority_13 [local count: 1073741824]: # uxPriority_2 = PHI <0(2), uxPriority_13(3)> # DEBUG uxPriority => uxPriority_2 # DEBUG BEGIN_STMT if (uxPriority_2 != 5) goto ; [83.33%] else goto ; [16.67%] [local count: 178992762]: # DEBUG BEGIN_STMT vListInitialise (&xDelayedTaskList1); # DEBUG BEGIN_STMT vListInitialise (&xDelayedTaskList2); # DEBUG BEGIN_STMT vListInitialise (&xPendingReadyList); # DEBUG BEGIN_STMT vListInitialise (&xTasksWaitingTermination); # DEBUG BEGIN_STMT vListInitialise (&xSuspendedTaskList); # DEBUG BEGIN_STMT pxDelayedTaskList ={v} &xDelayedTaskList1; # DEBUG BEGIN_STMT pxOverflowDelayedTaskList ={v} &xDelayedTaskList2; return; } prvIdleTask (void * pvParameters) { long unsigned int _1; [local count: 63351]: [local count: 633507677]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvCheckTasksWaitingTermination (); # DEBUG BEGIN_STMT _1 ={v} pxReadyTasksLists[0].uxNumberOfItems; if (_1 > 1) goto ; [59.00%] else goto ; [41.00%] [local count: 440234148]: goto ; [100.00%] [local count: 633507677]: # 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%] } vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle) { [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_2(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_2(D) # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D); [local count: 1073741824]: return; } uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask) { UBaseType_t uxReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_2(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_2(D) # DEBUG BEGIN_STMT uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber; # DEBUG uxReturn => uxReturn_4 [local count: 1073741824]: # uxReturn_1 = PHI # DEBUG uxReturn => uxReturn_1 # DEBUG BEGIN_STMT return uxReturn_1; } vTaskMissedYield () { [local count: 1073741824]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; return; } xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const TickType_t xElapsedTime; const TickType_t xConstTickCount; BaseType_t xReturn; long unsigned int _1; struct TCB_t * pxCurrentTCB.116_2; unsigned char _3; struct TCB_t * pxCurrentTCB.117_4; long unsigned int _5; long int _6; long int xNumOfOverflows.118_7; long unsigned int _8; long unsigned int _17; [local count: 329661]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pxTimeOut_11(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 98898]: # 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: 988985746]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 988985746]: goto ; [100.00%] [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (pxTicksToWait_12(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_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: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xConstTickCount_15 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_15 # DEBUG BEGIN_STMT _1 = pxTimeOut_11(D)->xTimeOnEntering; xElapsedTime_16 = xConstTickCount_15 - _1; # DEBUG xElapsedTime => xElapsedTime_16 # DEBUG BEGIN_STMT pxCurrentTCB.116_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.116_2->ucDelayAborted; if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 61694]: # DEBUG BEGIN_STMT pxCurrentTCB.117_4 ={v} pxCurrentTCB; pxCurrentTCB.117_4->ucDelayAborted = 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 goto ; [100.00%] [local count: 61694]: # DEBUG BEGIN_STMT _5 = *pxTicksToWait_12(D); if (_5 == 4294967295) goto ; [34.00%] else goto ; [66.00%] [local count: 40718]: # DEBUG BEGIN_STMT _6 = pxTimeOut_11(D)->xOverflowCount; xNumOfOverflows.118_7 ={v} xNumOfOverflows; if (_6 != xNumOfOverflows.118_7) goto ; [66.00%] else goto ; [34.00%] [local count: 26874]: if (_1 <= xConstTickCount_15) goto ; [50.00%] else goto ; [50.00%] [local count: 13437]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT *pxTicksToWait_12(D) = 0; goto ; [100.00%] [local count: 27281]: # DEBUG BEGIN_STMT if (_5 > xElapsedTime_16) goto ; [33.00%] else goto ; [67.00%] [local count: 9003]: # DEBUG BEGIN_STMT _17 = _1 - xConstTickCount_15; _8 = _5 + _17; *pxTicksToWait_12(D) = _8; # DEBUG BEGIN_STMT vTaskInternalSetTimeOutState (pxTimeOut_11(D)); # DEBUG BEGIN_STMT # DEBUG xReturn => 0 goto ; [100.00%] [local count: 18278]: # DEBUG BEGIN_STMT *pxTicksToWait_12(D) = 0; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 123389]: # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)> # DEBUG xReturn => xReturn_9 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_9; } vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut) { long int xNumOfOverflows.114_1; long unsigned int xTickCount.115_2; [local count: 1073741824]: # DEBUG BEGIN_STMT xNumOfOverflows.114_1 ={v} xNumOfOverflows; pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1; # DEBUG BEGIN_STMT xTickCount.115_2 ={v} xTickCount; pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2; return; } vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut) { uint32_t ulNewBASEPRI; long int xNumOfOverflows.112_1; long unsigned int xTickCount.113_2; [local count: 230763]: # DEBUG BEGIN_STMT if (pxTimeOut_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_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: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xNumOfOverflows.112_1 ={v} xNumOfOverflows; pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1; # DEBUG BEGIN_STMT xTickCount.113_2 ={v} xTickCount; pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2; # DEBUG BEGIN_STMT vPortExitCritical (); return; } vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct List_t * const pxList; struct List_t * const pxList; struct TCB_t * pxUnblockedTCB; long unsigned int uxSchedulerSuspended.109_1; long unsigned int _2; struct xLIST_ITEM * _3; struct xLIST_ITEM * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int _8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.110_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct TCB_t * pxCurrentTCB.111_23; long unsigned int _24; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.109_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_54 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_54 [local count: 1073741824]: # 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 = xItemValue_30(D) | 2147483648; pxEventListItem_31(D)->xItemValue = _2; # DEBUG BEGIN_STMT pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner; # DEBUG pxUnblockedTCB => pxUnblockedTCB_33 # DEBUG BEGIN_STMT if (pxUnblockedTCB_33 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 32212]: # 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_55 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_55 [local count: 322122547]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_34 = pxEventListItem_31(D)->pvContainer; # DEBUG pxList => pxList_34 # DEBUG BEGIN_STMT _3 = pxEventListItem_31(D)->pxNext; _4 = pxEventListItem_31(D)->pxPrevious; _3->pxPrevious = _4; # DEBUG BEGIN_STMT _5 = pxEventListItem_31(D)->pxPrevious; _5->pxNext = _3; # DEBUG BEGIN_STMT _6 = pxList_34->pxIndex; if (_6 == pxEventListItem_31(D)) goto ; [30.00%] else goto ; [70.00%] [local count: 22549]: # DEBUG BEGIN_STMT pxList_34->pxIndex = _5; [local count: 75162]: # DEBUG BEGIN_STMT pxEventListItem_31(D)->pvContainer = 0B; # DEBUG BEGIN_STMT _7 ={v} pxList_34->uxNumberOfItems; _8 = _7 + 4294967295; pxList_34->uxNumberOfItems ={v} _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer; # DEBUG pxList => pxList_40 # DEBUG BEGIN_STMT _9 = pxUnblockedTCB_33->xStateListItem.pxNext; _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_40->pxIndex; _13 = &pxUnblockedTCB_33->xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 22549]: # DEBUG BEGIN_STMT pxList_40->pxIndex = _11; [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_40->uxNumberOfItems; _15 = _14 + 4294967295; pxList_40->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = pxUnblockedTCB_33->uxPriority; uxTopReadyPriority.110_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.110_17) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 75162]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_46 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_46 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46; # DEBUG BEGIN_STMT _18 = pxIndex_46->pxPrevious; pxUnblockedTCB_33->xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_46->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_46->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; pxUnblockedTCB_33->xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.111_23 ={v} pxCurrentTCB; _24 = pxCurrentTCB.111_23->uxPriority; if (_16 > _24) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 75162]: return; } xTaskRemoveFromEventList (const struct List_t * const pxEventList) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct ListItem_t * const pxIndex; struct List_t * const pxList; struct List_t * const pxList; BaseType_t xReturn; struct TCB_t * pxUnblockedTCB; struct xLIST_ITEM * _1; struct xLIST_ITEM * _2; struct xLIST_ITEM * _3; struct ListItem_t * _4; struct ListItem_t * _5; long unsigned int _6; long unsigned int _7; long unsigned int uxSchedulerSuspended.106_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct xLIST_ITEM * _11; struct ListItem_t * _12; struct ListItem_t * _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int uxTopReadyPriority.107_17; struct xLIST_ITEM * _18; struct xLIST_ITEM * _19; struct List_t * _20; long unsigned int _21; long unsigned int _22; struct xLIST_ITEM * _23; struct xLIST_ITEM * _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; struct TCB_t * pxCurrentTCB.108_28; long unsigned int _29; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxEventList_37(D)->xListEnd.pxNext; pxUnblockedTCB_38 = _1->pvOwner; # DEBUG pxUnblockedTCB => pxUnblockedTCB_38 # DEBUG BEGIN_STMT if (pxUnblockedTCB_38 == 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_66 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_66 [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 pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer; # DEBUG pxList => pxList_39 # DEBUG BEGIN_STMT _2 = pxUnblockedTCB_38->xEventListItem.pxNext; _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious; _2->pxPrevious = _3; # DEBUG BEGIN_STMT _3->pxNext = _2; # DEBUG BEGIN_STMT _4 = pxList_39->pxIndex; _5 = &pxUnblockedTCB_38->xEventListItem; if (_4 == _5) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # DEBUG BEGIN_STMT pxList_39->pxIndex = _3; [local count: 250539]: # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pvContainer = 0B; # DEBUG BEGIN_STMT _6 ={v} pxList_39->uxNumberOfItems; _7 = _6 + 4294967295; pxList_39->uxNumberOfItems ={v} _7; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.106_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer; # DEBUG pxList => pxList_52 # DEBUG BEGIN_STMT _9 = pxUnblockedTCB_38->xStateListItem.pxNext; _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious; _9->pxPrevious = _10; # DEBUG BEGIN_STMT _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious; _11->pxNext = _9; # DEBUG BEGIN_STMT _12 = pxList_52->pxIndex; _13 = &pxUnblockedTCB_38->xStateListItem; if (_12 == _13) goto ; [30.00%] else goto ; [70.00%] [local count: 37581]: # DEBUG BEGIN_STMT pxList_52->pxIndex = _11; [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _14 ={v} pxList_52->uxNumberOfItems; _15 = _14 + 4294967295; pxList_52->uxNumberOfItems ={v} _15; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = pxUnblockedTCB_38->uxPriority; uxTopReadyPriority.107_17 ={v} uxTopReadyPriority; if (_16 > uxTopReadyPriority.107_17) goto ; [50.00%] else goto ; [50.00%] [local count: 62635]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _16; [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_58 = pxReadyTasksLists[_16].pxIndex; # DEBUG pxIndex => pxIndex_58 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58; # DEBUG BEGIN_STMT _18 = pxIndex_58->pxPrevious; pxUnblockedTCB_38->xStateListItem.pxPrevious = _18; # DEBUG BEGIN_STMT _19 = pxIndex_58->pxPrevious; _19->pxNext = _13; # DEBUG BEGIN_STMT pxIndex_58->pxPrevious = _13; # DEBUG BEGIN_STMT _20 = &pxReadyTasksLists[_16]; pxUnblockedTCB_38->xStateListItem.pvContainer = _20; # DEBUG BEGIN_STMT _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems; _22 = _21 + 1; pxReadyTasksLists[_16].uxNumberOfItems ={v} _22; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 125270]: # DEBUG BEGIN_STMT pxIndex_45 = xPendingReadyList.pxIndex; # DEBUG pxIndex => pxIndex_45 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45; # DEBUG BEGIN_STMT _23 = pxIndex_45->pxPrevious; pxUnblockedTCB_38->xEventListItem.pxPrevious = _23; # DEBUG BEGIN_STMT _24 = pxIndex_45->pxPrevious; _24->pxNext = _5; # DEBUG BEGIN_STMT pxIndex_45->pxPrevious = _5; # DEBUG BEGIN_STMT pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList; # DEBUG BEGIN_STMT _25 ={v} xPendingReadyList.uxNumberOfItems; _26 = _25 + 1; xPendingReadyList.uxNumberOfItems ={v} _26; [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _27 = pxUnblockedTCB_38->uxPriority; pxCurrentTCB.108_28 ={v} pxCurrentTCB; _29 = pxCurrentTCB.108_28->uxPriority; if (_27 > _29) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 250539]: # xReturn_30 = PHI <1(15), 0(14)> # DEBUG xReturn => xReturn_30 # DEBUG BEGIN_STMT return xReturn_30; } vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct TCB_t * pxCurrentTCB.101_1; struct TCB_t * pxCurrentTCB.102_2; struct xLIST_ITEM * _3; struct TCB_t * pxCurrentTCB.103_4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct TCB_t * pxCurrentTCB.104_7; struct ListItem_t * _8; struct TCB_t * pxCurrentTCB.105_9; long unsigned int _10; long unsigned int _11; [local count: 357913]: # DEBUG BEGIN_STMT if (pxEventList_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 pxIndex_15 = pxEventList_13(D)->pxIndex; # DEBUG pxIndex => pxIndex_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.101_1 ={v} pxCurrentTCB; pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15; # DEBUG BEGIN_STMT pxCurrentTCB.102_2 ={v} pxCurrentTCB; _3 = pxIndex_15->pxPrevious; pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3; # DEBUG BEGIN_STMT pxCurrentTCB.103_4 ={v} pxCurrentTCB; _5 = pxIndex_15->pxPrevious; _6 = &pxCurrentTCB.103_4->xEventListItem; _5->pxNext = _6; # DEBUG BEGIN_STMT pxCurrentTCB.104_7 ={v} pxCurrentTCB; _8 = &pxCurrentTCB.104_7->xEventListItem; pxIndex_15->pxPrevious = _8; # DEBUG BEGIN_STMT pxCurrentTCB.105_9 ={v} pxCurrentTCB; pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D); # DEBUG BEGIN_STMT _10 ={v} pxEventList_13(D)->uxNumberOfItems; _11 = _10 + 1; pxEventList_13(D)->uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xWaitIndefinitely_22(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 4294967295 [local count: 250539]: # xTicksToWait_12 = PHI # DEBUG xTicksToWait => xTicksToWait_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D)); return; } vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; long unsigned int uxSchedulerSuspended.94_1; struct TCB_t * pxCurrentTCB.95_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.96_4; struct TCB_t * pxCurrentTCB.97_5; struct xLIST_ITEM * _6; struct TCB_t * pxCurrentTCB.98_7; struct xLIST_ITEM * _8; struct ListItem_t * _9; struct TCB_t * pxCurrentTCB.99_10; struct ListItem_t * _11; struct TCB_t * pxCurrentTCB.100_12; long unsigned int _13; long unsigned int _14; [local count: 228942]: # DEBUG BEGIN_STMT if (pxEventList_15(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_28 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_28 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.94_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_29 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_29 [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 pxCurrentTCB.95_2 ={v} pxCurrentTCB; _3 = xItemValue_17(D) | 2147483648; pxCurrentTCB.95_2->xEventListItem.xItemValue = _3; # DEBUG BEGIN_STMT pxIndex_19 = pxEventList_15(D)->pxIndex; # DEBUG pxIndex => pxIndex_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.96_4 ={v} pxCurrentTCB; pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19; # DEBUG BEGIN_STMT pxCurrentTCB.97_5 ={v} pxCurrentTCB; _6 = pxIndex_19->pxPrevious; pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6; # DEBUG BEGIN_STMT pxCurrentTCB.98_7 ={v} pxCurrentTCB; _8 = pxIndex_19->pxPrevious; _9 = &pxCurrentTCB.98_7->xEventListItem; _8->pxNext = _9; # DEBUG BEGIN_STMT pxCurrentTCB.99_10 ={v} pxCurrentTCB; _11 = &pxCurrentTCB.99_10->xEventListItem; pxIndex_19->pxPrevious = _11; # DEBUG BEGIN_STMT pxCurrentTCB.100_12 ={v} pxCurrentTCB; pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D); # DEBUG BEGIN_STMT _13 ={v} pxEventList_15(D)->uxNumberOfItems; _14 = _13 + 1; pxEventList_15(D)->uxNumberOfItems ={v} _14; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1); return; } vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; struct TCB_t * pxCurrentTCB.93_1; struct ListItem_t * _2; [local count: 230763]: # DEBUG BEGIN_STMT if (pxEventList_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 pxCurrentTCB.93_1 ={v} pxCurrentTCB; _2 = &pxCurrentTCB.93_1->xEventListItem; vListInsert (pxEventList_3(D), _2); # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1); return; } __attribute__((used)) vTaskSwitchContext () { UBaseType_t uxTopPriority; long unsigned int uxSchedulerSuspended.92_1; long unsigned int _2; struct ListItem_t * _3; struct xLIST_ITEM * _4; struct MiniListItem_t * _6; struct xLIST_ITEM * _8; struct ListItem_t * _9; void * _10; [local count: 441995]: # DEBUG BEGIN_STMT uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.92_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 220997]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; goto ; [100.00%] [local count: 220997]: # DEBUG BEGIN_STMT xYieldPending ={v} 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopPriority_15 ={v} uxTopReadyPriority; # DEBUG uxTopPriority => uxTopPriority_15 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1952255]: # DEBUG BEGIN_STMT if (uxTopPriority_11 == 0) goto ; [5.50%] else goto ; [94.50%] [local count: 107374]: vTaskSwitchContext.part.0 (); [local count: 1844881]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopPriority_21 = uxTopPriority_11 + 4294967295; # DEBUG uxTopPriority => uxTopPriority_21 [local count: 2065878]: # uxTopPriority_11 = PHI # DEBUG uxTopPriority => uxTopPriority_11 # DEBUG BEGIN_STMT _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems; if (_2 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 113623]: # uxTopPriority_5 = PHI # DEBUG BEGIN_STMT # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5] # DEBUG pxConstList => D#6 # DEBUG BEGIN_STMT _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex; _4 = _3->pxNext; MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4; # DEBUG BEGIN_STMT _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd; if (_4 == _6) goto ; [30.00%] else goto ; [70.00%] [local count: 34087]: # DEBUG BEGIN_STMT _8 = MEM[(struct ListItem_t *)_4].pxNext; MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8; [local count: 113623]: # DEBUG BEGIN_STMT _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex; _10 = _9->pvOwner; pxCurrentTCB ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTopReadyPriority ={v} uxTopPriority_5; [local count: 334621]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } xTaskIncrementTick () { BaseType_t xSwitchRequired; long unsigned int uxSchedulerSuspended.79_1; long unsigned int xPendedTicks.91_5; long unsigned int _6; [local count: 641039]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xSwitchRequired => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.79_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 320520]: xSwitchRequired_2 = xTaskIncrementTick.part.0 (); goto ; [100.00%] [local count: 320519]: # DEBUG BEGIN_STMT xPendedTicks.91_5 ={v} xPendedTicks; _6 = xPendedTicks.91_5 + 1; xPendedTicks ={v} _6; [local count: 533665]: # xSwitchRequired_7 = PHI # DEBUG xSwitchRequired => xSwitchRequired_7 # DEBUG BEGIN_STMT return xSwitchRequired_7; } xTaskAbortDelay (struct tskTaskControlBlock * xTask) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xReturn; _1; struct ListItem_t * _2; struct xLIST * _3; struct ListItem_t * _4; long unsigned int _5; long unsigned int uxTopReadyPriority.77_6; struct xLIST_ITEM * _7; struct xLIST_ITEM * _8; struct List_t * _9; long unsigned int _10; long unsigned int _11; struct TCB_t * pxCurrentTCB.78_12; long unsigned int _13; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_18(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTask_18(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_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 [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 vTaskSuspendAll (); # DEBUG BEGIN_STMT _1 = eTaskGetState (xTask_18(D)); if (_1 == 2) goto ; [20.24%] else goto ; [79.76%] [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem; uxListRemove (_2); # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer; if (_3 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 13354]: # DEBUG BEGIN_STMT _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem; uxListRemove (_4); # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1; [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority; uxTopReadyPriority.77_6 ={v} uxTopReadyPriority; if (_5 > uxTopReadyPriority.77_6) goto ; [50.00%] else goto ; [50.00%] [local count: 12487]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _5; [local count: 24974]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_28 = pxReadyTasksLists[_5].pxIndex; # DEBUG pxIndex => pxIndex_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28; # DEBUG BEGIN_STMT _7 = pxIndex_28->pxPrevious; MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7; # DEBUG BEGIN_STMT _8 = pxIndex_28->pxPrevious; _8->pxNext = _2; # DEBUG BEGIN_STMT pxIndex_28->pxPrevious = _2; # DEBUG BEGIN_STMT _9 = &pxReadyTasksLists[_5]; MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9; # DEBUG BEGIN_STMT _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems; _11 = _10 + 1; pxReadyTasksLists[_5].uxNumberOfItems ={v} _11; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.78_12 ={v} pxCurrentTCB; _13 = pxCurrentTCB.78_12->uxPriority; if (_5 > _13) goto ; [50.00%] else goto ; [50.00%] [local count: 12487]: # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 123389]: # xReturn_14 = PHI <1(11), 0(5), 1(10)> # DEBUG xReturn => xReturn_14 # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return xReturn_14; } xTaskCatchUpTicks (TickType_t xTicksToCatchUp) { uint32_t ulNewBASEPRI; BaseType_t xYieldOccurred; long unsigned int uxSchedulerSuspended.75_1; long unsigned int xPendedTicks.76_2; long unsigned int _3; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.75_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_10 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_10 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT xPendedTicks.76_2 ={v} xPendedTicks; _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D); xPendedTicks ={v} _3; # DEBUG BEGIN_STMT xYieldOccurred_9 = xTaskResumeAll (); # DEBUG xYieldOccurred => xYieldOccurred_9 # DEBUG BEGIN_STMT return xYieldOccurred_9; } uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime) { UBaseType_t uxQueue; UBaseType_t uxTask; long unsigned int uxCurrentNumberOfTasks.72_1; long unsigned int _2; struct TaskStatus_t * _3; struct List_t * _4; long unsigned int _5; struct TaskStatus_t * _6; struct List_t * pxDelayedTaskList.73_7; long unsigned int _8; struct TaskStatus_t * _9; struct List_t * pxOverflowDelayedTaskList.74_10; long unsigned int _11; struct TaskStatus_t * _12; long unsigned int _13; struct TaskStatus_t * _14; long unsigned int _27; long unsigned int _30; long unsigned int _33; long unsigned int _36; long unsigned int _39; [local count: 429496728]: # DEBUG BEGIN_STMT # DEBUG uxTask => 0 # DEBUG uxQueue => 5 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 214748364]: [local count: 1073741824]: # uxTask_15 = PHI <0(7), uxTask_28(8)> # uxQueue_17 = PHI <5(7), uxQueue_24(8)> # DEBUG uxQueue => uxQueue_17 # DEBUG uxTask => uxTask_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxQueue_24 = uxQueue_17 + 4294967295; # DEBUG uxQueue => uxQueue_24 # DEBUG BEGIN_STMT _2 = uxTask_15 * 36; _3 = pxTaskStatusArray_25(D) + _2; _4 = &pxReadyTasksLists[uxQueue_24]; _27 = prvListTasksWithinSingleList (_3, _4, 1); uxTask_28 = uxTask_15 + _27; # DEBUG uxTask => uxTask_28 # DEBUG BEGIN_STMT if (uxQueue_24 != 0) goto ; [80.00%] else goto ; [20.00%] [local count: 858993459]: goto ; [100.00%] [local count: 214748365]: # uxTask_20 = PHI # DEBUG BEGIN_STMT _5 = uxTask_20 * 36; _6 = pxTaskStatusArray_25(D) + _5; pxDelayedTaskList.73_7 ={v} pxDelayedTaskList; _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2); uxTask_31 = uxTask_20 + _30; # DEBUG uxTask => uxTask_31 # DEBUG BEGIN_STMT _8 = uxTask_31 * 36; _9 = pxTaskStatusArray_25(D) + _8; pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList; _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2); uxTask_34 = uxTask_31 + _33; # DEBUG uxTask => uxTask_34 # DEBUG BEGIN_STMT _11 = uxTask_34 * 36; _12 = pxTaskStatusArray_25(D) + _11; _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4); uxTask_37 = uxTask_34 + _36; # DEBUG uxTask => uxTask_37 # DEBUG BEGIN_STMT _13 = uxTask_37 * 36; _14 = pxTaskStatusArray_25(D) + _13; _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3); uxTask_40 = uxTask_37 + _39; # DEBUG uxTask => uxTask_40 # DEBUG BEGIN_STMT if (pulTotalRunTime_41(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 150323855]: # DEBUG BEGIN_STMT *pulTotalRunTime_41(D) = 0; [local count: 429496729]: # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)> # DEBUG uxTask => uxTask_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return uxTask_16; } xTaskGetHandle (const char * pcNameToQuery) { uint32_t ulNewBASEPRI; struct TCB_t * pxTCB; UBaseType_t uxQueue; unsigned int _1; struct List_t * _2; struct List_t * pxDelayedTaskList.70_3; struct List_t * pxOverflowDelayedTaskList.71_4; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG uxQueue => 5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = strlen (pcNameToQuery_17(D)); if (_1 > 9) 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_31 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_31 [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 vTaskSuspendAll (); [local count: 216745]: # uxQueue_5 = PHI <5(5), uxQueue_19(18)> # DEBUG uxQueue => uxQueue_5 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxQueue_19 = uxQueue_5 + 4294967295; # DEBUG uxQueue => uxQueue_19 # DEBUG BEGIN_STMT _2 = &pxReadyTasksLists[uxQueue_19]; pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_21 # DEBUG BEGIN_STMT if (pxTCB_21 != 0B) goto ; [5.50%] else goto ; [94.50%] [local count: 204824]: # DEBUG BEGIN_STMT if (uxQueue_19 != 0) goto ; [80.00%] else goto ; [20.00%] [local count: 163859]: goto ; [100.00%] [local count: 52886]: # pxTCB_15 = PHI # DEBUG BEGIN_STMT if (pxTCB_15 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxDelayedTaskList.70_3 ={v} pxDelayedTaskList; pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_23 [local count: 52886]: # pxTCB_6 = PHI # DEBUG pxTCB => pxTCB_6 # DEBUG BEGIN_STMT if (pxTCB_6 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList; pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_25 [local count: 52886]: # pxTCB_7 = PHI # DEBUG pxTCB => pxTCB_7 # DEBUG BEGIN_STMT if (pxTCB_7 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_27 [local count: 52886]: # pxTCB_8 = PHI # DEBUG pxTCB => pxTCB_8 # DEBUG BEGIN_STMT if (pxTCB_8 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 9218]: # DEBUG BEGIN_STMT pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D)); # DEBUG pxTCB => pxTCB_29 [local count: 52886]: # pxTCB_9 = PHI # DEBUG pxTCB => pxTCB_9 # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT return pxTCB_9; } prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery) { char cNextChar; UBaseType_t x; struct TCB_t * pxReturn; struct TCB_t * pxFirstTCB; struct TCB_t * pxNextTCB; long unsigned int _1; struct ListItem_t * _2; struct xLIST_ITEM * _3; struct MiniListItem_t * _4; struct xLIST_ITEM * _5; struct ListItem_t * _6; struct ListItem_t * _7; struct xLIST_ITEM * _8; struct xLIST_ITEM * _9; struct ListItem_t * _10; const char * _11; char _12; [local count: 25274560]: # DEBUG BEGIN_STMT # DEBUG pxReturn => 0B # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 ={v} pxList_23(D)->uxNumberOfItems; if (_1 != 0) goto ; [71.00%] else goto ; [29.00%] [local count: 17944938]: # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_23(D) # DEBUG BEGIN_STMT _2 = pxList_23(D)->pxIndex; _3 = _2->pxNext; pxList_23(D)->pxIndex = _3; # DEBUG BEGIN_STMT _4 = &pxList_23(D)->xListEnd; if (_3 == _4) goto ; [30.00%] else goto ; [70.00%] [local count: 5383481]: # DEBUG BEGIN_STMT _5 = MEM[(struct ListItem_t *)_3].pxNext; pxList_23(D)->pxIndex = _5; [local count: 17944938]: # DEBUG BEGIN_STMT _6 = pxList_23(D)->pxIndex; pxFirstTCB_26 = _6->pvOwner; # DEBUG pxFirstTCB => pxFirstTCB_26 [local count: 167748888]: # pxReturn_13 = PHI <0B(5), 0B(16)> # DEBUG pxReturn => pxReturn_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxConstList => pxList_23(D) # DEBUG BEGIN_STMT _7 = pxList_23(D)->pxIndex; _8 = _7->pxNext; pxList_23(D)->pxIndex = _8; # DEBUG BEGIN_STMT if (_4 == _8) goto ; [30.00%] else goto ; [70.00%] [local count: 50324666]: # DEBUG BEGIN_STMT _9 = MEM[(struct ListItem_t *)_8].pxNext; pxList_23(D)->pxIndex = _9; [local count: 167748888]: # DEBUG BEGIN_STMT _10 = pxList_23(D)->pxIndex; pxNextTCB_29 = _10->pvOwner; # DEBUG pxNextTCB => pxNextTCB_29 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xBreakLoop => 0 # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 976138693]: # DEBUG BEGIN_STMT cNextChar_30 = pxNextTCB_29->pcTaskName[x_17]; # DEBUG cNextChar => cNextChar_30 # DEBUG BEGIN_STMT _11 = pcNameToQuery_31(D) + x_17; _12 = *_11; if (_12 != cNextChar_30) goto ; [3.66%] else goto ; [96.34%] [local count: 940412017]: # DEBUG BEGIN_STMT if (cNextChar_30 == 0) goto ; [3.66%] else goto ; [96.34%] [local count: 905992937]: # DEBUG xBreakLoop => 0 # DEBUG pxReturn => pxReturn_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT x_32 = x_17 + 1; # DEBUG x => x_32 [local count: 1073741824]: # pxReturn_14 = PHI # x_17 = PHI <0(8), x_32(11)> # DEBUG xBreakLoop => 0 # DEBUG x => x_17 # DEBUG pxReturn => pxReturn_14 # DEBUG BEGIN_STMT if (x_17 != 10) goto ; [90.91%] else goto ; [9.09%] [local count: 167748888]: # pxReturn_15 = PHI # DEBUG xBreakLoop => NULL # DEBUG pxReturn => pxReturn_15 # DEBUG BEGIN_STMT if (pxReturn_15 != 0B) goto ; [5.50%] else goto ; [94.50%] [local count: 158522699]: # DEBUG BEGIN_STMT if (pxFirstTCB_26 != pxNextTCB_29) goto ; [94.50%] else goto ; [5.50%] [local count: 149803950]: goto ; [100.00%] [local count: 25274560]: # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)> # DEBUG pxReturn => pxReturn_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxReturn_16; } pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery) { uint32_t ulNewBASEPRI; struct TCB_t * iftmp.69_1; struct TCB_t * iftmp.69_4; char * _5; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToQuery_2(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: iftmp.69_4 ={v} pxCurrentTCB; [local count: 357913]: # iftmp.69_1 = PHI # DEBUG pxTCB => iftmp.69_1 # DEBUG BEGIN_STMT if (iftmp.69_1 == 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 _5 = &iftmp.69_1->pcTaskName[0]; return _5; } uxTaskGetNumberOfTasks () { UBaseType_t _2; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 ={v} uxCurrentNumberOfTasks; return _2; } xTaskGetTickCountFromISR () { TickType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortValidateInterruptPriority (); # DEBUG BEGIN_STMT # DEBUG uxSavedInterruptStatus => 0 # DEBUG BEGIN_STMT xReturn_3 ={v} xTickCount; # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } xTaskGetTickCount () { TickType_t xTicks; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicks_2 ={v} xTickCount; # DEBUG xTicks => xTicks_2 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xTicks_2; } xTaskResumeAll () { BaseType_t D.8425; uint32_t ulNewBASEPRI; long unsigned int uxSchedulerSuspended.62_1; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG pxTCB => 0B # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 0 # DEBUG BEGIN_STMT uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.62_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_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: 52886]: _2 = xTaskResumeAll.part.0 (); return _2; } vTaskSuspendAll () { long unsigned int uxSchedulerSuspended.61_1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended; _2 = uxSchedulerSuspended.61_1 + 1; uxSchedulerSuspended ={v} _2; # DEBUG BEGIN_STMT __asm__ __volatile__("" : : : "memory"); return; } vTaskEndScheduler () { uint32_t ulNewBASEPRI; [local count: 1073741824]: # 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 => NULL # DEBUG BEGIN_STMT xSchedulerRunning ={v} 0; # DEBUG BEGIN_STMT vPortEndScheduler (); return; } vTaskStartScheduler () { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; long unsigned int vol.57_13; [local count: 395945]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle); # DEBUG xReturn => xReturn_6 # DEBUG BEGIN_STMT if (xReturn_6 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 80139]: # DEBUG BEGIN_STMT xReturn_8 = xTimerCreateTimerTask (); # DEBUG xReturn => xReturn_8 [local count: 395945]: # xReturn_1 = PHI # DEBUG xReturn => xReturn_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xReturn_1 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 80139]: # 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 => NULL # DEBUG BEGIN_STMT xNextTaskUnblockTime ={v} 4294967295; # DEBUG BEGIN_STMT xSchedulerRunning ={v} 1; # DEBUG BEGIN_STMT xTickCount ={v} 0; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xPortStartScheduler (); goto ; [100.00%] [local count: 315806]: # DEBUG BEGIN_STMT if (xReturn_1 == -1) goto ; [34.00%] else goto ; [66.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: 288571]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vol.57_13 ={v} uxTopUsedPriority; return; } xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xYieldRequired; long int _1; long unsigned int uxSchedulerSuspended.54_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.55_4; long unsigned int _5; struct ListItem_t * _6; long unsigned int _7; long unsigned int uxTopReadyPriority.56_8; struct xLIST_ITEM * _9; struct xLIST_ITEM * _10; struct List_t * _11; long unsigned int _12; long unsigned int _13; struct ListItem_t * _14; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 0 # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToResume_20(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xTaskToResume_20(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_35 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_35 [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 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_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_37 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36 # DEBUG BEGIN_STMT _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D)); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 61694]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.54_2 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 41335]: # DEBUG BEGIN_STMT _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority; pxCurrentTCB.55_4 ={v} pxCurrentTCB; _5 = pxCurrentTCB.55_4->uxPriority; if (_3 >= _5) goto ; [50.00%] else goto ; [50.00%] [local count: 20668]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 # DEBUG BEGIN_STMT xYieldPending ={v} 1; [local count: 41335]: # xYieldRequired_15 = PHI <0(7), 1(8)> # DEBUG xYieldRequired => xYieldRequired_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem; uxListRemove (_6); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority; uxTopReadyPriority.56_8 ={v} uxTopReadyPriority; if (_7 > uxTopReadyPriority.56_8) goto ; [50.00%] else goto ; [50.00%] [local count: 20668]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _7; [local count: 41335]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_28 = pxReadyTasksLists[_7].pxIndex; # DEBUG pxIndex => pxIndex_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28; # DEBUG BEGIN_STMT _9 = pxIndex_28->pxPrevious; MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9; # DEBUG BEGIN_STMT _10 = pxIndex_28->pxPrevious; _10->pxNext = _6; # DEBUG BEGIN_STMT pxIndex_28->pxPrevious = _6; # DEBUG BEGIN_STMT _11 = &pxReadyTasksLists[_7]; MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11; # DEBUG BEGIN_STMT _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems; _13 = _12 + 1; pxReadyTasksLists[_7].uxNumberOfItems ={v} _13; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 20359]: # DEBUG BEGIN_STMT _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem; vListInsertEnd (&xPendingReadyList, _14); [local count: 123389]: # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)> # DEBUG xYieldRequired => xYieldRequired_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xYieldRequired_16; } vTaskResume (struct tskTaskControlBlock * xTaskToResume) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; struct TCB_t * pxCurrentTCB.51_1; long int _2; struct ListItem_t * _3; long unsigned int _4; long unsigned int uxTopReadyPriority.52_5; struct xLIST_ITEM * _6; struct xLIST_ITEM * _7; struct List_t * _8; long unsigned int _9; long unsigned int _10; struct TCB_t * pxCurrentTCB.53_11; long unsigned int _12; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxTCB => xTaskToResume_16(D) # DEBUG BEGIN_STMT if (xTaskToResume_16(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_33 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_33 [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 pxCurrentTCB.51_1 ={v} pxCurrentTCB; if (pxCurrentTCB.51_1 != xTaskToResume_16(D)) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D)); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 44208]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem; uxListRemove (_3); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority; uxTopReadyPriority.52_5 ={v} uxTopReadyPriority; if (_4 > uxTopReadyPriority.52_5) goto ; [50.00%] else goto ; [50.00%] [local count: 22104]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _4; [local count: 44208]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_22 = pxReadyTasksLists[_4].pxIndex; # DEBUG pxIndex => pxIndex_22 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22; # DEBUG BEGIN_STMT _6 = pxIndex_22->pxPrevious; MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6; # DEBUG BEGIN_STMT _7 = pxIndex_22->pxPrevious; _7->pxNext = _3; # DEBUG BEGIN_STMT pxIndex_22->pxPrevious = _3; # DEBUG BEGIN_STMT _8 = &pxReadyTasksLists[_4]; MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8; # DEBUG BEGIN_STMT _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems; _10 = _9 + 1; pxReadyTasksLists[_4].uxNumberOfItems ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.53_11 ={v} pxCurrentTCB; _12 = pxCurrentTCB.53_11->uxPriority; if (_4 >= _12) goto ; [50.00%] else goto ; [50.00%] [local count: 22104]: # 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: 133963]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 250539]: # DEBUG BEGIN_STMT return; } prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask) { uint32_t ulNewBASEPRI; BaseType_t xReturn; struct xLIST * _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_5(D) # DEBUG BEGIN_STMT if (xTask_5(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_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer; if (_1 == &xSuspendedTaskList) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D)); [local count: 250539]: # xReturn_3 = PHI <0(5), xReturn_2(6)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_3; } vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend) { uint32_t ulNewBASEPRI; BaseType_t x; struct ListItem_t * _1; struct xLIST * _2; struct ListItem_t * _3; unsigned char _4; long int xSchedulerRunning.46_5; struct TCB_t * pxCurrentTCB.47_6; long int xSchedulerRunning.48_7; long unsigned int uxSchedulerSuspended.49_8; long unsigned int _9; long unsigned int uxCurrentNumberOfTasks.50_10; struct TCB_t * iftmp.45_12; struct TCB_t * iftmp.45_21; [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTaskToSuspend_20(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: iftmp.45_21 ={v} pxCurrentTCB; [local count: 1431653]: # iftmp.45_12 = PHI # DEBUG pxTCB => iftmp.45_12 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = &iftmp.45_12->xStateListItem; uxListRemove (_1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = iftmp.45_12->xEventListItem.pvContainer; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 765505]: # DEBUG BEGIN_STMT _3 = &iftmp.45_12->xEventListItem; uxListRemove (_3); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vListInsertEnd (&xSuspendedTaskList, _1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG x => 0 goto ; [100.00%] [local count: 24598407]: # DEBUG BEGIN_STMT _4 ={v} iftmp.45_12->ucNotifyState[0]; if (_4 == 1) goto ; [67.00%] else goto ; [33.00%] [local count: 8117474]: goto ; [100.00%] [local count: 16480933]: # DEBUG BEGIN_STMT iftmp.45_12->ucNotifyState[0] ={v} 0; [local count: 17912586]: # x_14 = PHI <0(6), 1(8)> [local count: 26030061]: # x_11 = PHI # DEBUG x => x_11 # DEBUG BEGIN_STMT if (x_11 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1431653]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.46_5 ={v} xSchedulerRunning; if (xSchedulerRunning.46_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 472446]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.47_6 ={v} pxCurrentTCB; if (pxCurrentTCB.47_6 == iftmp.45_12) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: # DEBUG BEGIN_STMT xSchedulerRunning.48_7 ={v} xSchedulerRunning; if (xSchedulerRunning.48_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 214748]: # DEBUG BEGIN_STMT uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.49_8 != 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_36 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_36 [local count: 1073741824]: # 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 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: 214748]: # DEBUG BEGIN_STMT _9 ={v} xSuspendedTaskList.uxNumberOfItems; uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks; if (_9 == uxCurrentNumberOfTasks.50_10) goto ; [51.12%] else goto ; [48.88%] [local count: 109779]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} 0B; goto ; [100.00%] [local count: 104969]: # DEBUG BEGIN_STMT vTaskSwitchContext (); [local count: 1324279]: # DEBUG BEGIN_STMT return; } vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority) { uint32_t ulNewBASEPRI; struct ListItem_t * const pxIndex; BaseType_t xYieldRequired; UBaseType_t uxPriorityUsedOnEntry; UBaseType_t uxCurrentBasePriority; struct TCB_t * pxCurrentTCB.41_1; struct TCB_t * pxCurrentTCB.42_2; long unsigned int _3; struct TCB_t * pxCurrentTCB.43_4; long unsigned int _5; signed int _6; long unsigned int _7; struct xLIST * _8; struct List_t * _9; struct ListItem_t * _10; long unsigned int _11; long unsigned int uxTopReadyPriority.44_12; struct xLIST_ITEM * _13; struct xLIST_ITEM * _14; struct List_t * _15; long unsigned int _16; long unsigned int _17; struct TCB_t * iftmp.40_19; struct TCB_t * iftmp.40_29; [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 0 # DEBUG BEGIN_STMT if (uxNewPriority_25(D) > 4) 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_48 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_48 [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 # DEBUG uxNewPriority => uxNewPriority_25(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTask_28(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 15866]: iftmp.40_29 ={v} pxCurrentTCB; [local count: 52886]: # iftmp.40_19 = PHI # DEBUG pxTCB => iftmp.40_19 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority; # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30 # DEBUG BEGIN_STMT if (uxNewPriority_25(D) != uxCurrentBasePriority_30) goto ; [66.00%] else goto ; [34.00%] [local count: 34905]: # DEBUG BEGIN_STMT if (uxNewPriority_25(D) > uxCurrentBasePriority_30) goto ; [50.00%] else goto ; [50.00%] [local count: 17452]: # DEBUG BEGIN_STMT pxCurrentTCB.41_1 ={v} pxCurrentTCB; if (pxCurrentTCB.41_1 != iftmp.40_19) goto ; [70.00%] else goto ; [30.00%] [local count: 12217]: # DEBUG BEGIN_STMT pxCurrentTCB.42_2 ={v} pxCurrentTCB; _3 = pxCurrentTCB.42_2->uxPriority; if (_3 <= uxNewPriority_25(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 6108]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 goto ; [100.00%] [local count: 17452]: # DEBUG BEGIN_STMT pxCurrentTCB.43_4 ={v} pxCurrentTCB; if (pxCurrentTCB.43_4 == iftmp.40_19) goto ; [30.00%] else goto ; [70.00%] [local count: 5236]: # DEBUG BEGIN_STMT # DEBUG xYieldRequired => 1 [local count: 34905]: # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)> # DEBUG xYieldRequired => xYieldRequired_18 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority; # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31 # DEBUG BEGIN_STMT if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31) goto ; [34.00%] else goto ; [66.00%] [local count: 11868]: # DEBUG BEGIN_STMT iftmp.40_19->uxPriority = uxNewPriority_25(D); [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT iftmp.40_19->uxBasePriority = uxNewPriority_25(D); # DEBUG BEGIN_STMT _5 = iftmp.40_19->xEventListItem.xItemValue; _6 = (signed int) _5; if (_6 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 20594]: # DEBUG BEGIN_STMT _7 = 5 - uxNewPriority_25(D); iftmp.40_19->xEventListItem.xItemValue = _7; [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = iftmp.40_19->xStateListItem.pvContainer; _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31]; if (_8 == _9) goto ; [17.43%] else goto ; [82.57%] [local count: 6084]: # DEBUG BEGIN_STMT _10 = &iftmp.40_19->xStateListItem; uxListRemove (_10); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _11 = iftmp.40_19->uxPriority; uxTopReadyPriority.44_12 ={v} uxTopReadyPriority; if (_11 > uxTopReadyPriority.44_12) goto ; [50.00%] else goto ; [50.00%] [local count: 3042]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _11; [local count: 6084]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_37 = pxReadyTasksLists[_11].pxIndex; # DEBUG pxIndex => pxIndex_37 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT iftmp.40_19->xStateListItem.pxNext = pxIndex_37; # DEBUG BEGIN_STMT _13 = pxIndex_37->pxPrevious; iftmp.40_19->xStateListItem.pxPrevious = _13; # DEBUG BEGIN_STMT _14 = pxIndex_37->pxPrevious; _14->pxNext = _10; # DEBUG BEGIN_STMT pxIndex_37->pxPrevious = _10; # DEBUG BEGIN_STMT _15 = &pxReadyTasksLists[_11]; iftmp.40_19->xStateListItem.pvContainer = _15; # DEBUG BEGIN_STMT _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems; _17 = _16 + 1; pxReadyTasksLists[_11].uxNumberOfItems ={v} _17; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 34905]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xYieldRequired_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17452]: # 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: 52886]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); return; } uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; UBaseType_t uxReturn; const struct TCB_t * iftmp.39_1; const struct TCB_t * iftmp.39_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # 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_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_8 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7 # DEBUG BEGIN_STMT if (xTask_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.39_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.39_1 = PHI # DEBUG pxTCB => iftmp.39_1 # DEBUG BEGIN_STMT uxReturn_6 = iftmp.39_1->uxPriority; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return uxReturn_6; } uxTaskPriorityGet (struct tskTaskControlBlock * const xTask) { UBaseType_t uxReturn; const struct TCB_t * iftmp.38_1; const struct TCB_t * iftmp.38_5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTask_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: iftmp.38_5 ={v} pxCurrentTCB; [local count: 1073741824]: # iftmp.38_1 = PHI # DEBUG pxTCB => iftmp.38_1 # DEBUG BEGIN_STMT uxReturn_6 = iftmp.38_1->uxPriority; # DEBUG uxReturn => uxReturn_6 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_6; } eTaskGetState (struct tskTaskControlBlock * xTask) { uint32_t ulNewBASEPRI; BaseType_t x; const struct List_t * pxOverflowedDelayedList; const struct List_t * pxDelayedList; const struct List_t * pxStateList; eTaskState eReturn; struct TCB_t * pxCurrentTCB.37_1; struct xLIST * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxTCB => xTask_5(D) # DEBUG BEGIN_STMT if (xTask_5(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_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxCurrentTCB.37_1 ={v} pxCurrentTCB; if (pxCurrentTCB.37_1 == xTask_5(D)) goto ; [46.53%] else goto ; [53.47%] [local count: 133963]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer; # DEBUG pxStateList => pxStateList_9 # DEBUG BEGIN_STMT pxDelayedList_10 ={v} pxDelayedTaskList; # DEBUG pxDelayedList => pxDelayedList_10 # DEBUG BEGIN_STMT pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList; # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11 # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT if (pxStateList_9 == pxDelayedList_10) goto ; [18.75%] else goto ; [81.25%] [local count: 108845]: if (pxStateList_9 == pxOverflowedDelayedList_11) goto ; [18.75%] else goto ; [81.25%] [local count: 88437]: # DEBUG BEGIN_STMT if (pxStateList_9 == &xSuspendedTaskList) goto ; [30.00%] else goto ; [70.00%] [local count: 26531]: # DEBUG BEGIN_STMT _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer; if (_2 == 0B) goto ; [44.32%] else goto ; [55.68%] [local count: 11759]: # x_4 = PHI <0(9)> eReturn_13 = eTaskGetState.part.0 (xTask_5(D)); goto ; [100.00%] [local count: 61906]: # DEBUG BEGIN_STMT if (pxStateList_9 == &xTasksWaitingTermination) goto ; [18.75%] else goto ; [81.25%] [local count: 50298]: if (pxStateList_9 == 0B) goto ; [18.75%] else goto ; [81.25%] [local count: 40867]: # DEBUG BEGIN_STMT # DEBUG eReturn => 1 [local count: 250539]: # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(12), 1(13), 4(11), eReturn_13(10), 2(6)> # DEBUG eReturn => eReturn_3 # DEBUG BEGIN_STMT return eReturn_3; } vTaskDelay (const TickType_t xTicksToDelay) { uint32_t ulNewBASEPRI; BaseType_t xAlreadyYielded; long unsigned int uxSchedulerSuspended.36_1; [local count: 320519]: # DEBUG BEGIN_STMT # DEBUG xAlreadyYielded => 0 # DEBUG BEGIN_STMT if (xTicksToDelay_3(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 160260]: # DEBUG BEGIN_STMT uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.36_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_13 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_13 [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 vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0); # DEBUG BEGIN_STMT xAlreadyYielded_8 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_8 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xAlreadyYielded_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 186703]: # DEBUG xAlreadyYielded => NULL # 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: 213145]: # DEBUG BEGIN_STMT return; } xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const TickType_t xConstTickCount; BaseType_t xShouldDelay; BaseType_t xAlreadyYielded; TickType_t xTimeToWake; long unsigned int uxSchedulerSuspended.22_1; long unsigned int _2; long unsigned int _3; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT if (pxPreviousWakeTime_7(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_21 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_21 [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 if (xTimeIncrement_8(D) == 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_22 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_22 [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 uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.22_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # 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: 719407021]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407021]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT xConstTickCount_11 ={v} xTickCount; # DEBUG xConstTickCount => xConstTickCount_11 # DEBUG BEGIN_STMT _2 = *pxPreviousWakeTime_7(D); xTimeToWake_12 = _2 + xTimeIncrement_8(D); # DEBUG xTimeToWake => xTimeToWake_12 # DEBUG BEGIN_STMT if (_2 > xConstTickCount_11) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT if (_2 > xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 8858]: if (xConstTickCount_11 < xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 4429]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 4429]: # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 1 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 17717]: # DEBUG BEGIN_STMT if (_2 > xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: if (xConstTickCount_11 < xTimeToWake_12) goto ; [50.00%] else goto ; [50.00%] [local count: 13288]: # DEBUG BEGIN_STMT # DEBUG xShouldDelay => 1 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 4429]: # DEBUG xShouldDelay => 0 # DEBUG BEGIN_STMT *pxPreviousWakeTime_7(D) = xTimeToWake_12; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 17717]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTimeToWake_12 - xConstTickCount_11; prvAddCurrentTaskToDelayedList (_3, 0); [local count: 35433]: # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)> # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xAlreadyYielded_16 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_16 # DEBUG BEGIN_STMT if (xAlreadyYielded_16 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # 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: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xShouldDelay_29; } vTaskDelete (struct tskTaskControlBlock * xTaskToDelete) { uint32_t ulNewBASEPRI; struct ListItem_t * _1; struct xLIST * _2; struct ListItem_t * _3; long unsigned int uxTaskNumber.13_4; long unsigned int _5; struct TCB_t * pxCurrentTCB.14_6; long unsigned int uxDeletedTasksWaitingCleanUp.15_7; long unsigned int _8; long unsigned int uxCurrentNumberOfTasks.16_9; long unsigned int _10; long int xSchedulerRunning.17_11; struct TCB_t * pxCurrentTCB.18_12; long unsigned int uxSchedulerSuspended.19_13; struct TCB_t * iftmp.12_14; struct TCB_t * iftmp.12_21; [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT if (xTaskToDelete_20(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: iftmp.12_21 ={v} pxCurrentTCB; [local count: 1431653]: # iftmp.12_14 = PHI # DEBUG pxTCB => iftmp.12_14 # DEBUG BEGIN_STMT _1 = &iftmp.12_14->xStateListItem; uxListRemove (_1); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = iftmp.12_14->xEventListItem.pvContainer; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 765505]: # DEBUG BEGIN_STMT _3 = &iftmp.12_14->xEventListItem; uxListRemove (_3); [local count: 1431653]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTaskNumber.13_4 = uxTaskNumber; _5 = uxTaskNumber.13_4 + 1; uxTaskNumber = _5; # DEBUG BEGIN_STMT pxCurrentTCB.14_6 ={v} pxCurrentTCB; if (pxCurrentTCB.14_6 == iftmp.12_14) goto ; [30.00%] else goto ; [70.00%] [local count: 429496]: # DEBUG BEGIN_STMT vListInsertEnd (&xTasksWaitingTermination, _1); # DEBUG BEGIN_STMT uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp; _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1; uxDeletedTasksWaitingCleanUp ={v} _8; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1002157]: # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks; _10 = uxCurrentNumberOfTasks.16_9 + 4294967295; uxCurrentNumberOfTasks ={v} _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT prvDeleteTCB (iftmp.12_14); # DEBUG BEGIN_STMT prvResetNextTaskUnblockTime (); [local count: 1431653]: # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.17_11 ={v} xSchedulerRunning; if (xSchedulerRunning.17_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 715827]: # DEBUG BEGIN_STMT pxCurrentTCB.18_12 ={v} pxCurrentTCB; if (pxCurrentTCB.18_12 == iftmp.12_14) goto ; [30.00%] else goto ; [70.00%] [local count: 214748]: # DEBUG BEGIN_STMT uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended; if (uxSchedulerSuspended.19_13 != 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_34 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_34 [local count: 1073741824]: # 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 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: 1324279]: # DEBUG BEGIN_STMT return; } prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB) { struct ListItem_t * const pxIndex; long unsigned int uxCurrentNumberOfTasks.2_1; long unsigned int _2; struct TCB_t * pxCurrentTCB.3_3; long unsigned int uxCurrentNumberOfTasks.4_4; long int xSchedulerRunning.5_5; struct TCB_t * pxCurrentTCB.6_6; long unsigned int _7; long unsigned int _8; long unsigned int uxTaskNumber.7_9; long unsigned int _10; long unsigned int _11; long unsigned int uxTopReadyPriority.9_12; struct xLIST_ITEM * _13; struct xLIST_ITEM * _14; struct ListItem_t * _15; struct List_t * _16; long unsigned int _17; long unsigned int _18; long int xSchedulerRunning.10_19; struct TCB_t * pxCurrentTCB.11_20; long unsigned int _21; long unsigned int _22; [local count: 1073741821]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.2_1 ={v} uxCurrentNumberOfTasks; _2 = uxCurrentNumberOfTasks.2_1 + 1; uxCurrentNumberOfTasks ={v} _2; # DEBUG BEGIN_STMT pxCurrentTCB.3_3 ={v} pxCurrentTCB; if (pxCurrentTCB.3_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122546]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} pxNewTCB_29(D); # DEBUG BEGIN_STMT uxCurrentNumberOfTasks.4_4 ={v} uxCurrentNumberOfTasks; if (uxCurrentNumberOfTasks.4_4 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 65197603]: # DEBUG BEGIN_STMT prvInitialiseTaskLists (); goto ; [100.00%] [local count: 751619275]: # DEBUG BEGIN_STMT xSchedulerRunning.5_5 ={v} xSchedulerRunning; if (xSchedulerRunning.5_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 375809637]: # DEBUG BEGIN_STMT pxCurrentTCB.6_6 ={v} pxCurrentTCB; _7 = pxCurrentTCB.6_6->uxPriority; _8 = pxNewTCB_29(D)->uxPriority; if (_7 <= _8) goto ; [50.00%] else goto ; [50.00%] [local count: 187904819]: # DEBUG BEGIN_STMT pxCurrentTCB ={v} pxNewTCB_29(D); [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxTaskNumber.7_9 = uxTaskNumber; _10 = uxTaskNumber.7_9 + 1; uxTaskNumber = _10; # DEBUG BEGIN_STMT pxNewTCB_29(D)->uxTCBNumber = _10; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _11 = pxNewTCB_29(D)->uxPriority; uxTopReadyPriority.9_12 ={v} uxTopReadyPriority; if (_11 > uxTopReadyPriority.9_12) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT uxTopReadyPriority ={v} _11; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxIndex_36 = pxReadyTasksLists[_11].pxIndex; # DEBUG pxIndex => pxIndex_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxNewTCB_29(D)->xStateListItem.pxNext = pxIndex_36; # DEBUG BEGIN_STMT _13 = pxIndex_36->pxPrevious; pxNewTCB_29(D)->xStateListItem.pxPrevious = _13; # DEBUG BEGIN_STMT _14 = pxIndex_36->pxPrevious; _15 = &pxNewTCB_29(D)->xStateListItem; _14->pxNext = _15; # DEBUG BEGIN_STMT pxIndex_36->pxPrevious = _15; # DEBUG BEGIN_STMT _16 = &pxReadyTasksLists[_11]; pxNewTCB_29(D)->xStateListItem.pvContainer = _16; # DEBUG BEGIN_STMT _17 ={v} pxReadyTasksLists[_11].uxNumberOfItems; _18 = _17 + 1; pxReadyTasksLists[_11].uxNumberOfItems ={v} _18; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT xSchedulerRunning.10_19 ={v} xSchedulerRunning; if (xSchedulerRunning.10_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT pxCurrentTCB.11_20 ={v} pxCurrentTCB; _21 = pxCurrentTCB.11_20->uxPriority; _22 = pxNewTCB_29(D)->uxPriority; if (_21 < _22) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # 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: 1073741824]: # DEBUG BEGIN_STMT return; } xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask) { StackType_t * pxStack; BaseType_t xReturn; struct TCB_t * pxNewTCB; unsigned int _1; unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (unsigned int) usStackDepth_6(D); _2 = _1 * 4; pxStack_9 = pvPortMalloc (_2); # DEBUG pxStack => pxStack_9 # DEBUG BEGIN_STMT if (pxStack_9 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT pxNewTCB_11 = pvPortMalloc (88); # DEBUG pxNewTCB => pxNewTCB_11 # DEBUG BEGIN_STMT if (pxNewTCB_11 != 0B) goto ; [82.57%] else goto ; [17.43%] [local count: 474058937]: # DEBUG BEGIN_STMT pxNewTCB_11->pxStack = pxStack_9; goto ; [100.00%] [local count: 100070816]: # DEBUG BEGIN_STMT vPortFree (pxStack_9); [local count: 574129754]: # DEBUG pxNewTCB => pxNewTCB_11 # DEBUG BEGIN_STMT if (pxNewTCB_11 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 306987179]: # DEBUG BEGIN_STMT # DEBUG D#1 => 0B prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11); # DEBUG BEGIN_STMT prvAddNewTaskToReadyList (pxNewTCB_11); # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 1073741824]: # xReturn_3 = PHI <1(8), -1(7), -1(2)> # DEBUG pxNewTCB => NULL # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; }