IPA function summary for xStreamBufferSpacesAvailable.part.0/62 inlinable global time: 5.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:5.000000 size:2.000000, time:0.000000, executed if:(not inlined) calls: IPA function summary for prvReadBytesFromBuffer.part.0/53 inlinable global time: 15.423664 self size: 41 global size: 41 min size: 16 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 IPA function summary for prvWriteBytesToBuffer.part.0/48 inlinable global time: 18.415930 self size: 42 global size: 42 min size: 16 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 IPA function summary for prvInitialiseNewStreamBuffer.part.0/44 inlinable global time: 19.000000 self size: 11 global size: 11 min size: 8 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 IPA function summary for ucStreamBufferGetStreamBufferType/27 inlinable global time: 4.000000 self size: 5 global size: 5 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: IPA function summary for vStreamBufferSetStreamBufferNumber/26 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: IPA function summary for uxStreamBufferGetStreamBufferNumber/25 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 256] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 256] changed) calls: IPA function summary for prvInitialiseNewStreamBuffer/24 inlinable global time: 23.091603 self size: 21 global size: 21 min size: 22 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 IPA function summary for prvBytesInBuffer/23 inlinable global time: 9.500000 self size: 11 global size: 11 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: IPA function summary for prvReadBytesFromBuffer/22 inlinable global time: 13.000000 self size: 16 global size: 16 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(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) IPA function summary for prvWriteBytesToBuffer/21 inlinable global time: 13.000000 self size: 16 global size: 16 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(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) IPA function summary for xStreamBufferReceiveCompletedFromISR/20 inlinable global time: 18.637205 self size: 29 global size: 29 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 IPA function summary for xStreamBufferSendCompletedFromISR/19 inlinable global time: 18.637205 self size: 29 global size: 29 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 IPA function summary for xStreamBufferIsFull/18 inlinable global time: 17.499996 self size: 19 global size: 19 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: 12callee size: 9 stack: 0 predicate: (op0 != 0B) IPA function summary for xStreamBufferIsEmpty/17 inlinable global time: 7.700000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 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: IPA function summary for prvReadMessageFromBuffer/16 inlinable global time: 21.550000 self size: 28 global size: 28 min size: 24 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 IPA function summary for xStreamBufferReceiveFromISR/15 inlinable global time: 20.085616 self size: 53 global size: 53 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) IPA function summary for xStreamBufferNextMessageLengthBytes/14 inlinable global time: 12.695390 self size: 33 global size: 33 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) IPA function summary for xStreamBufferReceive/13 inlinable global time: 28.460665 self size: 82 global size: 82 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) IPA function summary for prvWriteMessageToBuffer/12 inlinable global time: 21.590000 self size: 31 global size: 31 min size: 24 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 IPA function summary for xStreamBufferSendFromISR/11 inlinable global time: 27.847242 self size: 59 global size: 59 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(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: 12callee size: 9 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) IPA function summary for xStreamBufferSend/10 inlinable global time: 180.533722 self size: 109 global size: 109 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: 12callee size: 9 stack: 0 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: 12callee size: 9 stack: 0 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 IPA function summary for xStreamBufferBytesAvailable/9 inlinable global time: 11.812301 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.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) IPA function summary for xStreamBufferSpacesAvailable/8 inlinable global time: 66.122776 self size: 19 global size: 19 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) IPA function summary for xStreamBufferSetTriggerLevel/7 inlinable global time: 8.050001 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size: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: IPA function summary for xStreamBufferReset/6 inlinable global time: 19.269125 self size: 30 global size: 30 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) IPA function summary for vStreamBufferDelete/5 inlinable global time: 16.100030 self size: 20 global size: 20 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) IPA function summary for xStreamBufferGenericCreate/4 inlinable global time: 13.356117 self size: 43 global size: 43 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) Flattening functions: Overall time estimate: 636.378590 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in xStreamBufferSpacesAvailable.part.0/62. Enqueueing calls in prvReadBytesFromBuffer.part.0/53. Enqueueing calls in prvWriteBytesToBuffer.part.0/48. Enqueueing calls in prvInitialiseNewStreamBuffer.part.0/44. Enqueueing calls in ucStreamBufferGetStreamBufferType/27. Enqueueing calls in vStreamBufferSetStreamBufferNumber/26. Enqueueing calls in uxStreamBufferGetStreamBufferNumber/25. Enqueueing calls in prvInitialiseNewStreamBuffer/24. Enqueueing calls in prvBytesInBuffer/23. Enqueueing calls in prvReadBytesFromBuffer/22. Enqueueing calls in prvWriteBytesToBuffer/21. Enqueueing calls in xStreamBufferReceiveCompletedFromISR/20. Enqueueing calls in xStreamBufferSendCompletedFromISR/19. Enqueueing calls in xStreamBufferIsFull/18. Enqueueing calls in xStreamBufferIsEmpty/17. Enqueueing calls in prvReadMessageFromBuffer/16. Enqueueing calls in xStreamBufferReceiveFromISR/15. Enqueueing calls in xStreamBufferNextMessageLengthBytes/14. Enqueueing calls in xStreamBufferReceive/13. Enqueueing calls in prvWriteMessageToBuffer/12. Enqueueing calls in xStreamBufferSendFromISR/11. Enqueueing calls in xStreamBufferSend/10. Enqueueing calls in xStreamBufferBytesAvailable/9. Enqueueing calls in xStreamBufferSpacesAvailable/8. Enqueueing calls in xStreamBufferSetTriggerLevel/7. Enqueueing calls in xStreamBufferReset/6. Enqueueing calls in vStreamBufferDelete/5. Enqueueing calls in xStreamBufferGenericCreate/4. Considering prvInitialiseNewStreamBuffer.part.0/44 with 11 size to be inlined into prvInitialiseNewStreamBuffer/24 in unknown:0 Estimated badness is -inf, frequency 0.17. Considering prvReadBytesFromBuffer/22 with 16 size to be inlined into xStreamBufferNextMessageLengthBytes/14 in ../FreeRTOS/Source/stream_buffer.c:888 Estimated badness is -0.152462, frequency 0.08. Considering prvReadBytesFromBuffer/22 with 16 size to be inlined into prvReadMessageFromBuffer/16 in ../FreeRTOS/Source/stream_buffer.c:1012 Estimated badness is -0.086204, frequency 0.33. Considering prvWriteBytesToBuffer/21 with 16 size to be inlined into prvWriteMessageToBuffer/12 in ../FreeRTOS/Source/stream_buffer.c:759 Estimated badness is -0.079398, frequency 0.33. Considering xStreamBufferSpacesAvailable.part.0/62 with 7 size to be inlined into xStreamBufferSpacesAvailable/8 in unknown:0 Estimated badness is -0.000067, frequency 0.30. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 582.403088 weighted by profile: 0.000000 Why inlining failed? function body not available : 34 calls, 15.393664 freq, 0 count --param max-inline-insns-auto limit reached : 4 calls, 0.533115 freq, 0 count call is unlikely and code size would grow : 19 calls, 6.744581 freq, 0 count IPA function summary for prvReadBytesFromBuffer.part.0/53 inlinable global time: 15.423664 self size: 41 global size: 41 min size: 14 self stack: 0 global stack: 0 estimated growth:19 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 IPA function summary for prvWriteBytesToBuffer.part.0/48 inlinable global time: 18.415930 self size: 42 global size: 42 min size: 17 self stack: 0 global stack: 0 estimated growth:20 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 IPA function summary for ucStreamBufferGetStreamBufferType/27 inlinable global time: 4.000000 self size: 5 global size: 5 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: IPA function summary for vStreamBufferSetStreamBufferNumber/26 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) calls: IPA function summary for uxStreamBufferGetStreamBufferNumber/25 inlinable global time: 3.000000 self size: 4 global size: 4 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 256] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 256] changed) calls: IPA function summary for prvInitialiseNewStreamBuffer/24 inlinable global time: 23.091603 self size: 21 global size: 21 min size: 9 self stack: 0 global stack: 0 estimated growth:3 size:9.000000, time:6.477099 size:3.000000, time:0.348600, executed if:(not inlined) calls: prvInitialiseNewStreamBuffer.part.0/44 inlined loop depth: 0 freq:0.17 size: 6 time: 15callee size: 5 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 memset/29 function body not available loop depth: 0 freq:0.17 size: 4 time: 13 op1 is compile time invariant op2 is compile time invariant memset/29 function body not available loop depth: 0 freq:1.00 size: 5 time: 14 op1 is compile time invariant IPA function summary for prvBytesInBuffer/23 inlinable global time: 9.500000 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 estimated growth:21 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 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: IPA function summary for xStreamBufferReceiveCompletedFromISR/20 inlinable global time: 18.637205 self size: 29 global size: 29 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 IPA function summary for xStreamBufferSendCompletedFromISR/19 inlinable global time: 18.637205 self size: 29 global size: 29 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 IPA function summary for xStreamBufferIsFull/18 inlinable global time: 17.499996 self size: 19 global size: 19 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 call is unlikely and code size would grow loop depth: 0 freq:0.70 size: 3 time: 12callee size:11 stack: 0 predicate: (op0 != 0B) IPA function summary for xStreamBufferIsEmpty/17 inlinable global time: 7.700000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:0.500000, time:0.350000, executed if:(op0 != 0B) && (not inlined), nonconst if:(op0[ref offset: 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: IPA function summary for prvReadMessageFromBuffer/16 inlinable global time: 20.560000 self size: 28 global size: 35 min size: 14 self stack: 4 global stack: 4 estimated growth:8 size:13.500000, time:5.640000 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 inlined loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0 Stack frame offset 4, callee self size 0, callee size 0 prvReadBytesFromBuffer.part.0/53 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.17 size: 6 time: 15callee size:20 stack: 0 prvReadBytesFromBuffer.part.0/53 call is unlikely and code size would grow loop depth: 0 freq:0.33 size: 6 time: 15callee size:20 stack: 0 op1 is compile time invariant op2 is compile time invariant IPA function summary for xStreamBufferReceiveFromISR/15 inlinable global time: 20.085616 self size: 53 global size: 53 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 call is unlikely and code size would grow loop depth: 0 freq:0.16 size: 6 time: 15callee size:17 stack: 4 predicate: (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 call is unlikely and code size would grow loop depth: 0 freq:0.49 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) IPA function summary for xStreamBufferNextMessageLengthBytes/14 inlinable global time: 12.199889 self size: 33 global size: 34 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/86 inlined loop depth: 0 freq:0.08 size: 5 time: 14callee size: 8 stack: 0 Stack frame offset 4, callee self size 0, callee size 0 prvReadBytesFromBuffer.part.0/53 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.04 size: 6 time: 15callee size:20 stack: 0 predicate: (op0 != 0B) op1 is compile time invariant op2 is compile time invariant prvBytesInBuffer/23 call is unlikely and code size would grow loop depth: 0 freq:0.23 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) IPA function summary for xStreamBufferReceive/13 inlinable global time: 28.460665 self size: 82 global size: 82 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 call is unlikely and code size would grow loop depth: 0 freq:0.13 size: 6 time: 15callee size:17 stack: 4 predicate: (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 call is unlikely and code size would grow loop depth: 0 freq:0.25 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 == 0) && (op0 != 0B) && (op1 != 0B) prvBytesInBuffer/23 call is unlikely and code size would grow 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 call is unlikely and code size would grow 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) IPA function summary for prvWriteMessageToBuffer/12 inlinable global time: 20.600000 self size: 31 global size: 38 min size: 13 self stack: 0 global stack: 0 estimated growth:5 size:12.500000, time:6.067500 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 inlined loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 prvWriteBytesToBuffer.part.0/48 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.17 size: 6 time: 15callee size:21 stack: 0 prvWriteBytesToBuffer.part.0/48 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.17 size: 6 time: 15callee size:21 stack: 0 op1 is compile time invariant op2 is compile time invariant IPA function summary for xStreamBufferSendFromISR/11 inlinable global time: 27.847242 self size: 59 global size: 59 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(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 call is unlikely and code size would grow loop depth: 0 freq:0.16 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) prvWriteMessageToBuffer/12 call is unlikely and code size would grow loop depth: 0 freq:0.49 size: 7 time: 16callee size:19 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) xStreamBufferSpacesAvailable/8 call is unlikely and code size would grow loop depth: 0 freq:0.49 size: 3 time: 12callee size:11 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) IPA function summary for xStreamBufferSend/10 inlinable global time: 180.533722 self size: 109 global size: 109 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 call is unlikely and code size would grow loop depth: 0 freq:0.10 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) prvWriteMessageToBuffer/12 call is unlikely and code size would grow loop depth: 0 freq:0.31 size: 7 time: 16callee size:19 stack: 0 predicate: (op0 != 0B) && (op1 != 0B) xStreamBufferSpacesAvailable/8 call is unlikely and code size would grow loop depth: 0 freq:0.25 size: 3 time: 12callee size:11 stack: 0 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 call is unlikely and code size would grow loop depth: 1 freq:1.74 size: 3 time: 12callee size:11 stack: 0 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 IPA function summary for xStreamBufferBytesAvailable/9 inlinable global time: 11.812301 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:1.000000, time:1.069400, executed if:(op0 != 0B) && (not inlined) size:5.000000, time:2.326499, executed if:(op0 == 0B) calls: prvBytesInBuffer/23 call is unlikely and code size would grow loop depth: 0 freq:0.53 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) IPA function summary for xStreamBufferSpacesAvailable/8 inlinable global time: 64.622774 self size: 19 global size: 23 min size: 0 self stack: 0 global stack: 0 estimated growth:44 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) size:5.000000, time:1.500001, executed if:(op0 == 0B) calls: xStreamBufferSpacesAvailable.part.0/62 inlined loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for xStreamBufferSetTriggerLevel/7 inlinable global time: 8.050001 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:2.000000, time:0.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op0 changed) size: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: IPA function summary for xStreamBufferReset/6 inlinable global time: 19.269125 self size: 30 global size: 30 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 call is unlikely and code size would grow 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) IPA function summary for vStreamBufferDelete/5 inlinable global time: 16.100030 self size: 20 global size: 20 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) IPA function summary for xStreamBufferGenericCreate/4 inlinable global time: 13.356117 self size: 43 global size: 43 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 call is unlikely and code size would grow 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: prvReadBytesFromBuffer/86 (prvReadBytesFromBuffer) @05e741c0 Type: function definition analyzed Visibility: next sharing asm name: 22 References: Referring: Function prvReadBytesFromBuffer/86 is inline copy in xStreamBufferNextMessageLengthBytes/14 Clone of prvReadBytesFromBuffer/22 Availability: local Function flags: count:27284 (estimated locally) body local optimize_size Called by: xStreamBufferNextMessageLengthBytes/14 (inlined) (27284 (estimated locally),0.08 per call) Calls: prvReadBytesFromBuffer.part.0/53 (13642 (estimated locally),0.04 per call) xStreamBufferSpacesAvailable.part.0/62 (xStreamBufferSpacesAvailable.part.0) @05faf7e0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function xStreamBufferSpacesAvailable.part.0/62 is inline copy in xStreamBufferSpacesAvailable/8 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: xStreamBufferSpacesAvailable/8 (inlined) (107374 (estimated locally),0.30 per call) Calls: prvReadBytesFromBuffer.part.0/53 (prvReadBytesFromBuffer.part.0) @05faf700 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: prvReadBytesFromBuffer/86 (13642 (estimated locally),0.04 per call) prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer/22 (177167401 (estimated locally),0.17 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) @05faf620 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 (177167401 (estimated locally),0.17 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) @05e6d8c0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function prvInitialiseNewStreamBuffer.part.0/44 is inline copy in prvInitialiseNewStreamBuffer/24 Availability: local Function flags: count:22666 (estimated locally) first_run:1 body local split_part optimize_size Called by: prvInitialiseNewStreamBuffer/24 (inlined) (22666 (estimated locally),0.17 per call) Calls: memset/29 (22666 (estimated locally),0.17 per call) xTaskGenericNotifyFromISR/42 (xTaskGenericNotifyFromISR) @05f6e0e0 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) @05f5bee0 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) @05f5bc40 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) @05f5bb60 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) @05f5ba80 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) @05f5b9a0 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) @05f5b8c0 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) @05f5b7e0 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) @05f5b700 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) @05f5b620 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) @05f362a0 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) @05f36000 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) @05f36e00 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) @05f36c40 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 (22666 (estimated locally),0.17 per call) Calls: pvPortMalloc/28 (pvPortMalloc) @05f369a0 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) @05f36460 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) @05f361c0 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) @05f2ed20 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) @05f2e540 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 (inlined) (22666 (estimated locally),0.17 per call) memset/29 (130040 (estimated locally),1.00 per call) prvBytesInBuffer/23 (prvBytesInBuffer) @05f2eee0 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) @05f2ec40 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 86 References: Referring: Function prvReadBytesFromBuffer/22 is inline copy in prvReadMessageFromBuffer/16 Availability: local Function flags: count:354334802 (estimated locally) body local optimize_size Called by: prvReadMessageFromBuffer/16 (inlined) (354334802 (estimated locally),0.33 per call) Calls: prvReadBytesFromBuffer.part.0/53 (177167401 (estimated locally),0.17 per call) prvWriteBytesToBuffer/21 (prvWriteBytesToBuffer) @05f2e7e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function prvWriteBytesToBuffer/21 is inline copy in prvWriteMessageToBuffer/12 Availability: local Function flags: count:354334802 (estimated locally) body local optimize_size Called by: prvWriteMessageToBuffer/12 (inlined) (354334802 (estimated locally),0.33 per call) Calls: prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call) xStreamBufferReceiveCompletedFromISR/20 (xStreamBufferReceiveCompletedFromISR) @05f2e460 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) @05f2e0e0 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) @05ede8c0 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) @05edeee0 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) @05edeb60 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 (inlined) (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer.part.0/53 (354334802 (estimated locally),0.33 per call) xStreamBufferReceiveFromISR/15 (xStreamBufferReceiveFromISR) @05ede7e0 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) @05ede380 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/86 (inlined) (27284 (estimated locally),0.08 per call) prvBytesInBuffer/23 (82678 (estimated locally),0.23 per call) xStreamBufferReceive/13 (xStreamBufferReceive) @05ed1e00 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) @05ed1d20 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 (inlined) (354334802 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call) xStreamBufferSendFromISR/11 (xStreamBufferSendFromISR) @05ed19a0 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) @05ed1540 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) @05f2bd20 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) @05f2b2a0 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 (inlined) (107374 (estimated locally),0.30 per call) xStreamBufferSetTriggerLevel/7 (xStreamBufferSetTriggerLevel) @05f2bc40 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) @05f2b8c0 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) @05f2b540 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) @05f2b1c0 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) ;; Function prvBytesInBuffer (prvBytesInBuffer, funcdef_no=23, decl_uid=6097, cgraph_uid=24, symbol_order=23) 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; } ;; Function prvInitialiseNewStreamBuffer (prvInitialiseNewStreamBuffer, funcdef_no=24, decl_uid=6124, cgraph_uid=25, symbol_order=24) Symbols to be put in SSA form { D.6592 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 4 and 6 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 1 } 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 goto ; [100.00%] [local count: 22666]: # DEBUG pxStreamBuffer => pxStreamBuffer_7(D) # DEBUG pucBuffer => pucBuffer_4(D) # DEBUG xBufferSizeBytes => xBufferSizeBytes_5(D) # DEBUG xTriggerLevelBytes => xTriggerLevelBytes_8(D) # DEBUG ucFlags => ucFlags_9(D) # DEBUG INLINE_ENTRY prvInitialiseNewStreamBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT memset (pxStreamBuffer_7(D), 0, 36); # DEBUG BEGIN_STMT pxStreamBuffer_7(D)->pucBuffer = pucBuffer_4(D); # DEBUG BEGIN_STMT pxStreamBuffer_7(D)->xLength = xBufferSizeBytes_5(D); # DEBUG BEGIN_STMT pxStreamBuffer_7(D)->xTriggerLevelBytes = xTriggerLevelBytes_8(D); # DEBUG BEGIN_STMT pxStreamBuffer_7(D)->ucFlags = ucFlags_9(D); # DEBUG pxStreamBuffer => NULL # DEBUG pucBuffer => NULL # DEBUG xBufferSizeBytes => NULL # DEBUG xTriggerLevelBytes => NULL # DEBUG ucFlags => NULL # DEBUG xWriteValue => NULL # DEBUG ulNewBASEPRI => NULL return; } ;; Function prvWriteBytesToBuffer.part.0 (prvWriteBytesToBuffer.part.0, funcdef_no=29, decl_uid=6635, cgraph_uid=49, symbol_order=48) 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; } ;; Function prvWriteMessageToBuffer (prvWriteMessageToBuffer, funcdef_no=12, decl_uid=6113, cgraph_uid=13, symbol_order=12) Symbols to be put in SSA form { D.6594 D.6774 } Incremental SSA update started at block: 0 Number of blocks in CFG: 16 Number of blocks to update: 15 ( 94%) Removing basic block 8 Merging blocks 13 and 14 Merging blocks 15 and 10 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 ;; ;; Loop 2 ;; header 10, latch 10 ;; depth 1, outer 0 ;; nodes: 10 ;; 2 succs { 3 6 } ;; 3 succs { 4 5 } ;; 4 succs { 7 } ;; 5 succs { 7 } ;; 6 succs { 7 } ;; 7 succs { 8 12 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 10 } ;; 11 succs { 12 } ;; 12 succs { 1 } prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace) { uint32_t ulNewBASEPRI; size_t D.6774; size_t xHead; 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: 650752]: # 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: 325376]: # DEBUG BEGIN_STMT if (xSpace_12(D) >= xRequiredSpace_14(D)) goto ; [33.00%] else goto ; [67.00%] [local count: 107374]: # 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: 218002]: # DEBUG BEGIN_STMT xDataLengthBytes = 0; goto ; [100.00%] [local count: 325376]: # DEBUG BEGIN_STMT xDataLengthBytes.2_2 = xDataLengthBytes; _3 = MIN_EXPR ; xDataLengthBytes = _3; [local count: 650752]: # 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: 214748]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_10(D) # DEBUG pucData => pvTxData_16(D) # DEBUG xCount => xDataLengthBytes.3_4 # DEBUG xHead => xNextHead_6 # DEBUG INLINE_ENTRY prvWriteBytesToBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xDataLengthBytes.3_4 == 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_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: xHead_24 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6); # DEBUG xHead => xHead_24 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _26 = xHead_24; # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xHead => NULL # DEBUG ulNewBASEPRI => NULL _5 = _26; pxStreamBuffer_10(D)->xHead ={v} _5; [local count: 543378]: # DEBUG BEGIN_STMT _19 = xDataLengthBytes; return _19; } ;; Function prvReadBytesFromBuffer.part.0 (prvReadBytesFromBuffer.part.0, funcdef_no=30, decl_uid=6658, cgraph_uid=54, symbol_order=53) 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; } ;; Function prvReadMessageFromBuffer (prvReadMessageFromBuffer, funcdef_no=16, decl_uid=6107, cgraph_uid=17, symbol_order=16) Symbols to be put in SSA form { D.6596 D.6793 } Incremental SSA update started at block: 0 Number of blocks in CFG: 14 Number of blocks to update: 13 ( 93%) Removing basic block 6 Merging blocks 11 and 12 Merging blocks 13 and 8 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 ;; ;; Loop 2 ;; header 8, latch 8 ;; depth 1, outer 0 ;; nodes: 8 ;; 2 succs { 3 5 } ;; 3 succs { 4 5 } ;; 4 succs { 5 } ;; 5 succs { 6 10 } ;; 6 succs { 7 9 } ;; 7 succs { 8 } ;; 8 succs { 8 } ;; 9 succs { 10 } ;; 10 succs { 1 } prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable) { uint32_t ulNewBASEPRI; size_t D.6793; size_t xTail; 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: 650752]: # 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: 214748]: # 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: 107374]: # DEBUG BEGIN_STMT # DEBUG xNextMessageLength => 0 [local count: 650752]: # 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: 214748]: # DEBUG BEGIN_STMT # DEBUG pxStreamBuffer => pxStreamBuffer_9(D) # DEBUG pucData => pvRxData_17(D) # DEBUG xCount => xCount_16 # DEBUG xTail => xNextTail_5 # DEBUG INLINE_ENTRY prvReadBytesFromBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (xCount_16 == 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_23 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_23 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: xTail_24 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5); # DEBUG xTail => xTail_24 # DEBUG BEGIN_STMT _26 = xTail_24; # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xTail => NULL # DEBUG ulNewBASEPRI => NULL _2 = _26; pxStreamBuffer_9(D)->xTail ={v} _2; [local count: 543378]: # DEBUG BEGIN_STMT xTempNextMessageLength ={v} {CLOBBER}; return xCount_16; } ;; Function xStreamBufferGenericCreate (xStreamBufferGenericCreate, funcdef_no=4, decl_uid=6070, cgraph_uid=5, symbol_order=4) 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; } ;; Function vStreamBufferDelete (vStreamBufferDelete, funcdef_no=5, decl_uid=6047, cgraph_uid=6, symbol_order=5) 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; } ;; Function xStreamBufferReset (xStreamBufferReset, funcdef_no=6, decl_uid=6053, cgraph_uid=7, symbol_order=6) 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; } ;; Function xStreamBufferSetTriggerLevel (xStreamBufferSetTriggerLevel, funcdef_no=7, decl_uid=6060, cgraph_uid=8, symbol_order=7) 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; } ;; Function xStreamBufferSpacesAvailable (xStreamBufferSpacesAvailable, funcdef_no=8, decl_uid=6055, cgraph_uid=9, symbol_order=8) Removing basic block 10 Symbols to be put in SSA form { D.6601 } Incremental SSA update started at block: 0 Number of blocks in CFG: 15 Number of blocks to update: 13 ( 87%) Removing basic block 3 Removing basic block 8 Removing basic block 9 Removing basic block 11 Merging blocks 13 and 14 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 ;; ;; Loop 3 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 5 6 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 1 } xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer) { uint32_t ulNewBASEPRI; 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) # DEBUG INLINE_ENTRY xStreamBufferSpacesAvailable # DEBUG D#2 => D#1 # DEBUG xStreamBuffer => D#2 # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY vPortRaiseBASEPRI # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __asm__ __volatile__(" mov %0, %1 msr basepri, %0 isb dsb " : "=r" ulNewBASEPRI_16 : "i" 16 : "memory"); # DEBUG ulNewBASEPRI => ulNewBASEPRI_16 [local count: 1073741824]: # DEBUG ulNewBASEPRI => NULL # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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: 250539]: # _4 = PHI <_1(5)> # 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; } ;; Function xStreamBufferBytesAvailable (xStreamBufferBytesAvailable, funcdef_no=9, decl_uid=6057, cgraph_uid=10, symbol_order=9) 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; } ;; Function xStreamBufferSend (xStreamBufferSend, funcdef_no=10, decl_uid=6030, cgraph_uid=11, symbol_order=10) 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; } ;; Function xStreamBufferSendFromISR (xStreamBufferSendFromISR, funcdef_no=11, decl_uid=6035, cgraph_uid=12, symbol_order=11) 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; } ;; Function xStreamBufferReceive (xStreamBufferReceive, funcdef_no=13, decl_uid=6040, cgraph_uid=14, symbol_order=13) 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; } ;; Function xStreamBufferNextMessageLengthBytes (xStreamBufferNextMessageLengthBytes, funcdef_no=14, decl_uid=6078, cgraph_uid=15, symbol_order=14) Removing basic block 16 Removing basic block 17 Removing basic block 18 Symbols to be put in SSA form { D.6606 D.6846 } Incremental SSA update started at block: 0 Number of blocks in CFG: 20 Number of blocks to update: 16 ( 80%) Merging blocks 4 and 12 Merging blocks 7 and 15 Merging blocks 10 and 13 Merging blocks 7 and 19 Merging blocks 7 and 14 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 ;; ;; Loop 2 ;; header 4, latch 4 ;; depth 1, outer 0 ;; nodes: 4 ;; ;; Loop 1 ;; header 10, latch 10 ;; depth 1, outer 0 ;; nodes: 10 ;; 2 succs { 3 5 } ;; 3 succs { 4 } ;; 4 succs { 4 } ;; 5 succs { 6 11 } ;; 6 succs { 7 8 } ;; 7 succs { 11 } ;; 8 succs { 9 11 } ;; 9 succs { 10 } ;; 10 succs { 10 } ;; 11 succs { 1 } xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer) { size_t D.6846; size_t xTail; 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 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; # DEBUG pxStreamBuffer => xStreamBuffer_5(D) # DEBUG pucData => &xTempReturn # DEBUG xCount => 4 # DEBUG xTail => _2 # DEBUG INLINE_ENTRY prvReadBytesFromBuffer # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT xTail_18 = prvReadBytesFromBuffer.part.0 (xStreamBuffer_5(D), &xTempReturn, 4, _2); # DEBUG xTail => xTail_18 # DEBUG BEGIN_STMT _20 = xTail_18; # DEBUG pxStreamBuffer => NULL # DEBUG pucData => NULL # DEBUG xCount => NULL # DEBUG xTail => NULL # DEBUG ulNewBASEPRI => NULL # 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 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; } ;; Function xStreamBufferReceiveFromISR (xStreamBufferReceiveFromISR, funcdef_no=15, decl_uid=6045, cgraph_uid=16, symbol_order=15) 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; } ;; Function xStreamBufferIsEmpty (xStreamBufferIsEmpty, funcdef_no=17, decl_uid=6051, cgraph_uid=18, symbol_order=17) 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; } ;; Function xStreamBufferIsFull (xStreamBufferIsFull, funcdef_no=18, decl_uid=6049, cgraph_uid=19, symbol_order=18) 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; } ;; Function xStreamBufferSendCompletedFromISR (xStreamBufferSendCompletedFromISR, funcdef_no=19, decl_uid=6063, cgraph_uid=20, symbol_order=19) 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; } ;; Function xStreamBufferReceiveCompletedFromISR (xStreamBufferReceiveCompletedFromISR, funcdef_no=20, decl_uid=6066, cgraph_uid=21, symbol_order=20) 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; } ;; Function uxStreamBufferGetStreamBufferNumber (uxStreamBufferGetStreamBufferNumber, funcdef_no=25, decl_uid=6083, cgraph_uid=26, symbol_order=25) uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer) { UBaseType_t _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _3 = xStreamBuffer_2(D)->uxStreamBufferNumber; return _3; } ;; Function vStreamBufferSetStreamBufferNumber (vStreamBufferSetStreamBufferNumber, funcdef_no=26, decl_uid=6081, cgraph_uid=27, symbol_order=26) vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber) { [local count: 1073741824]: # DEBUG BEGIN_STMT xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D); return; } ;; Function ucStreamBufferGetStreamBufferType (ucStreamBufferGetStreamBufferType, funcdef_no=27, decl_uid=6085, cgraph_uid=28, symbol_order=27) 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; }