Analyzing function: xEventGroupSetBits.part.0/39 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 12 2 3 4 5 6 7 8 9 10 11 ;; ;; Loop 1 ;; header 10, latch 9 ;; depth 1, outer 0 ;; nodes: 10 9 4 5 8 6 7 3 ;; 12 succs { 2 } ;; 2 succs { 10 } ;; 3 succs { 4 5 } ;; 4 succs { 6 9 } ;; 5 succs { 6 9 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 } ;; 9 succs { 10 } ;; 10 succs { 3 11 } ;; 11 succs { 1 } Analyzing function body size: xEventGroupSetBits.part.0 IPA function summary for xEventGroupSetBits.part.0/39 inlinable global time: 189.559092 self size: 39 global size: 0 min size: 0 self stack: 0 global stack: 0 size:26.500000, time:118.036364 size:7.500000, time:10.744546, executed if:(not inlined) calls: vTaskSuspendAll/21 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vTaskRemoveFromUnorderedEventList/28 function body not available loop depth: 1 freq:3.40 size: 3 time: 12 xTaskResumeAll/23 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: xEventGroupClearBits.part.0/36 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 3 2 ;; 3 succs { 2 } ;; 2 succs { 1 } Analyzing function body size: xEventGroupClearBits.part.0 IPA function summary for xEventGroupClearBits.part.0/36 inlinable global time: 26.000000 self size: 9 global size: 0 min size: 0 self stack: 0 global stack: 0 size:2.000000, time:2.000000 size:4.000000, time:3.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: vPortEnterCritical/25 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 vPortExitCritical/26 function body not available loop depth: 0 freq:1.00 size: 1 time: 10 Analyzing function: vEventGroupSetNumber/17 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vEventGroupSetNumber IPA function summary for vEventGroupSetNumber/17 inlinable global time: 3.000000 self size: 4 global size: 0 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: Analyzing function: uxEventGroupGetNumber/16 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; 2 succs { 4 3 } ;; 3 succs { 4 } ;; 4 succs { 1 } Analyzing function body size: uxEventGroupGetNumber IPA function summary for uxEventGroupGetNumber/16 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: 192] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) calls: Analyzing function: xEventGroupSetBitsFromISR/15 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xEventGroupSetBitsFromISR IPA function summary for xEventGroupSetBitsFromISR/15 inlinable global time: 17.000000 self size: 9 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) calls: xTimerPendFunctionCallFromISR/27 function body not available loop depth: 0 freq:1.00 size: 6 time: 15 op0 is compile time invariant Analyzing function: prvTestWaitCondition/14 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 ;; 2 succs { 3 5 } ;; 3 succs { 4 7 } ;; 4 succs { 7 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: prvTestWaitCondition IPA function summary for prvTestWaitCondition/14 inlinable global time: 7.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:2.000000, time:2.000000, nonconst if:(op2 changed) size:3.000000, time:1.500000, executed if:(op2 != 0), nonconst if:(op0 changed || op1 changed) && (op2 != 0) size:3.000000, time:1.500000, executed if:(op2 == 0), nonconst if:(op0 changed || op1 changed) && (op2 == 0) calls: Analyzing function: vEventGroupClearBitsCallback/13 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vEventGroupClearBitsCallback IPA function summary for vEventGroupClearBitsCallback/13 inlinable global time: 14.000000 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) calls: xEventGroupClearBits/7 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: vEventGroupSetBitsCallback/12 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vEventGroupSetBitsCallback IPA function summary for vEventGroupSetBitsCallback/12 inlinable global time: 14.000000 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) calls: xEventGroupSetBits/10 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12 Analyzing function: vEventGroupDelete/11 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 12 5 6 7 8 13 9 10 11 ;; ;; Loop 3 ;; header 4, latch 12 ;; depth 1, outer 0 ;; nodes: 4 12 ;; ;; Loop 2 ;; header 8, latch 13 ;; depth 1, outer 0 ;; nodes: 8 13 ;; ;; Loop 1 ;; header 10, latch 9 ;; depth 1, outer 0 ;; nodes: 10 9 6 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 12 } ;; 12 succs { 4 } ;; 5 succs { 10 } ;; 6 succs { 7 9 } ;; 7 succs { 8 } ;; 8 succs { 13 } ;; 13 succs { 8 } ;; 9 succs { 10 } ;; 10 succs { 6 11 } ;; 11 succs { 1 } Analyzing function body size: vEventGroupDelete IPA function summary for vEventGroupDelete/11 inlinable global time: 100.024761 self size: 28 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:5.410727, executed if:(op0 != 0B) && (not inlined) size:10.000000, time:25.603487, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: xTaskResumeAll/23 function body not available loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 != 0B) vPortFree/29 function body not available loop depth: 0 freq:0.27 size: 2 time: 11 predicate: (op0 != 0B) vTaskRemoveFromUnorderedEventList/28 function body not available loop depth: 1 freq:4.46 size: 3 time: 12 predicate: (op0 != 0B) op1 is compile time invariant vTaskSuspendAll/21 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: xEventGroupSetBits/10 ;; 4 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 3 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 ;; ;; Loop 2 ;; 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: xEventGroupSetBits IPA function summary for xEventGroupSetBits/10 inlinable global time: 11.410047 self size: 22 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:2.100008, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.345004, executed if:(op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: xEventGroupSetBits.part.0/39 function not considered for inlining loop depth: 0 freq:0.23 size: 4 time: 13callee size:19 stack: 0 predicate: (op0 != 0B) Analyzing function: xEventGroupGetBitsFromISR/9 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xEventGroupGetBitsFromISR IPA function summary for xEventGroupGetBitsFromISR/9 inlinable global time: 10.000000 self size: 11 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.500000, time:7.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: Analyzing function: xEventGroupClearBitsFromISR/8 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: xEventGroupClearBitsFromISR IPA function summary for xEventGroupClearBitsFromISR/8 inlinable global time: 17.000000 self size: 9 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) calls: xTimerPendFunctionCallFromISR/27 function body not available loop depth: 0 freq:1.00 size: 6 time: 15 op0 is compile time invariant op3 is compile time invariant Analyzing function: xEventGroupClearBits/7 ;; 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: xEventGroupClearBits IPA function summary for xEventGroupClearBits/7 inlinable global time: 11.410047 self size: 22 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:2.100008, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:1.000000, time:0.462003, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.345004, executed if:(op0 != 0B) size:5.000000, time:1.500009, executed if:(op0 == 0B) calls: xEventGroupClearBits.part.0/36 function not considered for inlining loop depth: 0 freq:0.23 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0 != 0B) Analyzing function: xEventGroupWaitBits/6 ;; 5 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 34 5 6 7 35 8 9 10 36 11 12 13 14 37 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ;; ;; Loop 4 ;; header 4, latch 34 ;; depth 1, outer 0 ;; nodes: 4 34 ;; ;; Loop 3 ;; header 7, latch 35 ;; depth 1, outer 0 ;; nodes: 7 35 ;; ;; Loop 2 ;; header 10, latch 36 ;; depth 1, outer 0 ;; nodes: 10 36 ;; ;; Loop 1 ;; header 14, latch 37 ;; depth 1, outer 0 ;; nodes: 14 37 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 34 } ;; 34 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 35 } ;; 35 succs { 7 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 36 } ;; 36 succs { 10 } ;; 11 succs { 15 12 } ;; 12 succs { 15 13 } ;; 13 succs { 14 } ;; 14 succs { 37 } ;; 37 succs { 14 } ;; 15 succs { 16 18 } ;; 16 succs { 17 24 } ;; 17 succs { 24 } ;; 18 succs { 24 19 } ;; 19 succs { 20 21 } ;; 20 succs { 21 } ;; 21 succs { 22 23 } ;; 22 succs { 23 } ;; 23 succs { 24 } ;; 24 succs { 25 33 } ;; 25 succs { 26 27 } ;; 26 succs { 27 } ;; 27 succs { 28 32 } ;; 28 succs { 29 31 } ;; 29 succs { 30 31 } ;; 30 succs { 31 } ;; 31 succs { 32 } ;; 32 succs { 33 } ;; 33 succs { 1 } Analyzing function body size: xEventGroupWaitBits IPA function summary for xEventGroupWaitBits/6 inlinable global time: 16.066158 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:5.000000, time:2.799999, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:18.000000, time:0.896349, executed if:(op1 != 0) && (op0 != 0B) size:4.000000, time:0.231577, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op4 changed) && (op1 != 0) && (op0 != 0B) size:5.000000, time:0.193459, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B) size:2.000000, time:0.198354, executed if:(op1 != 0) && (op0 != 0B) && (not inlined) size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B) size:2.000000, time:0.038405, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B) size:1.000000, time:0.009600, executed if:(op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op3 != 0) && (op4 != 0) && (op1 != 0) && (op0 != 0B) size:1.000000, time:0.019202, executed if:(op4 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed || op2 changed || op3 changed) && (op4 != 0) && (op1 != 0) && (op0 != 0B) size:4.000000, time:0.089483, executed if:(op1 != 0) && (op0 != 0B), nonconst if:(op2 changed) && (op1 != 0) && (op0 != 0B) size:2.000000, time:0.022371, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B), nonconst if:(op1 changed) && (op2 != 0) && (op1 != 0) && (op0 != 0B) size:3.000000, time:0.033556, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) size:1.000000, time:0.011185, executed if:(op2 != 0) && (op1 != 0) && (op0 != 0B) && (not inlined) size:5.000000, time:1.172506, executed if:(op1 == 0) && (op0 != 0B) size:5.000000, time:1.749999, executed if:(op0 != 0B) size:5.000000, time:1.500002, executed if:(op0 == 0B) calls: vPortExitCritical/26 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B) prvTestWaitCondition/14 function not considered for inlining loop depth: 0 freq:0.01 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B) vPortEnterCritical/25 function body not available loop depth: 0 freq:0.01 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B) uxTaskResetEventItemValue/24 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B) xTaskResumeAll/23 function body not available loop depth: 0 freq:0.08 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B) vTaskPlaceOnUnorderedEventList/22 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op4 != 0) && (op1 != 0) && (op0 != 0B) prvTestWaitCondition/14 function not considered for inlining loop depth: 0 freq:0.08 size: 5 time: 14callee size: 5 stack: 0 predicate: (op1 != 0) && (op0 != 0B) vTaskSuspendAll/21 function body not available loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op1 != 0) && (op0 != 0B) xTaskGetSchedulerState/20 function body not available loop depth: 0 freq:0.12 size: 2 time: 11 predicate: (op1 != 0) && (op0 != 0B) Analyzing function: xEventGroupSync/5 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 26 5 6 7 27 8 9 10 11 28 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ;; ;; Loop 3 ;; header 4, latch 26 ;; depth 1, outer 0 ;; nodes: 4 26 ;; ;; Loop 2 ;; header 7, latch 27 ;; depth 1, outer 0 ;; nodes: 7 27 ;; ;; Loop 1 ;; header 11, latch 28 ;; depth 1, outer 0 ;; nodes: 11 28 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 26 } ;; 26 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 27 } ;; 27 succs { 7 } ;; 8 succs { 12 9 } ;; 9 succs { 12 10 } ;; 10 succs { 11 } ;; 11 succs { 28 } ;; 28 succs { 11 } ;; 12 succs { 13 14 } ;; 13 succs { 17 } ;; 14 succs { 15 16 } ;; 15 succs { 17 } ;; 16 succs { 17 } ;; 17 succs { 18 25 } ;; 18 succs { 19 20 } ;; 19 succs { 20 } ;; 20 succs { 21 24 } ;; 21 succs { 22 23 } ;; 22 succs { 23 } ;; 23 succs { 24 } ;; 24 succs { 25 } ;; 25 succs { 1 } Analyzing function body size: xEventGroupSync IPA function summary for xEventGroupSync/5 inlinable global time: 17.570981 self size: 74 global size: 0 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:2.500000 size:2.000000, time:0.000000, executed if:(not inlined) size:5.000000, time:4.000000, nonconst if:(op2 changed) size:24.500000, time:1.601894, executed if:(op2 != 0) size:4.000000, time:0.365936, executed if:(op2 != 0), nonconst if:(op3 changed) && (op2 != 0) size:5.000000, time:0.276370, executed if:(op3 != 0) && (op2 != 0) size:3.500000, time:0.323745, executed if:(op2 != 0) && (not inlined) size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0) && (not inlined) size:0.500000, time:0.024261, executed if:(op3 == 0) && (op2 != 0) size:1.000000, time:0.023898, executed if:(op3 != 0) && (op2 != 0), nonconst if:(op2 changed) && (op3 != 0) && (op2 != 0) size:2.000000, time:0.043460, executed if:(op2 != 0), nonconst if:(op2 changed) && (op2 != 0) size:5.000000, time:1.675010, executed if:(op2 == 0) calls: vPortExitCritical/26 function body not available loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0) vPortEnterCritical/25 function body not available loop depth: 0 freq:0.02 size: 1 time: 10 predicate: (op2 != 0) uxTaskResetEventItemValue/24 function body not available loop depth: 0 freq:0.05 size: 2 time: 11 predicate: (op2 != 0) xTaskResumeAll/23 function body not available loop depth: 0 freq:0.11 size: 2 time: 11 predicate: (op2 != 0) vTaskPlaceOnUnorderedEventList/22 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op3 != 0) && (op2 != 0) xEventGroupSetBits/10 function not considered for inlining loop depth: 0 freq:0.11 size: 3 time: 12callee size:11 stack: 0 predicate: (op2 != 0) vTaskSuspendAll/21 function body not available loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op2 != 0) xTaskGetSchedulerState/20 function body not available loop depth: 0 freq:0.16 size: 2 time: 11 predicate: (op2 != 0) Analyzing function: xEventGroupCreate/4 ;; 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: xEventGroupCreate IPA function summary for xEventGroupCreate/4 inlinable global time: 22.416400 self size: 11 global size: 0 min size: 0 self stack: 0 global stack: 0 size:3.000000, time:2.534700 size:3.000000, time:2.000000, executed if:(not inlined) calls: vListInitialise/19 function body not available loop depth: 0 freq:0.53 size: 2 time: 11 pvPortMalloc/18 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant Symbol table: xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @05de90e0 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: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @05de3a80 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) vPortFree/29 (vPortFree) @05ecab60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) Calls: vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @05eca9a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) Calls: xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @05eca460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) Calls: vPortExitCritical/26 (vPortExitCritical) @05eadd20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) Calls: vPortEnterCritical/25 (vPortEnterCritical) @05eadc40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) Calls: uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @05eadb60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) Calls: xTaskResumeAll/23 (xTaskResumeAll) @05eada80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) Calls: vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @05ead9a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) Calls: vTaskSuspendAll/21 (vTaskSuspendAll) @05ead8c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) Calls: xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @05ead7e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) Calls: vListInitialise/19 (vListInitialise) @05ead460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) Calls: pvPortMalloc/18 (pvPortMalloc) @05ead380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) Calls: vEventGroupSetNumber/17 (vEventGroupSetNumber) @05ea1e00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @05ea18c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @05ea12a0 Type: function definition analyzed Visibility: externally_visible public References: vEventGroupSetBitsCallback/12 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) prvTestWaitCondition/14 (prvTestWaitCondition) @05ea1d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) Calls: vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @05ea1a80 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: xEventGroupClearBitsFromISR/8 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @05ea17e0 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: xEventGroupSetBitsFromISR/15 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) vEventGroupDelete/11 (vEventGroupDelete) @05ea1540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) xEventGroupSetBits/10 (xEventGroupSetBits) @05ea11c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @05e5da80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @05e5d0e0 Type: function definition analyzed Visibility: externally_visible public References: vEventGroupClearBitsCallback/13 (addr) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBits/7 (xEventGroupClearBits) @05e5dd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:228942 (estimated locally) body optimize_size Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (xEventGroupWaitBits) @05e5d9a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) xEventGroupSync/5 (xEventGroupSync) @05e5d460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) xEventGroupCreate/4 (xEventGroupCreate) @05e5d000 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet) { struct ListItem_t * pxListItem; struct ListItem_t * pxNext; const struct ListItem_t * pxListEnd; const struct List_t * pxList; EventBits_t uxBitsToClear; EventBits_t uxBitsWaitedFor; EventBits_t uxControlBits; struct EventGroup_t * pxEventBits; BaseType_t xMatchFound; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _4; long unsigned int _6; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _23; long unsigned int _24; long unsigned int _25; [local count: 118111600]: [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits # DEBUG pxList => D#1 # DEBUG BEGIN_STMT pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd; # DEBUG pxListEnd => pxListEnd_2 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext; # DEBUG pxListItem => pxListItem_3 # DEBUG BEGIN_STMT _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _6 = _4 | uxBitsToSet_5(D); MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT pxNext_8 = pxListItem_7->pxNext; # DEBUG pxNext => pxNext_8 # DEBUG BEGIN_STMT uxBitsWaitedFor_9 = pxListItem_7->xItemValue; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9 # DEBUG BEGIN_STMT # DEBUG xMatchFound => 0 # DEBUG BEGIN_STMT # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080 # DEBUG BEGIN_STMT uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215; # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10 # DEBUG BEGIN_STMT _11 = uxBitsWaitedFor_9 & 67108864; if (_11 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _13 = uxBitsWaitedFor_10 & _12; if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 477815111]: # DEBUG BEGIN_STMT _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _15 = uxBitsWaitedFor_10 & _14; if (uxBitsWaitedFor_10 == _15) goto ; [34.00%] else goto ; [66.00%] [local count: 401364694]: # DEBUG xMatchFound => NULL # DEBUG BEGIN_STMT _16 = uxBitsWaitedFor_9 & 16777216; if (_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 200682347]: # DEBUG BEGIN_STMT uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17; # DEBUG uxBitsToClear => uxBitsToClear_18 [local count: 401364694]: # uxBitsToClear_26 = PHI # DEBUG uxBitsToClear => uxBitsToClear_26 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _20 = _19 | 33554432; vTaskRemoveFromUnorderedEventList (pxListItem_7, _20); [local count: 955630225]: # pxListItem_27 = PHI # uxBitsToClear_28 = PHI [local count: 1073741824]: # pxListItem_7 = PHI # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)> # DEBUG xMatchFound => NULL # DEBUG uxBitsToClear => uxBitsToClear_17 # DEBUG pxListItem => pxListItem_7 # DEBUG BEGIN_STMT if (pxListEnd_2 != pxListItem_7) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: # uxBitsToClear_22 = PHI # DEBUG BEGIN_STMT _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; _23 = ~uxBitsToClear_22; _24 = _21 & _23; MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24; # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; return _25; } xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { struct EventGroup_t * pxEventBits; EventBits_t uxReturn; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; # DEBUG uxReturn => uxReturn_2 # DEBUG BEGIN_STMT _4 = ~uxBitsToClear_3(D); _5 = uxReturn_2 & _4; MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return uxReturn_2; } vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D); return; } uxEventGroupGetNumber (void * xEventGroup) { UBaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_2(D) # DEBUG BEGIN_STMT if (xEventGroup_2(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 751619278]: # DEBUG BEGIN_STMT xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber; # DEBUG xReturn => xReturn_4 [local count: 1073741824]: # xReturn_1 = PHI <0(2), xReturn_4(3)> # DEBUG xReturn => xReturn_1 # DEBUG BEGIN_STMT return xReturn_1; } xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken) { BaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D)); # DEBUG xReturn => xReturn_6 # DEBUG BEGIN_STMT return xReturn_6; } prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits) { BaseType_t xWaitConditionMet; long unsigned int _1; long unsigned int _2; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 0 # DEBUG BEGIN_STMT if (xWaitForAllBits_4(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D); if (_1 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 1 goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D); if (_2 == uxBitsToWaitFor_6(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT # DEBUG xWaitConditionMet => 1 [local count: 1073741824]: # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)> # DEBUG xWaitConditionMet => xWaitConditionMet_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xWaitConditionMet_3; } vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear) { [local count: 1073741824]: # DEBUG BEGIN_STMT xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D)); return; } vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet) { [local count: 1073741824]: # DEBUG BEGIN_STMT xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D)); return; } vEventGroupDelete (struct EventGroupDef_t * xEventGroup) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; struct xLIST_ITEM * _1; const struct MiniListItem_t * _2; long unsigned int _3; [local count: 230763]: # DEBUG BEGIN_STMT if (xEventGroup_5(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_11 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_11 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_5(D) # DEBUG BEGIN_STMT # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits # DEBUG pxTasksWaitingForBits => D#2 # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1089998]: # DEBUG BEGIN_STMT _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext; _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd; if (_1 == _2) goto ; [5.50%] else goto ; [94.50%] [local count: 59950]: # 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: 599500022]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 599500022]: goto ; [100.00%] [local count: 1030048]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskRemoveFromUnorderedEventList (_1, 33554432); [local count: 1153437]: # DEBUG BEGIN_STMT _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems; if (_3 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 63439]: # DEBUG BEGIN_STMT vPortFree (xEventGroup_5(D)); # DEBUG BEGIN_STMT xTaskResumeAll (); return; } xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet) { EventBits_t D.6634; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG uxBitsToClear => 0 # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_3(D) # DEBUG BEGIN_STMT # DEBUG xMatchFound => 0 # DEBUG BEGIN_STMT if (xEventGroup_3(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_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToSet_4(D) & 4278190080; if (_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_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: 52886]: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D)); return _6; } xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; EventBits_t uxReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_1(D) # DEBUG BEGIN_STMT # 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_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4 # DEBUG BEGIN_STMT uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits; # DEBUG uxReturn => uxReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_4 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return uxReturn_3; } xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { BaseType_t xReturn; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B); # DEBUG xReturn => xReturn_5 # DEBUG BEGIN_STMT return xReturn_5; } xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear) { EventBits_t D.6607; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; long unsigned int _1; [local count: 228942]: # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_3(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xEventGroup_3(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_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [local count: 686828460]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 686828460]: goto ; [100.00%] [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToClear_5(D) & 4278190080; if (_1 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_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: 52886]: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D)); return _2; } xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; const EventBits_t uxCurrentEventBits; BaseType_t xAlreadyYielded; BaseType_t xWaitConditionMet; EventBits_t uxControlBits; EventBits_t uxReturn; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; struct List_t * _5; long unsigned int _6; long unsigned int _7; long int _8; long unsigned int _9; long unsigned int _10; [local count: 306783]: # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_22(D) # DEBUG BEGIN_STMT # DEBUG uxControlBits => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 0 # DEBUG BEGIN_STMT if (xEventGroup_22(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_45 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_45 [local count: 920350133]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = uxBitsToWaitFor_23(D) & 4278190080; 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_30 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_30 [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 if (uxBitsToWaitFor_23(D) == 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_49 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_49 [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 _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 23740]: if (xTicksToWait_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11870]: # 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_50 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_50 [local count: 118702158]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 118702158]: goto ; [100.00%] [local count: 23563]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits; # DEBUG uxCurrentEventBits => uxCurrentEventBits_28 # DEBUG BEGIN_STMT xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D)); # DEBUG xWaitConditionMet => xWaitConditionMet_31 # DEBUG BEGIN_STMT if (xWaitConditionMet_31 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT # DEBUG uxReturn => uxCurrentEventBits_28 # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 0 # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # DEBUG BEGIN_STMT _3 = ~uxBitsToWaitFor_23(D); _4 = _3 & uxCurrentEventBits_28; MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4; goto ; [100.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xTicksToWait_26(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2945]: # DEBUG BEGIN_STMT # DEBUG uxControlBits => 16777216 [local count: 5891]: # uxControlBits_15 = PHI <0(19), 16777216(20)> # DEBUG uxControlBits => uxControlBits_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xWaitForAllBits_29(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2945]: # DEBUG BEGIN_STMT uxControlBits_33 = uxControlBits_15 | 67108864; # DEBUG uxControlBits => uxControlBits_33 [local count: 5891]: # uxControlBits_16 = PHI # DEBUG uxControlBits => uxControlBits_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits; _6 = uxControlBits_16 | uxBitsToWaitFor_23(D); vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D)); # DEBUG BEGIN_STMT # DEBUG uxReturn => 0 [local count: 23563]: # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)> # uxReturn_12 = PHI # DEBUG xTimeoutOccurred => NULL # DEBUG uxReturn => uxReturn_12 # DEBUG xTicksToWait => xTicksToWait_11 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xAlreadyYielded_37 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_37 # DEBUG BEGIN_STMT if (xTicksToWait_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xAlreadyYielded_37 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # 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: 11782]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_42 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_42 # DEBUG BEGIN_STMT _7 = uxReturn_42 & 33554432; if (_7 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3888]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits; # DEBUG uxReturn => uxReturn_44 # DEBUG BEGIN_STMT _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D)); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1944]: # DEBUG BEGIN_STMT if (xClearOnExit_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 972]: # DEBUG BEGIN_STMT _9 = ~uxBitsToWaitFor_23(D); _10 = _9 & uxReturn_44; MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10; [local count: 3888]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 # DEBUG BEGIN_STMT vPortExitCritical (); [local count: 11782]: # uxReturn_13 = PHI # DEBUG uxReturn => uxReturn_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_48 = uxReturn_13 & 16777215; # DEBUG uxReturn => uxReturn_48 [local count: 23563]: # uxReturn_14 = PHI # DEBUG uxReturn => uxReturn_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxReturn_14; } xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xAlreadyYielded; EventBits_t uxReturn; EventBits_t uxOriginalBitValue; long unsigned int _1; long int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; struct List_t * _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxEventBits => xEventGroup_23(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 0 # DEBUG BEGIN_STMT _1 = uxBitsToWaitFor_24(D) & 4278190080; 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_47 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_47 [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 (uxBitsToWaitFor_24(D) == 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_48 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_48 [local count: 719407023]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 719407023]: goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = xTaskGetSchedulerState (); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 23740]: if (xTicksToWait_27(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11870]: # 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_49 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_49 [local count: 118702159]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 118702159]: goto ; [100.00%] [local count: 23563]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxOriginalBitValue => uxOriginalBitValue_29 # DEBUG BEGIN_STMT xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D)); # DEBUG BEGIN_STMT _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D); _4 = _3 & uxBitsToWaitFor_24(D); if (_4 == uxBitsToWaitFor_24(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 8011]: # DEBUG BEGIN_STMT # DEBUG uxReturn => _3 # DEBUG BEGIN_STMT _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; _6 = ~uxBitsToWaitFor_24(D); _7 = _5 & _6; MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7; # DEBUG BEGIN_STMT # DEBUG xTicksToWait => 0 goto ; [100.00%] [local count: 15552]: # DEBUG BEGIN_STMT if (xTicksToWait_27(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5132]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits; _9 = uxBitsToWaitFor_24(D) | 83886080; vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D)); # DEBUG BEGIN_STMT # DEBUG uxReturn => 0 goto ; [100.00%] [local count: 10420]: # DEBUG BEGIN_STMT uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxReturn => uxReturn_32 # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 [local count: 23563]: # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)> # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)> # DEBUG uxReturn => uxReturn_15 # DEBUG xTicksToWait => xTicksToWait_14 # DEBUG BEGIN_STMT xAlreadyYielded_36 = xTaskResumeAll (); # DEBUG xAlreadyYielded => xAlreadyYielded_36 # DEBUG BEGIN_STMT if (xTicksToWait_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 11782]: # DEBUG BEGIN_STMT if (xAlreadyYielded_36 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5891]: # 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: 11782]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_41 = uxTaskResetEventItemValue (); # DEBUG uxReturn => uxReturn_41 # DEBUG BEGIN_STMT _10 = uxReturn_41 & 33554432; if (_10 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3888]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits; # DEBUG uxReturn => uxReturn_43 # DEBUG BEGIN_STMT _11 = uxBitsToWaitFor_24(D) & uxReturn_43; if (_11 == uxBitsToWaitFor_24(D)) goto ; [34.00%] else goto ; [66.00%] [local count: 1322]: # DEBUG BEGIN_STMT _12 = ~uxBitsToWaitFor_24(D); _13 = _12 & uxReturn_43; MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13; [local count: 3888]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG xTimeoutOccurred => 1 [local count: 11782]: # uxReturn_16 = PHI # DEBUG uxReturn => uxReturn_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT uxReturn_46 = uxReturn_16 & 16777215; # DEBUG uxReturn => uxReturn_46 [local count: 23563]: # uxReturn_17 = PHI # DEBUG uxReturn => uxReturn_17 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return uxReturn_17; } xEventGroupCreate () { struct EventGroup_t * pxEventBits; struct List_t * _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pxEventBits_5 = pvPortMalloc (28); # DEBUG pxEventBits => pxEventBits_5 # DEBUG BEGIN_STMT if (pxEventBits_5 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 574129754]: # DEBUG BEGIN_STMT pxEventBits_5->uxEventBits = 0; # DEBUG BEGIN_STMT _1 = &pxEventBits_5->xTasksWaitingForBits; vListInitialise (_1); # DEBUG BEGIN_STMT [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pxEventBits_5; }