Analyzing function: xStreamBufferSpacesAvailable.part.0/62 ;; 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: xStreamBufferSpacesAvailable.part.0 IPA function summary for xStreamBufferSpacesAvailable.part.0/62 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: prvReadBytesFromBuffer.part.0/53 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 15 2 3 4 5 6 7 8 9 10 11 12 13 14 ;; ;; Loop 1 ;; header 4, latch 5 ;; depth 1, outer 0 ;; nodes: 4 5 ;; ;; Loop 2 ;; header 8, latch 9 ;; depth 1, outer 0 ;; nodes: 8 9 ;; 15 succs { 2 } ;; 2 succs { 3 6 } ;; 3 succs { 4 } ;; 4 succs { 5 } ;; 5 succs { 4 } ;; 6 succs { 7 10 } ;; 7 succs { 8 } ;; 8 succs { 9 } ;; 9 succs { 8 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 1 } Analyzing function body size: prvReadBytesFromBuffer.part.0 IPA function summary for prvReadBytesFromBuffer.part.0/53 inlinable global time: 15.423664 self size: 41 global size: 0 min size: 0 self stack: 0 global stack: 0 size:14.000000, time:4.697231 size:4.000000, time:0.439720, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 64] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op3 changed) size:9.000000, time:4.884446, nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed) size:0.500000, time:0.082499, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined) size:0.500000, time:0.082499, nonconst if:(op0[ref offset: 192] changed) size:1.000000, time:0.164998, nonconst if:(op3 changed || op0[ref offset: 192] changed) size:1.000000, time:0.054450, nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed || op1 changed) size:1.000000, time:0.164998, nonconst if:(op3 changed || op2 changed) calls: memcpy/41 function body not available loop depth: 0 freq:0.16 size: 4 time: 13 memcpy/41 function body not available loop depth: 0 freq:0.05 size: 4 time: 13 Analyzing function: prvWriteBytesToBuffer.part.0/48 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 15 2 3 4 5 6 7 8 9 10 11 12 13 14 ;; ;; Loop 1 ;; header 4, latch 5 ;; depth 1, outer 0 ;; nodes: 4 5 ;; ;; Loop 2 ;; header 9, latch 10 ;; depth 1, outer 0 ;; nodes: 9 10 ;; 15 succs { 2 } ;; 2 succs { 3 6 } ;; 3 succs { 4 } ;; 4 succs { 5 } ;; 5 succs { 4 } ;; 6 succs { 7 12 } ;; 7 succs { 8 11 } ;; 8 succs { 9 } ;; 9 succs { 10 } ;; 10 succs { 9 } ;; 11 succs { 12 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 1 } Analyzing function body size: prvWriteBytesToBuffer.part.0 IPA function summary for prvWriteBytesToBuffer.part.0/48 inlinable global time: 18.415930 self size: 42 global size: 0 min size: 0 self stack: 0 global stack: 0 size:16.500000, time:5.000824 size:4.500000, time:0.658349, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 64] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op3 changed) size:7.000000, time:4.825003, nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed) size:0.500000, time:0.165001, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined) size:0.500000, time:0.165001, nonconst if:(op0[ref offset: 192] changed) size:1.000000, time:0.330001, nonconst if:(op3 changed || op0[ref offset: 192] changed) size:1.000000, time:0.054449, nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed || op1 changed) size:1.000000, time:0.219450, nonconst if:(op3 changed || op2 changed) calls: memcpy/41 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 memcpy/41 function body not available loop depth: 0 freq:0.05 size: 4 time: 13 Analyzing function: prvInitialiseNewStreamBuffer.part.0/44 ;; 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: prvInitialiseNewStreamBuffer.part.0 IPA function summary for prvInitialiseNewStreamBuffer.part.0/44 inlinable global time: 19.000000 self size: 11 global size: 0 min size: 0 self stack: 0 global stack: 0 size:2.000000, time:2.000000 size:5.000000, time:4.000000, executed if:(not inlined) calls: memset/29 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant op2 is compile time invariant Analyzing function: ucStreamBufferGetStreamBufferType/27 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: ucStreamBufferGetStreamBufferType IPA function summary for ucStreamBufferGetStreamBufferType/27 inlinable global time: 4.000000 self size: 5 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: 224] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 224] changed) calls: Analyzing function: vStreamBufferSetStreamBufferNumber/26 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: vStreamBufferSetStreamBufferNumber IPA function summary for vStreamBufferSetStreamBufferNumber/26 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: uxStreamBufferGetStreamBufferNumber/25 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: uxStreamBufferGetStreamBufferNumber IPA function summary for uxStreamBufferGetStreamBufferNumber/25 inlinable global time: 3.000000 self size: 4 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: 256] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 256] changed) calls: Analyzing function: prvInitialiseNewStreamBuffer/24 ;; 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: prvInitialiseNewStreamBuffer IPA function summary for prvInitialiseNewStreamBuffer/24 inlinable global time: 23.091603 self size: 21 global size: 0 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:6.128499 size:3.000000, time:0.348600, executed if:(not inlined) calls: prvInitialiseNewStreamBuffer.part.0/44 function not considered for inlining loop depth: 0 freq:0.17 size: 6 time: 15callee size: 5 stack: 0 memset/29 function body not available loop depth: 0 freq:1.00 size: 5 time: 14 op1 is compile time invariant Analyzing function: prvBytesInBuffer/23 ;; 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: prvBytesInBuffer IPA function summary for prvBytesInBuffer/23 inlinable global time: 9.500000 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:(op0[ref offset: 64] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 32] changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) size:4.000000, time:3.500000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 32] changed || op0[ref offset: 0] changed) calls: Analyzing function: prvReadBytesFromBuffer/22 ;; 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: prvReadBytesFromBuffer IPA function summary for prvReadBytesFromBuffer/22 inlinable global time: 13.000000 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:(op2 changed) size:1.000000, time:1.000000, executed if:(op2 != 0) && (not inlined) size:5.000000, time:2.500000, executed if:(op2 == 0) calls: prvReadBytesFromBuffer.part.0/53 function not considered for inlining loop depth: 0 freq:0.50 size: 6 time: 15callee size:20 stack: 0 predicate: (op2 != 0) Analyzing function: prvWriteBytesToBuffer/21 ;; 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: prvWriteBytesToBuffer IPA function summary for prvWriteBytesToBuffer/21 inlinable global time: 13.000000 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:(op2 changed) size:1.000000, time:1.000000, executed if:(op2 != 0) && (not inlined) size:5.000000, time:2.500000, executed if:(op2 == 0) calls: prvWriteBytesToBuffer.part.0/48 function not considered for inlining loop depth: 0 freq:0.50 size: 6 time: 15callee size:21 stack: 0 predicate: (op2 != 0) Analyzing function: xStreamBufferReceiveCompletedFromISR/20 ;; 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: xStreamBufferReceiveCompletedFromISR IPA function summary for xStreamBufferReceiveCompletedFromISR/20 inlinable global time: 18.637205 self size: 29 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:10.500000, time:7.024287, executed if:(op0 != 0B) size:2.500000, time:2.124289, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskGenericNotifyFromISR/42 function body not available loop depth: 0 freq:0.37 size: 7 time: 16 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant Analyzing function: xStreamBufferSendCompletedFromISR/19 ;; 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: xStreamBufferSendCompletedFromISR IPA function summary for xStreamBufferSendCompletedFromISR/19 inlinable global time: 18.637205 self size: 29 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:10.500000, time:7.024287, executed if:(op0 != 0B) size:2.500000, time:2.124289, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xTaskGenericNotifyFromISR/42 function body not available loop depth: 0 freq:0.37 size: 7 time: 16 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant Analyzing function: xStreamBufferIsFull/18 ;; 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 { 7 6 } ;; 6 succs { 7 } ;; 7 succs { 9 8 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: xStreamBufferIsFull IPA function summary for xStreamBufferIsFull/18 inlinable global time: 17.499996 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:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (not inlined) size:3.500000, time:2.449999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) size:2.000000, time:1.399999, executed if:(op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xStreamBufferSpacesAvailable/8 function not considered for inlining loop depth: 0 freq:0.70 size: 3 time: 12 predicate: (op0 != 0B) Analyzing function: xStreamBufferIsEmpty/17 ;; 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 { 7 6 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: xStreamBufferIsEmpty IPA function summary for xStreamBufferIsEmpty/17 inlinable global time: 7.700000 self size: 14 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: 0] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) 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:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 32] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: Analyzing function: prvReadMessageFromBuffer/16 ;; 2 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 5 } ;; 4 succs { 5 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: prvReadMessageFromBuffer IPA function summary for prvReadMessageFromBuffer/16 inlinable global time: 21.550000 self size: 28 global size: 0 min size: 0 self stack: 4 global stack: 4 size:6.500000, time:4.155000 size:3.500000, time:2.165000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 224] changed) && (not inlined) size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 224] changed) size:1.000000, time:0.330000, nonconst if:(op3 changed) calls: prvReadBytesFromBuffer/22 function not considered for inlining loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0 prvReadBytesFromBuffer.part.0/53 function not considered for inlining loop depth: 0 freq:0.33 size: 6 time: 15callee size:20 stack: 0 op1 is compile time invariant op2 is compile time invariant Analyzing function: xStreamBufferReceiveFromISR/15 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 16 5 6 7 17 8 9 10 11 12 13 14 15 ;; ;; Loop 2 ;; header 4, latch 16 ;; depth 1, outer 0 ;; nodes: 4 16 ;; ;; Loop 1 ;; header 7, latch 17 ;; depth 1, outer 0 ;; nodes: 7 17 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 16 } ;; 16 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 17 } ;; 17 succs { 7 } ;; 8 succs { 10 9 } ;; 9 succs { 10 } ;; 10 succs { 11 15 } ;; 11 succs { 12 15 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: xStreamBufferReceiveFromISR IPA function summary for xStreamBufferReceiveFromISR/15 inlinable global time: 20.085616 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:(op1 changed) size:2.000000, time:1.399999, executed if:(op1 != 0B), nonconst if:(op0 changed) && (op1 != 0B) size:0.500000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:3.500000, time:1.715006, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) size:14.500000, time:2.114705, executed if:(op0 != 0B) && (op1 != 0B) size:2.500000, time:1.063659, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined) size:5.000000, time:1.050004, executed if:(op0 == 0B) && (op1 != 0B) size:5.000000, time:1.500001, executed if:(op1 == 0B) calls: xTaskGenericNotifyFromISR/42 function body not available loop depth: 0 freq:0.04 size: 7 time: 16 predicate: (op0 != 0B) && (op1 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant prvReadMessageFromBuffer/16 function not considered for inlining loop depth: 0 freq:0.16 size: 6 time: 15callee size:14 stack: 4 predicate: (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.49 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) Analyzing function: xStreamBufferNextMessageLengthBytes/14 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 12 5 6 7 8 9 10 13 11 ;; ;; Loop 2 ;; header 4, latch 12 ;; depth 1, outer 0 ;; nodes: 4 12 ;; ;; Loop 1 ;; header 10, latch 13 ;; depth 1, outer 0 ;; nodes: 10 13 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 12 } ;; 12 succs { 4 } ;; 5 succs { 6 11 } ;; 6 succs { 7 8 } ;; 7 succs { 11 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 13 } ;; 13 succs { 10 } ;; 11 succs { 1 } Analyzing function body size: xStreamBufferNextMessageLengthBytes IPA function summary for xStreamBufferNextMessageLengthBytes/14 inlinable global time: 12.695390 self size: 33 global size: 0 min size: 0 self stack: 4 global stack: 4 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: 224] changed) && (op0 != 0B) && (not inlined) size:3.500000, time:2.449999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) size:10.500000, time:1.272809, executed if:(op0 != 0B) size:1.500000, time:1.283345, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: prvReadBytesFromBuffer/22 function not considered for inlining loop depth: 0 freq:0.08 size: 5 time: 14callee size: 8 stack: 0 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.23 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) Analyzing function: xStreamBufferReceive/13 ;; 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 11 12 13 14 27 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 14, latch 27 ;; depth 1, outer 0 ;; nodes: 14 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 { 10 9 } ;; 9 succs { 10 } ;; 10 succs { 11 18 } ;; 11 succs { 12 16 } ;; 12 succs { 13 15 } ;; 13 succs { 14 } ;; 14 succs { 27 } ;; 27 succs { 14 } ;; 15 succs { 16 } ;; 16 succs { 17 19 } ;; 17 succs { 19 } ;; 18 succs { 19 } ;; 19 succs { 20 24 } ;; 20 succs { 21 24 } ;; 21 succs { 22 23 } ;; 22 succs { 23 } ;; 23 succs { 24 } ;; 24 succs { 1 } Analyzing function body size: xStreamBufferReceive IPA function summary for xStreamBufferReceive/13 inlinable global time: 28.460665 self size: 82 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.399999, executed if:(op1 != 0B), nonconst if:(op0 changed) && (op1 != 0B) size:0.500000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:3.500000, time:1.715006, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) size:2.000000, time:0.980004, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op3 changed) && (op0 != 0B) && (op1 != 0B) size:12.500000, time:1.624100, executed if:(op3 != 0) && (op0 != 0B) && (op1 != 0B) size:1.500000, time:0.095662, executed if:(op3 != 0) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:7.500000, time:1.162852, executed if:(op0 != 0B) && (op1 != 0B) size:2.500000, time:0.821518, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined) size:5.000000, time:1.050004, executed if:(op0 == 0B) && (op1 != 0B) size:5.000000, time:1.500001, executed if:(op1 == 0B) calls: xTaskResumeAll/40 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) xTaskGenericNotify/39 function body not available loop depth: 0 freq:0.02 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant vTaskSuspendAll/38 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) prvReadMessageFromBuffer/16 function not considered for inlining loop depth: 0 freq:0.13 size: 6 time: 15callee size:14 stack: 4 predicate: (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.25 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 == 0) && (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.05 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) xTaskGenericNotifyWait/36 function body not available loop depth: 0 freq:0.05 size: 6 time: 15 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant vPortExitCritical/32 function body not available loop depth: 0 freq:0.14 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) xTaskGetCurrentTaskHandle/35 function body not available loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) xTaskGenericNotifyStateClear/34 function body not available loop depth: 0 freq:0.12 size: 3 time: 12 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) op0 is compile time invariant op1 is compile time invariant prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.25 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) vPortEnterCritical/31 function body not available loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B) Analyzing function: prvWriteMessageToBuffer/12 ;; 2 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 6 } ;; 3 succs { 4 5 } ;; 4 succs { 7 } ;; 5 succs { 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 1 } Analyzing function body size: prvWriteMessageToBuffer IPA function summary for prvWriteMessageToBuffer/12 inlinable global time: 21.590000 self size: 31 global size: 0 min size: 0 self stack: 0 global stack: 0 size:5.500000, time:4.582500 size:4.500000, time:2.582500, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 224] changed) && (not inlined) size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 224] changed) size:1.000000, time:0.500000, executed if:(not inlined), nonconst if:(op2 changed) && (not inlined) size:1.000000, time:0.500000, nonconst if:(op2 changed || op3 changed) size:2.000000, time:1.000000, nonconst if:(op3 changed || op4 changed) calls: prvWriteBytesToBuffer/21 function not considered for inlining loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0 prvWriteBytesToBuffer.part.0/48 function not considered for inlining loop depth: 0 freq:0.17 size: 6 time: 15callee size:21 stack: 0 op1 is compile time invariant op2 is compile time invariant Analyzing function: xStreamBufferSendFromISR/11 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 16 5 6 7 17 8 9 10 11 12 13 14 15 ;; ;; Loop 2 ;; header 4, latch 16 ;; depth 1, outer 0 ;; nodes: 4 16 ;; ;; Loop 1 ;; header 7, latch 17 ;; depth 1, outer 0 ;; nodes: 7 17 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 16 } ;; 16 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 17 } ;; 17 succs { 7 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 15 } ;; 11 succs { 12 15 } ;; 12 succs { 13 14 } ;; 13 succs { 14 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: xStreamBufferSendFromISR IPA function summary for xStreamBufferSendFromISR/11 inlinable global time: 27.847242 self size: 59 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.399999, executed if:(op1 != 0B), nonconst if:(op0 changed) && (op1 != 0B) size:0.500000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:3.500000, time:1.715006, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) size:1.000000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op2 changed) && (op0 != 0B) && (op1 != 0B) size:15.000000, time:2.195556, executed if:(op0 != 0B) && (op1 != 0B) size:3.000000, time:1.144510, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined) size:5.000000, time:1.050004, executed if:(op0 == 0B) && (op1 != 0B) size:5.000000, time:1.500001, executed if:(op1 == 0B) calls: xTaskGenericNotifyFromISR/42 function body not available loop depth: 0 freq:0.04 size: 7 time: 16 predicate: (op0 != 0B) && (op1 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.16 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) prvWriteMessageToBuffer/12 function not considered for inlining loop depth: 0 freq:0.49 size: 7 time: 16callee size:15 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) xStreamBufferSpacesAvailable/8 function not considered for inlining loop depth: 0 freq:0.49 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B) Analyzing function: xStreamBufferSend/10 ;; 6 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 31 5 6 7 32 8 9 10 11 33 12 13 14 15 16 17 18 19 20 34 21 35 22 23 24 25 26 27 28 29 30 ;; ;; Loop 5 ;; header 4, latch 31 ;; depth 1, outer 0 ;; nodes: 4 31 ;; ;; Loop 4 ;; header 7, latch 32 ;; depth 1, outer 0 ;; nodes: 7 32 ;; ;; Loop 3 ;; header 11, latch 33 ;; depth 1, outer 0 ;; nodes: 11 33 ;; ;; Loop 2 ;; header 20, latch 34 ;; depth 1, outer 0 ;; nodes: 20 34 ;; ;; Loop 1 ;; header 17, latch 35 ;; depth 1, outer 0 ;; nodes: 17 35 21 18 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 31 } ;; 31 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 } ;; 7 succs { 32 } ;; 32 succs { 7 } ;; 8 succs { 9 14 } ;; 9 succs { 10 12 } ;; 10 succs { 11 } ;; 11 succs { 33 } ;; 33 succs { 11 } ;; 12 succs { 13 15 } ;; 13 succs { 15 } ;; 14 succs { 15 } ;; 15 succs { 16 24 } ;; 16 succs { 17 } ;; 17 succs { 18 22 } ;; 18 succs { 19 21 } ;; 19 succs { 20 } ;; 20 succs { 34 } ;; 34 succs { 20 } ;; 21 succs { 35 23 } ;; 35 succs { 17 } ;; 22 succs { 23 } ;; 23 succs { 24 25 } ;; 24 succs { 25 } ;; 25 succs { 26 30 } ;; 26 succs { 27 30 } ;; 27 succs { 28 29 } ;; 28 succs { 29 } ;; 29 succs { 30 } ;; 30 succs { 1 } Analyzing function body size: xStreamBufferSend IPA function summary for xStreamBufferSend/10 inlinable global time: 180.533722 self size: 109 global size: 0 min size: 0 self stack: 8 global stack: 8 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.399999, executed if:(op1 != 0B), nonconst if:(op0 changed) && (op1 != 0B) size:0.500000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:1.500000, time:0.735003, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (op1 != 0B) size:0.500000, time:0.245001, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined) size:3.500000, time:1.715006, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) size:3.000000, time:0.489999, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op0[ref offset: 64] changed || op2 changed) && (op0 != 0B) && (op1 != 0B) size:3.000000, time:0.735003, executed if:(op0 != 0B) && (op1 != 0B), nonconst if:(op2 changed) && (op0 != 0B) && (op1 != 0B) size:5.000000, time:3.176092, executed if:(op0 != 0B) && (op1 != 0B) && (not inlined) size:32.000000, time:17.363601, executed if:(op0 != 0B) && (op1 != 0B) size:5.000000, time:1.050004, executed if:(op0 == 0B) && (op1 != 0B) size:5.000000, time:1.500001, executed if:(op1 == 0B) calls: xTaskResumeAll/40 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) xTaskGenericNotify/39 function body not available loop depth: 0 freq:0.02 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B) op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant op4 is compile time invariant vTaskSuspendAll/38 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.10 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) prvWriteMessageToBuffer/12 function not considered for inlining loop depth: 0 freq:0.31 size: 7 time: 16callee size:15 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) xStreamBufferSpacesAvailable/8 function not considered for inlining loop depth: 0 freq:0.25 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B) vPortExitCritical/32 function body not available loop depth: 0 freq:0.06 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) xTaskCheckForTimeOut/37 function body not available loop depth: 1 freq:1.61 size: 4 time: 13 predicate: (op0 != 0B) && (op1 != 0B) op0 is compile time invariant op1 is compile time invariant xTaskGenericNotifyWait/36 function body not available loop depth: 1 freq:1.61 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant vPortExitCritical/32 function body not available loop depth: 1 freq:1.61 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) xTaskGetCurrentTaskHandle/35 function body not available loop depth: 1 freq:1.61 size: 2 time: 11 predicate: (op0 != 0B) && (op1 != 0B) xTaskGenericNotifyStateClear/34 function body not available loop depth: 1 freq:1.67 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B) op0 is compile time invariant op1 is compile time invariant xStreamBufferSpacesAvailable/8 function not considered for inlining loop depth: 1 freq:1.74 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B) op0 change 57.590000% of time vPortEnterCritical/31 function body not available loop depth: 1 freq:1.74 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B) vTaskSetTimeOutState/33 function body not available loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B) && (op1 != 0B) op0 is compile time invariant Analyzing function: xStreamBufferBytesAvailable/9 ;; 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: xStreamBufferBytesAvailable IPA function summary for xStreamBufferBytesAvailable/9 inlinable global time: 11.812301 self size: 13 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:1.069400, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: prvBytesInBuffer/23 function not considered for inlining loop depth: 0 freq:0.53 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) Analyzing function: xStreamBufferSpacesAvailable/8 Created preheader block for loop 1 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 8 4 9 5 6 7 ;; ;; Loop 1 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 ;; 2 succs { 3 8 } ;; 3 succs { } ;; 8 succs { 4 } ;; 4 succs { 9 5 } ;; 9 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: xStreamBufferSpacesAvailable IPA function summary for xStreamBufferSpacesAvailable/8 inlinable global time: 66.122776 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:(op0 changed) size:1.500000, time:9.545462, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined) size:3.500000, time:22.272745, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) size:0.500000, time:3.181821, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:3.181821, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:1.000000, time:6.363641, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 64] changed) && (op0 != 0B) size:0.500000, time:3.181821, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:3.181821, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) size:5.000000, time:8.813642, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 64] changed || op0[ref offset: 32] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) calls: xStreamBufferSpacesAvailable.part.0/62 function not considered for inlining loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 == 0B) Analyzing function: xStreamBufferSetTriggerLevel/7 ;; 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: xStreamBufferSetTriggerLevel IPA function summary for xStreamBufferSetTriggerLevel/7 inlinable global time: 8.050001 self size: 15 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.700000, executed if:(op0 != 0B), nonconst if:(op1 changed) && (op0 != 0B) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined) size:0.500000, time:0.350000, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) size:2.000000, time:1.399999, executed if:(op0 != 0B), nonconst if:(op1 changed || op0[ref offset: 64] changed) && (op0 != 0B) size:1.500000, time:1.575000, executed if:(op0 != 0B) && (not inlined) size:0.500000, time:0.175001, executed if:(op0 != 0B) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: Analyzing function: xStreamBufferReset/6 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 9 5 6 7 8 ;; ;; Loop 1 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 9 } ;; 9 succs { 4 } ;; 5 succs { 6 8 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 1 } Analyzing function body size: xStreamBufferReset IPA function summary for xStreamBufferReset/6 inlinable global time: 19.269125 self size: 30 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:1.754205, executed if:(op0 != 0B) && (not inlined) size:8.000000, time:2.075027, executed if:(op0 != 0B) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: vPortExitCritical/32 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) prvInitialiseNewStreamBuffer/24 function not considered for inlining loop depth: 0 freq:0.03 size: 6 time: 15callee size:10 stack: 0 predicate: (op0 != 0B) vPortEnterCritical/31 function body not available loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B) Analyzing function: vStreamBufferDelete/5 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 9 5 6 7 8 ;; ;; Loop 1 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 9 } ;; 9 succs { 4 } ;; 5 succs { 6 7 } ;; 6 succs { 8 } ;; 7 succs { 8 } ;; 8 succs { 1 } Analyzing function body size: vStreamBufferDelete IPA function summary for vStreamBufferDelete/5 inlinable global time: 16.100030 self size: 20 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: 224] changed) && (op0 != 0B) && (not inlined) size:3.500000, time:2.449999, executed if:(op0 != 0B), nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) size:1.000000, time:1.399999, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: memset/29 function body not available loop depth: 0 freq:0.35 size: 4 time: 13 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant vPortFree/30 function body not available loop depth: 0 freq:0.35 size: 2 time: 11 predicate: (op0 != 0B) Analyzing function: xStreamBufferGenericCreate/4 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 16 6 7 8 18 9 10 11 17 12 13 14 15 ;; ;; Loop 3 ;; header 5, latch 16 ;; depth 1, outer 0 ;; nodes: 5 16 ;; ;; Loop 2 ;; header 11, latch 17 ;; depth 1, outer 0 ;; nodes: 11 17 ;; ;; Loop 1 ;; header 8, latch 18 ;; depth 1, outer 0 ;; nodes: 8 18 ;; 2 succs { 3 6 } ;; 3 succs { 4 9 } ;; 4 succs { 5 } ;; 5 succs { 16 } ;; 16 succs { 5 } ;; 6 succs { 7 9 } ;; 7 succs { 8 } ;; 8 succs { 18 } ;; 18 succs { 8 } ;; 9 succs { 10 12 } ;; 10 succs { 11 } ;; 11 succs { 17 } ;; 17 succs { 11 } ;; 12 succs { 13 15 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: xStreamBufferGenericCreate IPA function summary for xStreamBufferGenericCreate/4 inlinable global time: 13.356117 self size: 43 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:(op2 changed) size:2.000000, time:1.319999, executed if:(op2 != 1), nonconst if:(op0 changed) && (op2 != 1) size:5.000000, time:1.649999, executed if:(op0 == 0) && (op2 != 1) size:2.000000, time:0.680001, executed if:(op2 == 1), nonconst if:(op0 changed) && (op2 == 1) size:2.000000, time:1.000000, executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4), nonconst if:(op0 changed || op1 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:1.000000, time:0.250000, executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4), nonconst if:(op1 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:2.000000, time:0.500000, executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4), nonconst if:(op0 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:2.000000, time:0.273351, executed if:(op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4), nonconst if:(op0 changed) && (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:3.000000, time:0.346433, executed if:(op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:1.000000, time:0.500000, executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) && (not inlined) size:5.000000, time:1.250000, executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) size:5.000000, time:0.850001, executed if:(op0 <= 4) && (op2 == 1) calls: prvInitialiseNewStreamBuffer/24 function not considered for inlining loop depth: 0 freq:0.07 size: 6 time: 15callee size:10 stack: 0 predicate: (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) pvPortMalloc/28 function body not available loop depth: 0 freq:0.14 size: 3 time: 12 predicate: (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) Symbol table: xStreamBufferSpacesAvailable.part.0/62 (xStreamBufferSpacesAvailable.part.0) @05fcd7e0 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: xStreamBufferSpacesAvailable/8 (107374 (estimated locally),0.30 per call) Calls: prvReadBytesFromBuffer.part.0/53 (prvReadBytesFromBuffer.part.0) @05fcd700 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:214748 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer/22 (107374 (estimated locally),0.50 per call) Calls: memcpy/41 (35433 (estimated locally),0.16 per call) memcpy/41 (11693 (estimated locally),0.05 per call) prvWriteBytesToBuffer.part.0/48 (prvWriteBytesToBuffer.part.0) @05fcd620 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:160260 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvWriteMessageToBuffer/12 (177167401 (estimated locally),0.17 per call) prvWriteBytesToBuffer/21 (107374 (estimated locally),0.50 per call) Calls: memcpy/41 (52886 (estimated locally),0.33 per call) memcpy/41 (8726 (estimated locally),0.05 per call) prvInitialiseNewStreamBuffer.part.0/44 (prvInitialiseNewStreamBuffer.part.0) @05e8d8c0 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: prvInitialiseNewStreamBuffer/24 (22666 (estimated locally),0.17 per call) Calls: memset/29 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyFromISR/42 (xTaskGenericNotifyFromISR) @05f910e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceiveCompletedFromISR/20 (133963 (estimated locally),0.37 per call) xStreamBufferSendCompletedFromISR/19 (133963 (estimated locally),0.37 per call) xStreamBufferReceiveFromISR/15 (15473 (estimated locally),0.04 per call) xStreamBufferSendFromISR/11 (15473 (estimated locally),0.04 per call) Calls: memcpy/41 (memcpy) @05f7eee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: prvReadBytesFromBuffer.part.0/53 (35433 (estimated locally),0.16 per call) prvReadBytesFromBuffer.part.0/53 (11693 (estimated locally),0.05 per call) prvWriteBytesToBuffer.part.0/48 (52886 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (8726 (estimated locally),0.05 per call) Calls: xTaskResumeAll/40 (xTaskResumeAll) @05f7ec40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (15156 (estimated locally),0.04 per call) xStreamBufferSend/10 (11938 (estimated locally),0.03 per call) Calls: xTaskGenericNotify/39 (xTaskGenericNotify) @05f7eb60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (8104 (estimated locally),0.02 per call) xStreamBufferSend/10 (6383 (estimated locally),0.02 per call) Calls: vTaskSuspendAll/38 (vTaskSuspendAll) @05f7ea80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (15156 (estimated locally),0.04 per call) xStreamBufferSend/10 (11938 (estimated locally),0.03 per call) Calls: xTaskCheckForTimeOut/37 (xTaskCheckForTimeOut) @05f7e9a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferSend/10 (576777 (estimated locally),1.61 per call) Calls: xTaskGenericNotifyWait/36 (xTaskGenericNotifyWait) @05f7e8c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (16991 (estimated locally),0.05 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call) Calls: xTaskGetCurrentTaskHandle/35 (xTaskGetCurrentTaskHandle) @05f7e7e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (7642 (estimated locally),0.02 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call) Calls: xTaskGenericNotifyStateClear/34 (xTaskGenericNotifyStateClear) @05f7e700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (43844 (estimated locally),0.12 per call) xStreamBufferSend/10 (598690 (estimated locally),1.67 per call) Calls: vTaskSetTimeOutState/33 (vTaskSetTimeOutState) @05f7e620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferSend/10 (65767 (estimated locally),0.18 per call) Calls: vPortExitCritical/32 (vPortExitCritical) @05f582a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (51486 (estimated locally),0.14 per call) xStreamBufferSend/10 (22744 (estimated locally),0.06 per call) xStreamBufferSend/10 (576777 (estimated locally),1.61 per call) xStreamBufferReset/6 (123389 (estimated locally),0.53 per call) Calls: vPortEnterCritical/31 (vPortEnterCritical) @05f58000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call) xStreamBufferReset/6 (123389 (estimated locally),0.53 per call) Calls: vPortFree/30 (vPortFree) @05f58e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vStreamBufferDelete/5 (125270 (estimated locally),0.35 per call) Calls: memset/29 (memset) @05f58c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: vStreamBufferDelete/5 (125270 (estimated locally),0.35 per call) prvInitialiseNewStreamBuffer/24 (130040 (estimated locally),1.00 per call) prvInitialiseNewStreamBuffer.part.0/44 (1073741824 (estimated locally),1.00 per call) Calls: pvPortMalloc/28 (pvPortMalloc) @05f589a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: xStreamBufferGenericCreate/4 (44471 (estimated locally),0.14 per call) Calls: ucStreamBufferGetStreamBufferType/27 (ucStreamBufferGetStreamBufferType) @05f58460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: vStreamBufferSetStreamBufferNumber/26 (vStreamBufferSetStreamBufferNumber) @05f581c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: uxStreamBufferGetStreamBufferNumber/25 (uxStreamBufferGetStreamBufferNumber) @05f50d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: prvInitialiseNewStreamBuffer/24 (prvInitialiseNewStreamBuffer) @05f50540 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:130040 (estimated locally) body local optimize_size Called by: xStreamBufferReset/6 (6452 (estimated locally),0.03 per call) xStreamBufferGenericCreate/4 (23779 (estimated locally),0.07 per call) Calls: prvInitialiseNewStreamBuffer.part.0/44 (22666 (estimated locally),0.17 per call) memset/29 (130040 (estimated locally),1.00 per call) prvBytesInBuffer/23 (prvBytesInBuffer) @05f50ee0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xStreamBufferReceiveFromISR/15 (175378 (estimated locally),0.49 per call) xStreamBufferNextMessageLengthBytes/14 (82678 (estimated locally),0.23 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferReceive/13 (16991 (estimated locally),0.05 per call) xStreamBufferReceive/13 (87689 (estimated locally),0.25 per call) xStreamBufferSendFromISR/11 (57875 (estimated locally),0.16 per call) xStreamBufferSend/10 (36175 (estimated locally),0.10 per call) xStreamBufferBytesAvailable/9 (123389 (estimated locally),0.53 per call) Calls: prvReadBytesFromBuffer/22 (prvReadBytesFromBuffer) @05f50c40 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: xStreamBufferNextMessageLengthBytes/14 (27284 (estimated locally),0.08 per call) prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) Calls: prvReadBytesFromBuffer.part.0/53 (107374 (estimated locally),0.50 per call) prvWriteBytesToBuffer/21 (prvWriteBytesToBuffer) @05f507e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: prvWriteMessageToBuffer/12 (354334802 (estimated locally),0.33 per call) Calls: prvWriteBytesToBuffer.part.0/48 (107374 (estimated locally),0.50 per call) xStreamBufferReceiveCompletedFromISR/20 (xStreamBufferReceiveCompletedFromISR) @05f50460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call) xStreamBufferSendCompletedFromISR/19 (xStreamBufferSendCompletedFromISR) @05f500e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskGenericNotifyFromISR/42 (133963 (estimated locally),0.37 per call) xStreamBufferIsFull/18 (xStreamBufferIsFull) @05f428c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xStreamBufferSpacesAvailable/8 (250539 (estimated locally),0.70 per call) xStreamBufferIsEmpty/17 (xStreamBufferIsEmpty) @05f42ee0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvReadMessageFromBuffer/16 (prvReadMessageFromBuffer) @05f42b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xStreamBufferReceiveFromISR/15 (57875 (estimated locally),0.16 per call) xStreamBufferReceive/13 (45928 (estimated locally),0.13 per call) Calls: prvReadBytesFromBuffer/22 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer.part.0/53 (354334802 (estimated locally),0.33 per call) xStreamBufferReceiveFromISR/15 (xStreamBufferReceiveFromISR) @05f427e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (57875 (estimated locally),0.16 per call) prvBytesInBuffer/23 (175378 (estimated locally),0.49 per call) xStreamBufferNextMessageLengthBytes/14 (xStreamBufferNextMessageLengthBytes) @05f42380 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: prvReadBytesFromBuffer/22 (27284 (estimated locally),0.08 per call) prvBytesInBuffer/23 (82678 (estimated locally),0.23 per call) xStreamBufferReceive/13 (xStreamBufferReceive) @05f01e00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/40 (15156 (estimated locally),0.04 per call) xTaskGenericNotify/39 (8104 (estimated locally),0.02 per call) vTaskSuspendAll/38 (15156 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (45928 (estimated locally),0.13 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) prvBytesInBuffer/23 (16991 (estimated locally),0.05 per call) xTaskGenericNotifyWait/36 (16991 (estimated locally),0.05 per call) vPortExitCritical/32 (51486 (estimated locally),0.14 per call) xTaskGetCurrentTaskHandle/35 (7642 (estimated locally),0.02 per call) xTaskGenericNotifyStateClear/34 (43844 (estimated locally),0.12 per call) prvBytesInBuffer/23 (87689 (estimated locally),0.25 per call) vPortEnterCritical/31 (87689 (estimated locally),0.25 per call) prvWriteMessageToBuffer/12 (prvWriteMessageToBuffer) @05f01d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (109621 (estimated locally),0.31 per call) Calls: prvWriteBytesToBuffer/21 (354334802 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call) xStreamBufferSendFromISR/11 (xStreamBufferSendFromISR) @05f019a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskGenericNotifyFromISR/42 (15473 (estimated locally),0.04 per call) prvBytesInBuffer/23 (57875 (estimated locally),0.16 per call) prvWriteMessageToBuffer/12 (175378 (estimated locally),0.49 per call) xStreamBufferSpacesAvailable/8 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (xStreamBufferSend) @05f01540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xTaskResumeAll/40 (11938 (estimated locally),0.03 per call) xTaskGenericNotify/39 (6383 (estimated locally),0.02 per call) vTaskSuspendAll/38 (11938 (estimated locally),0.03 per call) prvBytesInBuffer/23 (36175 (estimated locally),0.10 per call) prvWriteMessageToBuffer/12 (109621 (estimated locally),0.31 per call) xStreamBufferSpacesAvailable/8 (87694 (estimated locally),0.25 per call) vPortExitCritical/32 (22744 (estimated locally),0.06 per call) xTaskCheckForTimeOut/37 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyWait/36 (576777 (estimated locally),1.61 per call) vPortExitCritical/32 (576777 (estimated locally),1.61 per call) xTaskGetCurrentTaskHandle/35 (576777 (estimated locally),1.61 per call) xTaskGenericNotifyStateClear/34 (598690 (estimated locally),1.67 per call) xStreamBufferSpacesAvailable/8 (621434 (estimated locally),1.74 per call) vPortEnterCritical/31 (621434 (estimated locally),1.74 per call) vTaskSetTimeOutState/33 (65767 (estimated locally),0.18 per call) xStreamBufferBytesAvailable/9 (xStreamBufferBytesAvailable) @05ef8d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: prvBytesInBuffer/23 (123389 (estimated locally),0.53 per call) xStreamBufferSpacesAvailable/8 (xStreamBufferSpacesAvailable) @05ef82a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: xStreamBufferIsFull/18 (250539 (estimated locally),0.70 per call) xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (87694 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call) Calls: xStreamBufferSpacesAvailable.part.0/62 (107374 (estimated locally),0.30 per call) xStreamBufferSetTriggerLevel/7 (xStreamBufferSetTriggerLevel) @05ef8c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: xStreamBufferReset/6 (xStreamBufferReset) @05ef88c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:230763 (estimated locally) body optimize_size Called by: Calls: vPortExitCritical/32 (123389 (estimated locally),0.53 per call) prvInitialiseNewStreamBuffer/24 (6452 (estimated locally),0.03 per call) vPortEnterCritical/31 (123389 (estimated locally),0.53 per call) vStreamBufferDelete/5 (vStreamBufferDelete) @05ef8540 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:357913 (estimated locally) body optimize_size Called by: Calls: memset/29 (125270 (estimated locally),0.35 per call) vPortFree/30 (125270 (estimated locally),0.35 per call) xStreamBufferGenericCreate/4 (xStreamBufferGenericCreate) @05ef81c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:325376 (estimated locally) body optimize_size Called by: Calls: prvInitialiseNewStreamBuffer/24 (23779 (estimated locally),0.07 per call) pvPortMalloc/28 (44471 (estimated locally),0.14 per call) xStreamBufferSpacesAvailable.part.0 () { const struct StreamBuffer_t * const pxStreamBuffer; size_t xSpace; size_t xOriginalTail; uint32_t ulNewBASEPRI; struct StreamBufferDef_t * xStreamBuffer; [local count: 107374]: # DEBUG D#2 s=> xStreamBuffer # DEBUG xStreamBuffer => D#2 [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_1 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } prvReadBytesFromBuffer.part.0 (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail) { size_t xFirstLength; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; unsigned int _2; unsigned int _4; unsigned int _8; uint8_t * _10; uint8_t * _11; uint8_t * _13; uint8_t * _14; unsigned int _15; unsigned int _17; [local count: 214748]: [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxStreamBuffer_1(D)->xLength; _4 = _2 - xTail_3(D); xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>; # DEBUG xFirstLength => xFirstLength_6 # DEBUG BEGIN_STMT if (xCount_5(D) < xFirstLength_6) 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_7 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_7 [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 _8 = xTail_3(D) + xFirstLength_6; if (_2 < _8) 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_9 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_9 [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 _10 = pxStreamBuffer_1(D)->pucBuffer; _11 = _10 + xTail_3(D); memcpy (pucData_12(D), _11, xFirstLength_6); # DEBUG BEGIN_STMT if (xCount_5(D) > xFirstLength_6) goto ; [33.00%] else goto ; [67.00%] [local count: 11693]: # DEBUG BEGIN_STMT _13 = pucData_12(D) + xFirstLength_6; _14 = pxStreamBuffer_1(D)->pucBuffer; _15 = xCount_5(D) - xFirstLength_6; memcpy (_13, _14, _15); [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_16 = xTail_3(D) + xCount_5(D); # DEBUG xTail => xTail_16 # DEBUG BEGIN_STMT _17 = pxStreamBuffer_1(D)->xLength; if (xTail_16 >= _17) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT xTail_18 = xTail_16 - _17; # DEBUG xTail => xTail_18 [local count: 35433]: # xTail_19 = PHI # DEBUG xTail => xTail_19 # DEBUG BEGIN_STMT return xTail_19; } prvWriteBytesToBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead) { size_t xFirstLength; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; unsigned int _2; unsigned int _4; unsigned int _7; uint8_t * _9; uint8_t * _10; unsigned int _12; unsigned int _13; uint8_t * _15; const uint8_t * _16; unsigned int _18; [local count: 160260]: [local count: 160260]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = pxStreamBuffer_1(D)->xLength; _4 = _2 - xHead_3(D); xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>; # DEBUG xFirstLength => xFirstLength_6 # DEBUG BEGIN_STMT _7 = xHead_3(D) + xFirstLength_6; if (_2 < _7) 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]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = pxStreamBuffer_1(D)->pucBuffer; _10 = _9 + xHead_3(D); memcpy (_10, pucData_11(D), xFirstLength_6); # DEBUG BEGIN_STMT if (xCount_5(D) > xFirstLength_6) goto ; [50.00%] else goto ; [50.00%] [local count: 26443]: # DEBUG BEGIN_STMT _12 = xCount_5(D) - xFirstLength_6; _13 = pxStreamBuffer_1(D)->xLength; if (_12 > _13) goto ; [67.00%] else goto ; [33.00%] [local count: 17717]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 177167401]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 177167401]: goto ; [100.00%] [local count: 8726]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _15 = pxStreamBuffer_1(D)->pucBuffer; _16 = pucData_11(D) + xFirstLength_6; memcpy (_15, _16, _12); [local count: 35169]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xHead_17 = xHead_3(D) + xCount_5(D); # DEBUG xHead => xHead_17 # DEBUG BEGIN_STMT _18 = pxStreamBuffer_1(D)->xLength; if (xHead_17 >= _18) goto ; [50.00%] else goto ; [50.00%] [local count: 17584]: # DEBUG BEGIN_STMT xHead_19 = xHead_17 - _18; # DEBUG xHead => xHead_19 [local count: 35169]: # xHead_20 = PHI # DEBUG xHead => xHead_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHead_20; } prvInitialiseNewStreamBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags) { const BaseType_t xWriteValue; uint32_t ulNewBASEPRI; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT memset (pxStreamBuffer_1(D), 0, 36); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->pucBuffer = pucBuffer_2(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->xLength = xBufferSizeBytes_3(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->xTriggerLevelBytes = xTriggerLevelBytes_4(D); # DEBUG BEGIN_STMT pxStreamBuffer_1(D)->ucFlags = ucFlags_5(D); return; } ucStreamBufferGetStreamBufferType (struct StreamBufferDef_t * xStreamBuffer) { unsigned char _1; uint8_t _4; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = xStreamBuffer_3(D)->ucFlags; _4 = _1 & 1; return _4; } vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D); return; } uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = xStreamBuffer_2(D)->uxStreamBufferNumber; return _3; } prvInitialiseNewStreamBuffer (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags) { uint32_t ulNewBASEPRI; void * _1; [local count: 130040]: # DEBUG BEGIN_STMT # DEBUG xWriteValue => 85 # DEBUG BEGIN_STMT _1 = memset (pucBuffer_4(D), 85, xBufferSizeBytes_5(D)); if (_1 != pucBuffer_4(D)) goto ; [82.57%] else goto ; [17.43%] [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: 22666]: prvInitialiseNewStreamBuffer.part.0 (pxStreamBuffer_7(D), pucBuffer_4(D), xBufferSizeBytes_5(D), xTriggerLevelBytes_8(D), ucFlags_9(D)); return; } prvBytesInBuffer (const struct StreamBuffer_t * const pxStreamBuffer) { size_t xCount; unsigned int _1; unsigned int _2; unsigned int _7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = pxStreamBuffer_5(D)->xLength; _2 ={v} pxStreamBuffer_5(D)->xHead; xCount_6 = _1 + _2; # DEBUG xCount => xCount_6 # DEBUG BEGIN_STMT _7 ={v} pxStreamBuffer_5(D)->xTail; xCount_8 = xCount_6 - _7; # DEBUG xCount => xCount_8 # DEBUG BEGIN_STMT if (_1 <= xCount_8) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xCount_9 = xCount_8 - _1; # DEBUG xCount => xCount_9 [local count: 1073741824]: # xCount_3 = PHI # DEBUG xCount => xCount_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xCount_3; } prvReadBytesFromBuffer (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail) { uint32_t ulNewBASEPRI; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCount_3(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_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: 107374]: xTail_1 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xTail_6(D)); # DEBUG xTail => xTail_1 # DEBUG BEGIN_STMT return xTail_1; } prvWriteBytesToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead) { uint32_t ulNewBASEPRI; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCount_3(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_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: 107374]: xHead_1 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xHead_6(D)); # DEBUG xHead => xHead_1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xHead_1; } xStreamBufferReceiveCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_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_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: 250539]: # 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_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend; if (_1 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend; xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend ={v} 0B; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_3 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferSendCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_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_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: 250539]: # 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_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_12 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11 # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive; if (_1 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 133963]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive; xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive ={v} 0B; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_3 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_11 : "memory"); # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferIsFull (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; BaseType_t xReturn; unsigned char _1; unsigned int _2; unsigned char _6; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT if (xStreamBuffer_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_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags; _6 = _1 & 1; if (_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 250539]: # xBytesToStoreMessageLength_4 = PHI <4(5), 0(6)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_4 # DEBUG BEGIN_STMT _2 = xStreamBufferSpacesAvailable (xStreamBuffer_5(D)); if (_2 <= xBytesToStoreMessageLength_4) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_3 = PHI <1(7), 0(8)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT return xReturn_3; } xStreamBufferIsEmpty (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xTail; BaseType_t xReturn; unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_3(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_6 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_5 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xTail; # DEBUG xTail => xTail_5 # DEBUG BEGIN_STMT _1 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xHead; if (_1 == xTail_5) goto ; [34.00%] else goto ; [66.00%] [local count: 165356]: # DEBUG BEGIN_STMT # DEBUG xReturn => 0 [local count: 250539]: # xReturn_2 = PHI <1(5), 0(6)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable) { size_t xTail; size_t xNextTail; size_t xTempNextMessageLength; size_t xNextMessageLength; size_t xCount; unsigned char _1; unsigned int _2; unsigned char _12; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xNextTail_10 ={v} pxStreamBuffer_9(D)->xTail; # DEBUG xNextTail => xNextTail_10 # DEBUG BEGIN_STMT _1 = pxStreamBuffer_9(D)->ucFlags; _12 = _1 & 1; if (_12 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_9(D) # DEBUG pucData => &xTempNextMessageLength # DEBUG xCount => 4 # DEBUG xTail => xNextTail_10 # DEBUG INLINE_ENTRY prvReadBytesFromBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_21 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), &xTempNextMessageLength, 4, xNextTail_10); # DEBUG xTail => xTail_21 # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xTail => NULL # DEBUG ulNewBASEPRI => NULL # DEBUG xNextTail => xTail_21 # DEBUG BEGIN_STMT xNextMessageLength_14 = xTempNextMessageLength; # DEBUG xNextMessageLength => xNextMessageLength_14 # DEBUG BEGIN_STMT xBytesAvailable_15 = xBytesAvailable_13(D) + 4294967292; # DEBUG xBytesAvailable => xBytesAvailable_15 # DEBUG BEGIN_STMT if (xBufferLengthBytes_11(D) < xNextMessageLength_14) goto ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT # DEBUG xNextMessageLength => 0 [local count: 1073741824]: # xBytesAvailable_3 = PHI # xNextMessageLength_4 = PHI <0(4), xBufferLengthBytes_11(D)(2), xNextMessageLength_14(3)> # xNextTail_5 = PHI # DEBUG xNextTail => xNextTail_5 # DEBUG xNextMessageLength => xNextMessageLength_4 # DEBUG xBytesAvailable => xBytesAvailable_3 # DEBUG BEGIN_STMT xCount_16 = MIN_EXPR ; # DEBUG xCount => xCount_16 # DEBUG BEGIN_STMT if (xCount_16 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _2 = prvReadBytesFromBuffer (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5); pxStreamBuffer_9(D)->xTail ={v} _2; [local count: 1073741824]: # DEBUG BEGIN_STMT xTempNextMessageLength ={v} {CLOBBER}; return xCount_16; } xStreamBufferReceiveFromISR (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; size_t xBytesAvailable; size_t xReceivedLength; unsigned char _1; struct tskTaskControlBlock * _2; struct tskTaskControlBlock * _3; unsigned char _9; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_8(D) # DEBUG BEGIN_STMT # DEBUG xReceivedLength => 0 # DEBUG BEGIN_STMT if (pvRxData_10(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_20 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_20 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_8(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # 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: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].ucFlags; _9 = _1 & 1; if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 175378]: # xBytesToStoreMessageLength_5 = PHI <4(8), 0(9)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_5 # DEBUG BEGIN_STMT xBytesAvailable_13 = prvBytesInBuffer (xStreamBuffer_8(D)); # DEBUG xBytesAvailable => xBytesAvailable_13 # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_5 < xBytesAvailable_13) goto ; [33.00%] else goto ; [67.00%] [local count: 57875]: # DEBUG BEGIN_STMT xReceivedLength_16 = prvReadMessageFromBuffer (xStreamBuffer_8(D), pvRxData_10(D), xBufferLengthBytes_14(D), xBytesAvailable_13); # DEBUG xReceivedLength => xReceivedLength_16 # DEBUG BEGIN_STMT if (xReceivedLength_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 28937]: # 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_22, "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_22 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_22 # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend; if (_2 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 15473]: # DEBUG BEGIN_STMT _3 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend; xTaskGenericNotifyFromISR (_3, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_17(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend ={v} 0B; [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_22 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_22 : "memory"); [local count: 175378]: # xReceivedLength_4 = PHI <0(10), xReceivedLength_16(14), xReceivedLength_16(11)> # DEBUG ulNewMaskValue => NULL # DEBUG xReceivedLength => xReceivedLength_4 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReceivedLength_4; } xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xTempReturn; size_t xBytesAvailable; size_t xReturn; unsigned char _1; unsigned int _2; unsigned char _6; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_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_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags; _6 = _1 & 1; if (_6 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 82678]: # DEBUG BEGIN_STMT xBytesAvailable_9 = prvBytesInBuffer (xStreamBuffer_5(D)); # DEBUG xBytesAvailable => xBytesAvailable_9 # DEBUG BEGIN_STMT if (xBytesAvailable_9 > 4) goto ; [33.00%] else goto ; [67.00%] [local count: 27284]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTail; prvReadBytesFromBuffer (xStreamBuffer_5(D), &xTempReturn, 4, _2); # DEBUG BEGIN_STMT xReturn_11 = xTempReturn; # DEBUG xReturn => xReturn_11 goto ; [100.00%] [local count: 55394]: # DEBUG BEGIN_STMT if (xBytesAvailable_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 27697]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_14 [local count: 276971704]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 276971704]: goto ; [100.00%] [local count: 222842]: # xReturn_3 = PHI <0(8), 0(5), xReturn_11(7)> # DEBUG xReturn => xReturn_3 # DEBUG BEGIN_STMT xTempReturn ={v} {CLOBBER}; return xReturn_3; } xStreamBufferReceive (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xBytesToStoreMessageLength; size_t xBytesAvailable; size_t xReceivedLength; unsigned char _1; struct tskTaskControlBlock * _2; struct tskTaskControlBlock * _3; struct tskTaskControlBlock * _4; struct tskTaskControlBlock * _5; unsigned char _14; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_13(D) # DEBUG BEGIN_STMT # DEBUG xReceivedLength => 0 # DEBUG BEGIN_STMT if (pvRxData_15(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_38 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_38 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_13(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # 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_39 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_39 [local count: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].ucFlags; _14 = _1 & 1; if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT # DEBUG xBytesToStoreMessageLength => 0 [local count: 175378]: # xBytesToStoreMessageLength_8 = PHI <4(8), 0(9)> # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_8 # DEBUG BEGIN_STMT if (xTicksToWait_17(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xBytesAvailable_22 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_22 # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22) goto ; [50.00%] else goto ; [50.00%] [local count: 43844]: # DEBUG BEGIN_STMT xTaskGenericNotifyStateClear (0B, 0); # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive; if (_2 != 0B) goto ; [82.57%] else goto ; [17.43%] [local count: 36202]: # 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: 362023689]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 362023689]: goto ; [100.00%] [local count: 7642]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = xTaskGetCurrentTaskHandle (); MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} _3; [local count: 51486]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22) goto ; [33.00%] else goto ; [67.00%] [local count: 16991]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait_17(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} 0B; # DEBUG BEGIN_STMT xBytesAvailable_30 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_30 goto ; [100.00%] [local count: 87689]: # DEBUG BEGIN_STMT xBytesAvailable_19 = prvBytesInBuffer (xStreamBuffer_13(D)); # DEBUG xBytesAvailable => xBytesAvailable_19 [local count: 139175]: # xBytesAvailable_7 = PHI # DEBUG xBytesAvailable => xBytesAvailable_7 # DEBUG BEGIN_STMT if (xBytesAvailable_7 > xBytesToStoreMessageLength_8) goto ; [33.00%] else goto ; [67.00%] [local count: 45928]: # DEBUG BEGIN_STMT xReceivedLength_33 = prvReadMessageFromBuffer (xStreamBuffer_13(D), pvRxData_15(D), xBufferLengthBytes_31(D), xBytesAvailable_7); # DEBUG xReceivedLength => xReceivedLength_33 # DEBUG BEGIN_STMT if (xReceivedLength_33 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 15156]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend; if (_4 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 8104]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend; xTaskGenericNotify (_5, 0, 0, 0, 0B); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend ={v} 0B; [local count: 15156]: # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT [local count: 139175]: # xReceivedLength_6 = PHI <0(19), xReceivedLength_33(23), xReceivedLength_33(20)> # DEBUG xReceivedLength => xReceivedLength_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReceivedLength_6; } prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace) { size_t xHead; size_t xNextHead; unsigned char _1; unsigned int xDataLengthBytes.2_2; unsigned int _3; unsigned int xDataLengthBytes.3_4; unsigned int _5; size_t _19; unsigned char _22; [local count: 1073741824]: # DEBUG BEGIN_STMT xNextHead_11 ={v} pxStreamBuffer_10(D)->xHead; # DEBUG xNextHead => xNextHead_11 # DEBUG BEGIN_STMT _1 = pxStreamBuffer_10(D)->ucFlags; _22 = _1 & 1; if (_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (xSpace_12(D) >= xRequiredSpace_14(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 177167401]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_10(D) # DEBUG pucData => &xDataLengthBytes # DEBUG xCount => 4 # DEBUG xHead => xNextHead_11 # DEBUG INLINE_ENTRY prvWriteBytesToBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xHead_20 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), &xDataLengthBytes, 4, xNextHead_11); # DEBUG xHead => xHead_20 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xHead => NULL # DEBUG ulNewBASEPRI => NULL # DEBUG xNextHead => xHead_20 goto ; [100.00%] [local count: 359703511]: # DEBUG BEGIN_STMT xDataLengthBytes = 0; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT xDataLengthBytes.2_2 = xDataLengthBytes; _3 = MIN_EXPR ; xDataLengthBytes = _3; [local count: 1073741824]: # xNextHead_6 = PHI # DEBUG xNextHead => xNextHead_6 # DEBUG BEGIN_STMT xDataLengthBytes.3_4 = xDataLengthBytes; if (xDataLengthBytes.3_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 354334802]: # DEBUG BEGIN_STMT _5 = prvWriteBytesToBuffer (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6); pxStreamBuffer_10(D)->xHead ={v} _5; [local count: 1073741824]: # DEBUG BEGIN_STMT _19 = xDataLengthBytes; return _19; } xStreamBufferSendFromISR (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken) { uint32_t ulOriginalBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xRequiredSpace; size_t xSpace; size_t xReturn; unsigned char _1; unsigned int _2; unsigned int _3; struct tskTaskControlBlock * _4; struct tskTaskControlBlock * _5; unsigned char _10; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_9(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xRequiredSpace => xDataLengthBytes_11(D) # DEBUG BEGIN_STMT if (pvTxData_12(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_9(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # 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: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags; _10 = _1 & 1; if (_10 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT xRequiredSpace_14 = xDataLengthBytes_11(D) + 4; # DEBUG xRequiredSpace => xRequiredSpace_14 [local count: 175378]: # xRequiredSpace_6 = PHI # DEBUG xRequiredSpace => xRequiredSpace_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xSpace_16 = xStreamBufferSpacesAvailable (xStreamBuffer_9(D)); # DEBUG xSpace => xSpace_16 # DEBUG BEGIN_STMT xReturn_18 = prvWriteMessageToBuffer (xStreamBuffer_9(D), pvTxData_12(D), xDataLengthBytes_11(D), xSpace_16, xRequiredSpace_6); # DEBUG xReturn => xReturn_18 # DEBUG BEGIN_STMT if (xReturn_18 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 57875]: # DEBUG BEGIN_STMT _2 = prvBytesInBuffer (xStreamBuffer_9(D)); _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes; if (_2 >= _3) goto ; [50.00%] else goto ; [50.00%] [local count: 28937]: # 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_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_26 # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT # DEBUG ulNewBASEPRI => NULL # DEBUG ulOriginalBASEPRI => NULL # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25 # DEBUG BEGIN_STMT _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; if (_4 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 15473]: # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; xTaskGenericNotifyFromISR (_5, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_20(D)); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive ={v} 0B; [local count: 28937]: # DEBUG BEGIN_STMT # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25 # DEBUG INLINE_ENTRY vPortSetBASEPRI # DEBUG BEGIN_STMT __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory"); [local count: 175378]: # DEBUG ulNewMaskValue => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xReturn_18; } xStreamBufferSend (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; size_t xMaxReportedSpace; struct TimeOut_t xTimeOut; size_t xRequiredSpace; size_t xSpace; size_t xReturn; unsigned int _1; unsigned char _2; unsigned int _3; long unsigned int xTicksToWait.0_4; struct tskTaskControlBlock * _5; struct tskTaskControlBlock * _6; long unsigned int xTicksToWait.1_7; long int _8; unsigned int _9; unsigned int _10; struct tskTaskControlBlock * _11; struct tskTaskControlBlock * _12; unsigned char _23; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_22(D) # DEBUG BEGIN_STMT # DEBUG xSpace => 0 # DEBUG BEGIN_STMT # DEBUG xRequiredSpace => xDataLengthBytes_25(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG xMaxReportedSpace => 0 # DEBUG BEGIN_STMT if (pvTxData_27(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_22(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 75162]: # 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: 751619279]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 175378]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xLength; xMaxReportedSpace_29 = _1 + 4294967295; # DEBUG xMaxReportedSpace => xMaxReportedSpace_29 # DEBUG BEGIN_STMT _2 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].ucFlags; _23 = _2 & 1; if (_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87689]: # DEBUG BEGIN_STMT xRequiredSpace_30 = xDataLengthBytes_25(D) + 4; # DEBUG xRequiredSpace => xRequiredSpace_30 # DEBUG BEGIN_STMT if (xDataLengthBytes_25(D) >= xRequiredSpace_30) goto ; [50.00%] else goto ; [50.00%] [local count: 43844]: # 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_56 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_56 [local count: 438444579]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 438444579]: goto ; [100.00%] [local count: 43844]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xMaxReportedSpace_29 < xRequiredSpace_30) goto ; [50.00%] else goto ; [50.00%] [local count: 21922]: # DEBUG BEGIN_STMT xTicksToWait = 0; goto ; [100.00%] [local count: 87689]: # DEBUG BEGIN_STMT _3 = MIN_EXPR ; [local count: 131533]: # xRequiredSpace_15 = PHI # DEBUG xRequiredSpace => xRequiredSpace_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicksToWait.0_4 = xTicksToWait; if (xTicksToWait.0_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 65767]: # DEBUG BEGIN_STMT vTaskSetTimeOutState (&xTimeOut); [local count: 621434]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT xSpace_35 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D)); # DEBUG xSpace => xSpace_35 # DEBUG BEGIN_STMT if (xRequiredSpace_15 > xSpace_35) goto ; [96.34%] else goto ; [3.66%] [local count: 598690]: # DEBUG BEGIN_STMT xTaskGenericNotifyStateClear (0B, 0); # DEBUG BEGIN_STMT _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend; if (_5 != 0B) goto ; [3.66%] else goto ; [96.34%] [local count: 21912]: # 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_57 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_57 [local count: 219120732]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 219120732]: goto ; [100.00%] [local count: 576777]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 = xTaskGetCurrentTaskHandle (); MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} _6; # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTicksToWait.1_7 = xTicksToWait; xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait.1_7); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} 0B; # DEBUG BEGIN_STMT _8 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait); if (_8 == 0) goto ; [96.34%] else goto ; [3.66%] [local count: 555667]: goto ; [100.00%] [local count: 22744]: # xSpace_24 = PHI # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT [local count: 43855]: # xSpace_13 = PHI # DEBUG xSpace => xSpace_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xSpace_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 87694]: # DEBUG xSpace => NULL # DEBUG BEGIN_STMT xSpace_45 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D)); # DEBUG xSpace => xSpace_45 [local count: 109621]: # xSpace_14 = PHI # DEBUG xSpace => xSpace_14 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_47 = prvWriteMessageToBuffer (xStreamBuffer_22(D), pvTxData_27(D), xDataLengthBytes_25(D), xSpace_14, xRequiredSpace_15); # DEBUG xReturn => xReturn_47 # DEBUG BEGIN_STMT if (xReturn_47 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 36175]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 = prvBytesInBuffer (xStreamBuffer_22(D)); _10 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTriggerLevelBytes; if (_9 >= _10) goto ; [33.00%] else goto ; [67.00%] [local count: 11938]: # DEBUG BEGIN_STMT vTaskSuspendAll (); # DEBUG BEGIN_STMT _11 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive; if (_11 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 6383]: # DEBUG BEGIN_STMT _12 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive; xTaskGenericNotify (_12, 0, 0, 0, 0B); # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive ={v} 0B; [local count: 11938]: # DEBUG BEGIN_STMT xTaskResumeAll (); # DEBUG BEGIN_STMT [local count: 109621]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTimeOut ={v} {CLOBBER}; return xReturn_47; } xStreamBufferBytesAvailable (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; size_t xReturn; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_1(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_1(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_5 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 123389]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xReturn_4 = prvBytesInBuffer (xStreamBuffer_1(D)); # DEBUG xReturn => xReturn_4 # DEBUG BEGIN_STMT return xReturn_4; } xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer) { size_t xOriginalTail; size_t xSpace; unsigned int _1; unsigned int _2; unsigned int _3; unsigned int _4; unsigned int _12; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_7(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_7(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG D#1 => xStreamBuffer_7(D) xStreamBufferSpacesAvailable.part.0 (); [local count: 250539]: [local count: 2277630]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xOriginalTail_10 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; # DEBUG xOriginalTail => xOriginalTail_10 # DEBUG BEGIN_STMT _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xLength; _2 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; xSpace_11 = _1 + _2; # DEBUG xSpace => xSpace_11 # DEBUG BEGIN_STMT _12 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xHead; xSpace_13 = xSpace_11 - _12; # DEBUG xSpace => xSpace_13 # DEBUG BEGIN_STMT _3 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail; if (_3 != xOriginalTail_10) goto ; [89.00%] else goto ; [11.00%] [local count: 2027091]: goto ; [100.00%] [local count: 250539]: # _4 = PHI <_1(4)> # xSpace_5 = PHI # DEBUG BEGIN_STMT xSpace_14 = xSpace_5 + 4294967295; # DEBUG xSpace => xSpace_14 # DEBUG BEGIN_STMT if (_4 <= xSpace_14) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT xSpace_15 = xSpace_14 - _4; # DEBUG xSpace => xSpace_15 [local count: 250539]: # xSpace_6 = PHI # DEBUG xSpace => xSpace_6 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return xSpace_6; } xStreamBufferSetTriggerLevel (struct StreamBufferDef_t * xStreamBuffer, size_t xTriggerLevel) { uint32_t ulNewBASEPRI; BaseType_t xReturn; unsigned int _1; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_4(D) # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_4(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_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: 250539]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTriggerLevel_8 = MAX_EXPR <1, xTriggerLevel_5(D)>; # DEBUG xTriggerLevel => xTriggerLevel_8 # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xLength; if (_1 > xTriggerLevel_8) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xTriggerLevelBytes = xTriggerLevel_8; # DEBUG BEGIN_STMT # DEBUG xReturn => 1 [local count: 250539]: # xReturn_2 = PHI <1(6), 0(5)> # DEBUG xReturn => xReturn_2 # DEBUG BEGIN_STMT return xReturn_2; } xStreamBufferReset (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; UBaseType_t uxStreamBufferNumber; BaseType_t xReturn; struct tskTaskControlBlock * _1; struct tskTaskControlBlock * _2; uint8_t * _3; unsigned int _4; unsigned int _5; unsigned char _6; [local count: 230763]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_9(D) # DEBUG BEGIN_STMT # DEBUG xReturn => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xStreamBuffer_9(D) == 0B) goto ; [46.53%] else goto ; [53.47%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_16 [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 uxStreamBufferNumber_11 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber; # DEBUG uxStreamBufferNumber => uxStreamBufferNumber_11 # DEBUG BEGIN_STMT vPortEnterCritical (); # DEBUG BEGIN_STMT _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive; if (_1 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 37017]: # DEBUG BEGIN_STMT _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToSend; if (_2 == 0B) goto ; [17.43%] else goto ; [82.57%] [local count: 6452]: # DEBUG BEGIN_STMT _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].pucBuffer; _4 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xLength; _5 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes; _6 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags; prvInitialiseNewStreamBuffer (xStreamBuffer_9(D), _3, _4, _5, _6); # DEBUG BEGIN_STMT # DEBUG xReturn => 1 # DEBUG BEGIN_STMT MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber = uxStreamBufferNumber_11; [local count: 123389]: # xReturn_7 = PHI <0(5), 0(6), 1(7)> # DEBUG xReturn => xReturn_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT vPortExitCritical (); # DEBUG BEGIN_STMT return xReturn_7; } vStreamBufferDelete (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; unsigned char _1; unsigned char _4; [local count: 357913]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => xStreamBuffer_3(D) # DEBUG BEGIN_STMT if (xStreamBuffer_3(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_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 # DEBUG BEGIN_STMT _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_3(D)].ucFlags; _4 = _1 & 2; if (_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 125270]: # DEBUG BEGIN_STMT vPortFree (xStreamBuffer_3(D)); goto ; [100.00%] [local count: 125270]: # DEBUG BEGIN_STMT memset (xStreamBuffer_3(D), 0, 36); [local count: 250539]: return; } xStreamBufferGenericCreate (size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer) { uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint32_t ulNewBASEPRI; uint8_t ucFlags; uint8_t * pucAllocatedMemory; unsigned int _1; uint8_t * _2; [local count: 325376]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xIsMessageBuffer_5(D) == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 110628]: # DEBUG BEGIN_STMT # DEBUG ucFlags => 1 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) <= 4) goto ; [50.00%] else goto ; [50.00%] [local count: 55314]: # 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: 553139728]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 553139728]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG ucFlags => 0 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(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_16 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_16 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 162688]: # ucFlags_3 = PHI <1(3), 0(6)> # DEBUG ucFlags => ucFlags_3 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) < xTriggerLevelBytes_8(D)) goto ; [50.00%] else goto ; [50.00%] [local count: 81344]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_17 [local count: 813440776]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 813440776]: goto ; [100.00%] [local count: 81344]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTriggerLevelBytes_9 = MAX_EXPR <1, xTriggerLevelBytes_8(D)>; # DEBUG xTriggerLevelBytes => xTriggerLevelBytes_9 # DEBUG BEGIN_STMT if (xBufferSizeBytes_6(D) <= 4294967258) goto ; [54.67%] else goto ; [45.33%] [local count: 44471]: # DEBUG BEGIN_STMT xBufferSizeBytes_11 = xBufferSizeBytes_6(D) + 1; # DEBUG xBufferSizeBytes => xBufferSizeBytes_11 # DEBUG BEGIN_STMT _1 = xBufferSizeBytes_6(D) + 37; pucAllocatedMemory_13 = pvPortMalloc (_1); # DEBUG pucAllocatedMemory => pucAllocatedMemory_13 # DEBUG xBufferSizeBytes => xBufferSizeBytes_11 # DEBUG BEGIN_STMT if (pucAllocatedMemory_13 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 23779]: # DEBUG BEGIN_STMT _2 = pucAllocatedMemory_13 + 36; prvInitialiseNewStreamBuffer (pucAllocatedMemory_13, _2, xBufferSizeBytes_11, xTriggerLevelBytes_9, ucFlags_3); # DEBUG BEGIN_STMT [local count: 81344]: # pucAllocatedMemory_10 = PHI # DEBUG pucAllocatedMemory => NULL # DEBUG xBufferSizeBytes => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return pucAllocatedMemory_10; }