
Analyzing function: xStreamBufferSpacesAvailable.part.0/62
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 5 2 3 4
;;
;; Loop 1
;;  header 3, latch 4
;;  depth 1, outer 0
;;  nodes: 3 4
;; 5 succs { 2 }
;; 2 succs { 3 }
;; 3 succs { 4 }
;; 4 succs { 3 }

Analyzing function body size: xStreamBufferSpacesAvailable.part.0

IPA function summary for xStreamBufferSpacesAvailable.part.0/62 inlinable
  global time:     5.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.000000, time:5.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
  calls:


Analyzing function: prvReadBytesFromBuffer.part.0/53
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 15 2 3 4 5 6 7 8 9 10 11 12 13 14
;;
;; Loop 1
;;  header 4, latch 5
;;  depth 1, outer 0
;;  nodes: 4 5
;;
;; Loop 2
;;  header 8, latch 9
;;  depth 1, outer 0
;;  nodes: 8 9
;; 15 succs { 2 }
;; 2 succs { 3 6 }
;; 3 succs { 4 }
;; 4 succs { 5 }
;; 5 succs { 4 }
;; 6 succs { 7 10 }
;; 7 succs { 8 }
;; 8 succs { 9 }
;; 9 succs { 8 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 13 14 }
;; 13 succs { 14 }
;; 14 succs { 1 }

Analyzing function body size: prvReadBytesFromBuffer.part.0

IPA function summary for prvReadBytesFromBuffer.part.0/53 inlinable
  global time:     15.423664
  self size:       41
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:14.000000, time:4.697231
    size:4.000000, time:0.439720,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
    size:1.000000, time:1.000000,  nonconst if:(op0[ref offset: 64] changed || op3 changed)
    size:9.000000, time:4.884446,  nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed)
    size:0.500000, time:0.082499,  executed if:(not inlined),  nonconst if:(op0[ref offset: 192] changed) && (not inlined)
    size:0.500000, time:0.082499,  nonconst if:(op0[ref offset: 192] changed)
    size:1.000000, time:0.164998,  nonconst if:(op3 changed || op0[ref offset: 192] changed)
    size:1.000000, time:0.054450,  nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed || op1 changed)
    size:1.000000, time:0.164998,  nonconst if:(op3 changed || op2 changed)
  calls:
    memcpy/41 function body not available
      loop depth: 0 freq:0.16 size: 4 time: 13
    memcpy/41 function body not available
      loop depth: 0 freq:0.05 size: 4 time: 13


Analyzing function: prvWriteBytesToBuffer.part.0/48
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 15 2 3 4 5 6 7 8 9 10 11 12 13 14
;;
;; Loop 1
;;  header 4, latch 5
;;  depth 1, outer 0
;;  nodes: 4 5
;;
;; Loop 2
;;  header 9, latch 10
;;  depth 1, outer 0
;;  nodes: 9 10
;; 15 succs { 2 }
;; 2 succs { 3 6 }
;; 3 succs { 4 }
;; 4 succs { 5 }
;; 5 succs { 4 }
;; 6 succs { 7 12 }
;; 7 succs { 8 11 }
;; 8 succs { 9 }
;; 9 succs { 10 }
;; 10 succs { 9 }
;; 11 succs { 12 }
;; 12 succs { 13 14 }
;; 13 succs { 14 }
;; 14 succs { 1 }

Analyzing function body size: prvWriteBytesToBuffer.part.0

IPA function summary for prvWriteBytesToBuffer.part.0/48 inlinable
  global time:     18.415930
  self size:       42
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:16.500000, time:5.000824
    size:4.500000, time:0.658349,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
    size:1.000000, time:1.000000,  nonconst if:(op0[ref offset: 64] changed || op3 changed)
    size:7.000000, time:4.825003,  nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed)
    size:0.500000, time:0.165001,  executed if:(not inlined),  nonconst if:(op0[ref offset: 192] changed) && (not inlined)
    size:0.500000, time:0.165001,  nonconst if:(op0[ref offset: 192] changed)
    size:1.000000, time:0.330001,  nonconst if:(op3 changed || op0[ref offset: 192] changed)
    size:1.000000, time:0.054449,  nonconst if:(op0[ref offset: 64] changed || op3 changed || op2 changed || op1 changed)
    size:1.000000, time:0.219450,  nonconst if:(op3 changed || op2 changed)
  calls:
    memcpy/41 function body not available
      loop depth: 0 freq:0.33 size: 4 time: 13
    memcpy/41 function body not available
      loop depth: 0 freq:0.05 size: 4 time: 13


Analyzing function: prvInitialiseNewStreamBuffer.part.0/44
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 3 2
;; 3 succs { 2 }
;; 2 succs { 1 }

Analyzing function body size: prvInitialiseNewStreamBuffer.part.0

IPA function summary for prvInitialiseNewStreamBuffer.part.0/44 inlinable
  global time:     19.000000
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:2.000000, time:2.000000
    size:5.000000, time:4.000000,  executed if:(not inlined)
  calls:
    memset/29 function body not available
      loop depth: 0 freq:1.00 size: 4 time: 13
       op1 is compile time invariant
       op2 is compile time invariant


Analyzing function: ucStreamBufferGetStreamBufferType/27
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: ucStreamBufferGetStreamBufferType

IPA function summary for ucStreamBufferGetStreamBufferType/27 inlinable
  global time:     4.000000
  self size:       5
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 224] changed) && (not inlined)
    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 224] changed)
  calls:


Analyzing function: vStreamBufferSetStreamBufferNumber/26
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vStreamBufferSetStreamBufferNumber

IPA function summary for vStreamBufferSetStreamBufferNumber/26 inlinable
  global time:     3.000000
  self size:       4
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
  calls:


Analyzing function: uxStreamBufferGetStreamBufferNumber/25
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: uxStreamBufferGetStreamBufferNumber

IPA function summary for uxStreamBufferGetStreamBufferNumber/25 inlinable
  global time:     3.000000
  self size:       4
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 256] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 256] changed)
  calls:


Analyzing function: prvInitialiseNewStreamBuffer/24
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: prvInitialiseNewStreamBuffer

IPA function summary for prvInitialiseNewStreamBuffer/24 inlinable
  global time:     23.091603
  self size:       21
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:7.000000, time:6.128499
    size:3.000000, time:0.348600,  executed if:(not inlined)
  calls:
    prvInitialiseNewStreamBuffer.part.0/44 function not considered for inlining
      loop depth: 0 freq:0.17 size: 6 time: 15callee size: 5 stack: 0
    memset/29 function body not available
      loop depth: 0 freq:1.00 size: 5 time: 14
       op1 is compile time invariant


Analyzing function: prvBytesInBuffer/23
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }

Analyzing function body size: prvBytesInBuffer

IPA function summary for prvBytesInBuffer/23 inlinable
  global time:     9.500000
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
    size:1.000000, time:1.000000,  nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 32] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:4.000000, time:3.500000,  nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 32] changed || op0[ref offset: 0] changed)
  calls:


Analyzing function: prvReadBytesFromBuffer/22
;; 4 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 3
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: prvReadBytesFromBuffer

IPA function summary for prvReadBytesFromBuffer/22 inlinable
  global time:     13.000000
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
    size:1.000000, time:1.000000,  executed if:(op2 != 0) && (not inlined)
    size:5.000000, time:2.500000,  executed if:(op2 == 0)
  calls:
    prvReadBytesFromBuffer.part.0/53 function not considered for inlining
      loop depth: 0 freq:0.50 size: 6 time: 15callee size:20 stack: 0 predicate: (op2 != 0)


Analyzing function: prvWriteBytesToBuffer/21
;; 4 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 3
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: prvWriteBytesToBuffer

IPA function summary for prvWriteBytesToBuffer/21 inlinable
  global time:     13.000000
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
    size:1.000000, time:1.000000,  executed if:(op2 != 0) && (not inlined)
    size:5.000000, time:2.500000,  executed if:(op2 == 0)
  calls:
    prvWriteBytesToBuffer.part.0/48 function not considered for inlining
      loop depth: 0 freq:0.50 size: 6 time: 15callee size:21 stack: 0 predicate: (op2 != 0)


Analyzing function: xStreamBufferReceiveCompletedFromISR/20
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: xStreamBufferReceiveCompletedFromISR

IPA function summary for xStreamBufferReceiveCompletedFromISR/20 inlinable
  global time:     18.637205
  self size:       29
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:10.500000, time:7.024287,  executed if:(op0 != 0B)
    size:2.500000, time:2.124289,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    xTaskGenericNotifyFromISR/42 function body not available
      loop depth: 0 freq:0.37 size: 7 time: 16 predicate: (op0 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant


Analyzing function: xStreamBufferSendCompletedFromISR/19
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: xStreamBufferSendCompletedFromISR

IPA function summary for xStreamBufferSendCompletedFromISR/19 inlinable
  global time:     18.637205
  self size:       29
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:10.500000, time:7.024287,  executed if:(op0 != 0B)
    size:2.500000, time:2.124289,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    xTaskGenericNotifyFromISR/42 function body not available
      loop depth: 0 freq:0.37 size: 7 time: 16 predicate: (op0 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant


Analyzing function: xStreamBufferIsFull/18
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 10 5 6 7 8 9
;;
;; Loop 1
;;  header 4, latch 10
;;  depth 1, outer 0
;;  nodes: 4 10
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 10 }
;; 10 succs { 4 }
;; 5 succs { 7 6 }
;; 6 succs { 7 }
;; 7 succs { 9 8 }
;; 8 succs { 9 }
;; 9 succs { 1 }

Analyzing function body size: xStreamBufferIsFull

IPA function summary for xStreamBufferIsFull/18 inlinable
  global time:     17.499996
  self size:       19
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (not inlined)
    size:3.500000, time:2.449999,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    xStreamBufferSpacesAvailable/8 function not considered for inlining
      loop depth: 0 freq:0.70 size: 3 time: 12 predicate: (op0 != 0B)


Analyzing function: xStreamBufferIsEmpty/17
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 7 6 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: xStreamBufferIsEmpty

IPA function summary for xStreamBufferIsEmpty/17 inlinable
  global time:     7.700000
  self size:       14
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 32] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:


Analyzing function: prvReadMessageFromBuffer/16
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7
;; 2 succs { 3 5 }
;; 3 succs { 4 5 }
;; 4 succs { 5 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: prvReadMessageFromBuffer

IPA function summary for prvReadMessageFromBuffer/16 inlinable
  global time:     21.550000
  self size:       28
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:6.500000, time:4.155000
    size:3.500000, time:2.165000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 224] changed) && (not inlined)
    size:3.500000, time:3.500000,  nonconst if:(op0[ref offset: 224] changed)
    size:1.000000, time:0.330000,  nonconst if:(op3 changed)
  calls:
    prvReadBytesFromBuffer/22 function not considered for inlining
      loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0
    prvReadBytesFromBuffer.part.0/53 function not considered for inlining
      loop depth: 0 freq:0.33 size: 6 time: 15callee size:20 stack: 0
       op1 is compile time invariant
       op2 is compile time invariant


Analyzing function: xStreamBufferReceiveFromISR/15
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 16 5 6 7 17 8 9 10 11 12 13 14 15
;;
;; Loop 2
;;  header 4, latch 16
;;  depth 1, outer 0
;;  nodes: 4 16
;;
;; Loop 1
;;  header 7, latch 17
;;  depth 1, outer 0
;;  nodes: 7 17
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 16 }
;; 16 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 }
;; 7 succs { 17 }
;; 17 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 10 }
;; 10 succs { 11 15 }
;; 11 succs { 12 15 }
;; 12 succs { 13 14 }
;; 13 succs { 14 }
;; 14 succs { 15 }
;; 15 succs { 1 }

Analyzing function body size: xStreamBufferReceiveFromISR

IPA function summary for xStreamBufferReceiveFromISR/15 inlinable
  global time:     20.085616
  self size:       53
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:1.399999,  executed if:(op1 != 0B),  nonconst if:(op0 changed) && (op1 != 0B)
    size:0.500000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:3.500000, time:1.715006,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B)
    size:14.500000, time:2.114705,  executed if:(op0 != 0B) && (op1 != 0B)
    size:2.500000, time:1.063659,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined)
    size:5.000000, time:1.050004,  executed if:(op0 == 0B) && (op1 != 0B)
    size:5.000000, time:1.500001,  executed if:(op1 == 0B)
  calls:
    xTaskGenericNotifyFromISR/42 function body not available
      loop depth: 0 freq:0.04 size: 7 time: 16 predicate: (op0 != 0B) && (op1 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant
    prvReadMessageFromBuffer/16 function not considered for inlining
      loop depth: 0 freq:0.16 size: 6 time: 15callee size:14 stack: 4 predicate: (op0 != 0B) && (op1 != 0B)
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.49 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B)


Analyzing function: xStreamBufferNextMessageLengthBytes/14
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 12 5 6 7 8 9 10 13 11
;;
;; Loop 2
;;  header 4, latch 12
;;  depth 1, outer 0
;;  nodes: 4 12
;;
;; Loop 1
;;  header 10, latch 13
;;  depth 1, outer 0
;;  nodes: 10 13
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 12 }
;; 12 succs { 4 }
;; 5 succs { 6 11 }
;; 6 succs { 7 8 }
;; 7 succs { 11 }
;; 8 succs { 9 11 }
;; 9 succs { 10 }
;; 10 succs { 13 }
;; 13 succs { 10 }
;; 11 succs { 1 }

Analyzing function body size: xStreamBufferNextMessageLengthBytes

IPA function summary for xStreamBufferNextMessageLengthBytes/14 inlinable
  global time:     12.695390
  self size:       33
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (not inlined)
    size:3.500000, time:2.449999,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B)
    size:10.500000, time:1.272809,  executed if:(op0 != 0B)
    size:1.500000, time:1.283345,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    prvReadBytesFromBuffer/22 function not considered for inlining
      loop depth: 0 freq:0.08 size: 5 time: 14callee size: 8 stack: 0 predicate: (op0 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.23 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B)


Analyzing function: xStreamBufferReceive/13
;; 4 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 25 5 6 7 26 8 9 10 11 12 13 14 27 15 16 17 18 19 20 21 22 23 24
;;
;; Loop 3
;;  header 4, latch 25
;;  depth 1, outer 0
;;  nodes: 4 25
;;
;; Loop 2
;;  header 7, latch 26
;;  depth 1, outer 0
;;  nodes: 7 26
;;
;; Loop 1
;;  header 14, latch 27
;;  depth 1, outer 0
;;  nodes: 14 27
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 25 }
;; 25 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 }
;; 7 succs { 26 }
;; 26 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 10 }
;; 10 succs { 11 18 }
;; 11 succs { 12 16 }
;; 12 succs { 13 15 }
;; 13 succs { 14 }
;; 14 succs { 27 }
;; 27 succs { 14 }
;; 15 succs { 16 }
;; 16 succs { 17 19 }
;; 17 succs { 19 }
;; 18 succs { 19 }
;; 19 succs { 20 24 }
;; 20 succs { 21 24 }
;; 21 succs { 22 23 }
;; 22 succs { 23 }
;; 23 succs { 24 }
;; 24 succs { 1 }

Analyzing function body size: xStreamBufferReceive

IPA function summary for xStreamBufferReceive/13 inlinable
  global time:     28.460665
  self size:       82
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:1.399999,  executed if:(op1 != 0B),  nonconst if:(op0 changed) && (op1 != 0B)
    size:0.500000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:3.500000, time:1.715006,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B)
    size:2.000000, time:0.980004,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op3 changed) && (op0 != 0B) && (op1 != 0B)
    size:12.500000, time:1.624100,  executed if:(op3 != 0) && (op0 != 0B) && (op1 != 0B)
    size:1.500000, time:0.095662,  executed if:(op3 != 0) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:7.500000, time:1.162852,  executed if:(op0 != 0B) && (op1 != 0B)
    size:2.500000, time:0.821518,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined)
    size:5.000000, time:1.050004,  executed if:(op0 == 0B) && (op1 != 0B)
    size:5.000000, time:1.500001,  executed if:(op1 == 0B)
  calls:
    xTaskResumeAll/40 function body not available
      loop depth: 0 freq:0.04 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    xTaskGenericNotify/39 function body not available
      loop depth: 0 freq:0.02 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant
    vTaskSuspendAll/38 function body not available
      loop depth: 0 freq:0.04 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    prvReadMessageFromBuffer/16 function not considered for inlining
      loop depth: 0 freq:0.13 size: 6 time: 15callee size:14 stack: 4 predicate: (op0 != 0B) && (op1 != 0B)
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.25 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 == 0) && (op0 != 0B) && (op1 != 0B)
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.05 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
    xTaskGenericNotifyWait/36 function body not available
      loop depth: 0 freq:0.05 size: 6 time: 15 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    vPortExitCritical/32 function body not available
      loop depth: 0 freq:0.14 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
    xTaskGetCurrentTaskHandle/35 function body not available
      loop depth: 0 freq:0.02 size: 2 time: 11 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
    xTaskGenericNotifyStateClear/34 function body not available
      loop depth: 0 freq:0.12 size: 3 time: 12 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.25 size: 3 time: 12callee size: 5 stack: 0 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)
    vPortEnterCritical/31 function body not available
      loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B) && (op1 != 0B)


Analyzing function: prvWriteMessageToBuffer/12
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 9
;; 2 succs { 3 6 }
;; 3 succs { 4 5 }
;; 4 succs { 7 }
;; 5 succs { 7 }
;; 6 succs { 7 }
;; 7 succs { 8 9 }
;; 8 succs { 9 }
;; 9 succs { 1 }

Analyzing function body size: prvWriteMessageToBuffer

IPA function summary for prvWriteMessageToBuffer/12 inlinable
  global time:     21.590000
  self size:       31
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.500000, time:4.582500
    size:4.500000, time:2.582500,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 224] changed) && (not inlined)
    size:3.500000, time:3.500000,  nonconst if:(op0[ref offset: 224] changed)
    size:1.000000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2 changed) && (not inlined)
    size:1.000000, time:0.500000,  nonconst if:(op2 changed || op3 changed)
    size:2.000000, time:1.000000,  nonconst if:(op3 changed || op4 changed)
  calls:
    prvWriteBytesToBuffer/21 function not considered for inlining
      loop depth: 0 freq:0.33 size: 6 time: 15callee size: 8 stack: 0
    prvWriteBytesToBuffer.part.0/48 function not considered for inlining
      loop depth: 0 freq:0.17 size: 6 time: 15callee size:21 stack: 0
       op1 is compile time invariant
       op2 is compile time invariant


Analyzing function: xStreamBufferSendFromISR/11
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 16 5 6 7 17 8 9 10 11 12 13 14 15
;;
;; Loop 2
;;  header 4, latch 16
;;  depth 1, outer 0
;;  nodes: 4 16
;;
;; Loop 1
;;  header 7, latch 17
;;  depth 1, outer 0
;;  nodes: 7 17
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 16 }
;; 16 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 }
;; 7 succs { 17 }
;; 17 succs { 7 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 11 15 }
;; 11 succs { 12 15 }
;; 12 succs { 13 14 }
;; 13 succs { 14 }
;; 14 succs { 15 }
;; 15 succs { 1 }

Analyzing function body size: xStreamBufferSendFromISR

IPA function summary for xStreamBufferSendFromISR/11 inlinable
  global time:     27.847242
  self size:       59
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:1.399999,  executed if:(op1 != 0B),  nonconst if:(op0 changed) && (op1 != 0B)
    size:0.500000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:3.500000, time:1.715006,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B)
    size:1.000000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op2 changed) && (op0 != 0B) && (op1 != 0B)
    size:15.000000, time:2.195556,  executed if:(op0 != 0B) && (op1 != 0B)
    size:3.000000, time:1.144510,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined)
    size:5.000000, time:1.050004,  executed if:(op0 == 0B) && (op1 != 0B)
    size:5.000000, time:1.500001,  executed if:(op1 == 0B)
  calls:
    xTaskGenericNotifyFromISR/42 function body not available
      loop depth: 0 freq:0.04 size: 7 time: 16 predicate: (op0 != 0B) && (op1 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.16 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B)
    prvWriteMessageToBuffer/12 function not considered for inlining
      loop depth: 0 freq:0.49 size: 7 time: 16callee size:15 stack: 0 predicate: (op0 != 0B) && (op1 != 0B)
    xStreamBufferSpacesAvailable/8 function not considered for inlining
      loop depth: 0 freq:0.49 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B)


Analyzing function: xStreamBufferSend/10
;; 6 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 31 5 6 7 32 8 9 10 11 33 12 13 14 15 16 17 18 19 20 34 21 35 22 23 24 25 26 27 28 29 30
;;
;; Loop 5
;;  header 4, latch 31
;;  depth 1, outer 0
;;  nodes: 4 31
;;
;; Loop 4
;;  header 7, latch 32
;;  depth 1, outer 0
;;  nodes: 7 32
;;
;; Loop 3
;;  header 11, latch 33
;;  depth 1, outer 0
;;  nodes: 11 33
;;
;; Loop 2
;;  header 20, latch 34
;;  depth 1, outer 0
;;  nodes: 20 34
;;
;; Loop 1
;;  header 17, latch 35
;;  depth 1, outer 0
;;  nodes: 17 35 21 18
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 31 }
;; 31 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 }
;; 7 succs { 32 }
;; 32 succs { 7 }
;; 8 succs { 9 14 }
;; 9 succs { 10 12 }
;; 10 succs { 11 }
;; 11 succs { 33 }
;; 33 succs { 11 }
;; 12 succs { 13 15 }
;; 13 succs { 15 }
;; 14 succs { 15 }
;; 15 succs { 16 24 }
;; 16 succs { 17 }
;; 17 succs { 18 22 }
;; 18 succs { 19 21 }
;; 19 succs { 20 }
;; 20 succs { 34 }
;; 34 succs { 20 }
;; 21 succs { 35 23 }
;; 35 succs { 17 }
;; 22 succs { 23 }
;; 23 succs { 24 25 }
;; 24 succs { 25 }
;; 25 succs { 26 30 }
;; 26 succs { 27 30 }
;; 27 succs { 28 29 }
;; 28 succs { 29 }
;; 29 succs { 30 }
;; 30 succs { 1 }

Analyzing function body size: xStreamBufferSend

IPA function summary for xStreamBufferSend/10 inlinable
  global time:     180.533722
  self size:       109
  global size:     0
  min size:       0
  self stack:      8
  global stack:    8
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:1.399999,  executed if:(op1 != 0B),  nonconst if:(op0 changed) && (op1 != 0B)
    size:0.500000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:1.500000, time:0.735003,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (op1 != 0B)
    size:0.500000, time:0.245001,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B) && (not inlined)
    size:3.500000, time:1.715006,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (op1 != 0B)
    size:3.000000, time:0.489999,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op0[ref offset: 64] changed || op2 changed) && (op0 != 0B) && (op1 != 0B)
    size:3.000000, time:0.735003,  executed if:(op0 != 0B) && (op1 != 0B),  nonconst if:(op2 changed) && (op0 != 0B) && (op1 != 0B)
    size:5.000000, time:3.176092,  executed if:(op0 != 0B) && (op1 != 0B) && (not inlined)
    size:32.000000, time:17.363601,  executed if:(op0 != 0B) && (op1 != 0B)
    size:5.000000, time:1.050004,  executed if:(op0 == 0B) && (op1 != 0B)
    size:5.000000, time:1.500001,  executed if:(op1 == 0B)
  calls:
    xTaskResumeAll/40 function body not available
      loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    xTaskGenericNotify/39 function body not available
      loop depth: 0 freq:0.02 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant
    vTaskSuspendAll/38 function body not available
      loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.10 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B) && (op1 != 0B)
    prvWriteMessageToBuffer/12 function not considered for inlining
      loop depth: 0 freq:0.31 size: 7 time: 16callee size:15 stack: 0 predicate: (op0 != 0B) && (op1 != 0B)
    xStreamBufferSpacesAvailable/8 function not considered for inlining
      loop depth: 0 freq:0.25 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B)
    vPortExitCritical/32 function body not available
      loop depth: 0 freq:0.06 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    xTaskCheckForTimeOut/37 function body not available
      loop depth: 1 freq:1.61 size: 4 time: 13 predicate: (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
    xTaskGenericNotifyWait/36 function body not available
      loop depth: 1 freq:1.61 size: 6 time: 15 predicate: (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    vPortExitCritical/32 function body not available
      loop depth: 1 freq:1.61 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    xTaskGetCurrentTaskHandle/35 function body not available
      loop depth: 1 freq:1.61 size: 2 time: 11 predicate: (op0 != 0B) && (op1 != 0B)
    xTaskGenericNotifyStateClear/34 function body not available
      loop depth: 1 freq:1.67 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
    xStreamBufferSpacesAvailable/8 function not considered for inlining
      loop depth: 1 freq:1.74 size: 3 time: 12 predicate: (op0 != 0B) && (op1 != 0B)
       op0 change 57.590000% of time
    vPortEnterCritical/31 function body not available
      loop depth: 1 freq:1.74 size: 1 time: 10 predicate: (op0 != 0B) && (op1 != 0B)
    vTaskSetTimeOutState/33 function body not available
      loop depth: 0 freq:0.18 size: 2 time: 11 predicate: (op0 != 0B) && (op1 != 0B)
       op0 is compile time invariant


Analyzing function: xStreamBufferBytesAvailable/9
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xStreamBufferBytesAvailable

IPA function summary for xStreamBufferBytesAvailable/9 inlinable
  global time:     11.812301
  self size:       13
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.000000, time:1.069400,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    prvBytesInBuffer/23 function not considered for inlining
      loop depth: 0 freq:0.53 size: 3 time: 12callee size: 5 stack: 0 predicate: (op0 != 0B)


Analyzing function: xStreamBufferSpacesAvailable/8
Created preheader block for loop 1
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 8 4 9 5 6 7
;;
;; Loop 1
;;  header 4, latch 9
;;  depth 1, outer 0
;;  nodes: 4 9
;; 2 succs { 3 8 }
;; 3 succs { }
;; 8 succs { 4 }
;; 4 succs { 9 5 }
;; 9 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: xStreamBufferSpacesAvailable

IPA function summary for xStreamBufferSpacesAvailable/8 inlinable
  global time:     66.122776
  self size:       19
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.500000, time:9.545462,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
    size:3.500000, time:22.272745,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
    size:0.500000, time:3.181821,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:3.181821,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
    size:1.000000, time:6.363641,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 64] changed) && (op0 != 0B)
    size:0.500000, time:3.181821,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:3.181821,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
    size:5.000000, time:8.813642,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed || op0[ref offset: 64] changed || op0[ref offset: 32] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
  calls:
    xStreamBufferSpacesAvailable.part.0/62 function not considered for inlining
      loop depth: 0 freq:0.30 size: 1 time: 10callee size: 3 stack: 0 predicate: (op0 == 0B)


Analyzing function: xStreamBufferSetTriggerLevel/7
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: xStreamBufferSetTriggerLevel

IPA function summary for xStreamBufferSetTriggerLevel/7 inlinable
  global time:     8.050001
  self size:       15
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.000000, time:0.700000,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op1 changed || op0[ref offset: 64] changed) && (op0 != 0B)
    size:1.500000, time:1.575000,  executed if:(op0 != 0B) && (not inlined)
    size:0.500000, time:0.175001,  executed if:(op0 != 0B)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:


Analyzing function: xStreamBufferReset/6
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 9 5 6 7 8
;;
;; Loop 1
;;  header 4, latch 9
;;  depth 1, outer 0
;;  nodes: 4 9
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 9 }
;; 9 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 1 }

Analyzing function body size: xStreamBufferReset

IPA function summary for xStreamBufferReset/6 inlinable
  global time:     19.269125
  self size:       30
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:5.000000, time:1.754205,  executed if:(op0 != 0B) && (not inlined)
    size:8.000000, time:2.075027,  executed if:(op0 != 0B)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/32 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    prvInitialiseNewStreamBuffer/24 function not considered for inlining
      loop depth: 0 freq:0.03 size: 6 time: 15callee size:10 stack: 0 predicate: (op0 != 0B)
    vPortEnterCritical/31 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: vStreamBufferDelete/5
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 9 5 6 7 8
;;
;; Loop 1
;;  header 4, latch 9
;;  depth 1, outer 0
;;  nodes: 4 9
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 9 }
;; 9 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 8 }
;; 7 succs { 8 }
;; 8 succs { 1 }

Analyzing function body size: vStreamBufferDelete

IPA function summary for vStreamBufferDelete/5 inlinable
  global time:     16.100030
  self size:       20
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B) && (not inlined)
    size:3.500000, time:2.449999,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 224] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    memset/29 function body not available
      loop depth: 0 freq:0.35 size: 4 time: 13 predicate: (op0 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
    vPortFree/30 function body not available
      loop depth: 0 freq:0.35 size: 2 time: 11 predicate: (op0 != 0B)


Analyzing function: xStreamBufferGenericCreate/4
;; 4 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 16 6 7 8 18 9 10 11 17 12 13 14 15
;;
;; Loop 3
;;  header 5, latch 16
;;  depth 1, outer 0
;;  nodes: 5 16
;;
;; Loop 2
;;  header 11, latch 17
;;  depth 1, outer 0
;;  nodes: 11 17
;;
;; Loop 1
;;  header 8, latch 18
;;  depth 1, outer 0
;;  nodes: 8 18
;; 2 succs { 3 6 }
;; 3 succs { 4 9 }
;; 4 succs { 5 }
;; 5 succs { 16 }
;; 16 succs { 5 }
;; 6 succs { 7 9 }
;; 7 succs { 8 }
;; 8 succs { 18 }
;; 18 succs { 8 }
;; 9 succs { 10 12 }
;; 10 succs { 11 }
;; 11 succs { 17 }
;; 17 succs { 11 }
;; 12 succs { 13 15 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 1 }

Analyzing function body size: xStreamBufferGenericCreate

IPA function summary for xStreamBufferGenericCreate/4 inlinable
  global time:     13.356117
  self size:       43
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
    size:2.000000, time:1.319999,  executed if:(op2 != 1),  nonconst if:(op0 changed) && (op2 != 1)
    size:5.000000, time:1.649999,  executed if:(op0 == 0) && (op2 != 1)
    size:2.000000, time:0.680001,  executed if:(op2 == 1),  nonconst if:(op0 changed) && (op2 == 1)
    size:2.000000, time:1.000000,  executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4),  nonconst if:(op0 changed || op1 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:1.000000, time:0.250000,  executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4),  nonconst if:(op1 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:2.000000, time:0.500000,  executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4),  nonconst if:(op0 changed) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:2.000000, time:0.273351,  executed if:(op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4),  nonconst if:(op0 changed) && (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:3.000000, time:0.346433,  executed if:(op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:1.000000, time:0.500000,  executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4) && (not inlined)
    size:5.000000, time:1.250000,  executed if:(op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    size:5.000000, time:0.850001,  executed if:(op0 <= 4) && (op2 == 1)
  calls:
    prvInitialiseNewStreamBuffer/24 function not considered for inlining
      loop depth: 0 freq:0.07 size: 6 time: 15callee size:10 stack: 0 predicate: (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)
    pvPortMalloc/28 function body not available
      loop depth: 0 freq:0.14 size: 3 time: 12 predicate: (op0 <= 4294967258) && (op0 > 4 || op0 != 0) && (op2 == 1 || op0 != 0) && (op2 != 1 || op0 > 4)

Symbol table:

xStreamBufferSpacesAvailable.part.0/62 (xStreamBufferSpacesAvailable.part.0) @06b617e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: xStreamBufferSpacesAvailable/8 (107374 (estimated locally),0.30 per call) 
  Calls: 
prvReadBytesFromBuffer.part.0/53 (prvReadBytesFromBuffer.part.0) @06b61700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:214748 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer/22 (107374 (estimated locally),0.50 per call) 
  Calls: memcpy/41 (35433 (estimated locally),0.16 per call) memcpy/41 (11693 (estimated locally),0.05 per call) 
prvWriteBytesToBuffer.part.0/48 (prvWriteBytesToBuffer.part.0) @06b61620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:160260 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: prvWriteMessageToBuffer/12 (177167401 (estimated locally),0.17 per call) prvWriteBytesToBuffer/21 (107374 (estimated locally),0.50 per call) 
  Calls: memcpy/41 (52886 (estimated locally),0.33 per call) memcpy/41 (8726 (estimated locally),0.05 per call) 
prvInitialiseNewStreamBuffer.part.0/44 (prvInitialiseNewStreamBuffer.part.0) @06a218c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: prvInitialiseNewStreamBuffer/24 (22666 (estimated locally),0.17 per call) 
  Calls: memset/29 (1073741824 (estimated locally),1.00 per call) 
xTaskGenericNotifyFromISR/42 (xTaskGenericNotifyFromISR) @06b250e0
  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) @06b12ee0
  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) @06b12c40
  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) @06b12b60
  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) @06b12a80
  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) @06b129a0
  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) @06b128c0
  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) @06b127e0
  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) @06b12700
  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) @06b12620
  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) @06aec2a0
  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) @06aec000
  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) @06aece00
  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) @06aecc40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: vStreamBufferDelete/5 (125270 (estimated locally),0.35 per call) prvInitialiseNewStreamBuffer/24 (130040 (estimated locally),1.00 per call) prvInitialiseNewStreamBuffer.part.0/44 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
pvPortMalloc/28 (pvPortMalloc) @06aec9a0
  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) @06aec460
  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) @06aec1c0
  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) @06ae4d20
  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) @06ae4540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:130040 (estimated locally) body local optimize_size
  Called by: xStreamBufferReset/6 (6452 (estimated locally),0.03 per call) xStreamBufferGenericCreate/4 (23779 (estimated locally),0.07 per call) 
  Calls: prvInitialiseNewStreamBuffer.part.0/44 (22666 (estimated locally),0.17 per call) memset/29 (130040 (estimated locally),1.00 per call) 
prvBytesInBuffer/23 (prvBytesInBuffer) @06ae4ee0
  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) @06ae4c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:214748 (estimated locally) body local optimize_size
  Called by: xStreamBufferNextMessageLengthBytes/14 (27284 (estimated locally),0.08 per call) prvReadMessageFromBuffer/16 (354334802 (estimated locally),0.33 per call) 
  Calls: prvReadBytesFromBuffer.part.0/53 (107374 (estimated locally),0.50 per call) 
prvWriteBytesToBuffer/21 (prvWriteBytesToBuffer) @06ae47e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:214748 (estimated locally) body local optimize_size
  Called by: prvWriteMessageToBuffer/12 (354334802 (estimated locally),0.33 per call) 
  Calls: prvWriteBytesToBuffer.part.0/48 (107374 (estimated locally),0.50 per call) 
xStreamBufferReceiveCompletedFromISR/20 (xStreamBufferReceiveCompletedFromISR) @06ae4460
  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) @06ae40e0
  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) @06ad78c0
  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) @06ad7ee0
  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) @06ad7b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xStreamBufferReceiveFromISR/15 (57875 (estimated locally),0.16 per call) xStreamBufferReceive/13 (45928 (estimated locally),0.13 per call) 
  Calls: prvReadBytesFromBuffer/22 (354334802 (estimated locally),0.33 per call) prvReadBytesFromBuffer.part.0/53 (354334802 (estimated locally),0.33 per call) 
xStreamBufferReceiveFromISR/15 (xStreamBufferReceiveFromISR) @06ad77e0
  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) @06ad7380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: prvReadBytesFromBuffer/22 (27284 (estimated locally),0.08 per call) prvBytesInBuffer/23 (82678 (estimated locally),0.23 per call) 
xStreamBufferReceive/13 (xStreamBufferReceive) @06a95e00
  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) @06a95d20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (109621 (estimated locally),0.31 per call) 
  Calls: prvWriteBytesToBuffer/21 (354334802 (estimated locally),0.33 per call) prvWriteBytesToBuffer.part.0/48 (177167401 (estimated locally),0.17 per call) 
xStreamBufferSendFromISR/11 (xStreamBufferSendFromISR) @06a959a0
  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) @06a95540
  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) @06a8cd20
  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) @06a8c2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: xStreamBufferIsFull/18 (250539 (estimated locally),0.70 per call) xStreamBufferSendFromISR/11 (175378 (estimated locally),0.49 per call) xStreamBufferSend/10 (87694 (estimated locally),0.25 per call) xStreamBufferSend/10 (621434 (estimated locally),1.74 per call) 
  Calls: xStreamBufferSpacesAvailable.part.0/62 (107374 (estimated locally),0.30 per call) 
xStreamBufferSetTriggerLevel/7 (xStreamBufferSetTriggerLevel) @06a8cc40
  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) @06a8c8c0
  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) @06a8c540
  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) @06a8c1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:325376 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseNewStreamBuffer/24 (23779 (estimated locally),0.07 per call) pvPortMalloc/28 (44471 (estimated locally),0.14 per call) 
xStreamBufferSpacesAvailable.part.0 ()
{
  const struct StreamBuffer_t * const pxStreamBuffer;
  size_t xSpace;
  size_t xOriginalTail;
  uint32_t ulNewBASEPRI;
  struct StreamBufferDef_t * xStreamBuffer;

  <bb 5> [local count: 107374]:
  # DEBUG D#2 s=> xStreamBuffer
  # DEBUG xStreamBuffer => D#2

  <bb 2> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1

  <bb 3> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

}


prvReadBytesFromBuffer.part.0 (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
{
  size_t xFirstLength;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  unsigned int _2;
  unsigned int _4;
  unsigned int _8;
  uint8_t * _10;
  uint8_t * _11;
  uint8_t * _13;
  uint8_t * _14;
  unsigned int _15;
  unsigned int _17;

  <bb 15> [local count: 214748]:

  <bb 2> [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 <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 6> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = xTail_3(D) + xFirstLength_6;
  if (_2 < _8)
    goto <bb 7>; [67.00%]
  else
    goto <bb 10>; [33.00%]

  <bb 7> [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

  <bb 8> [local count: 719407023]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 719407023]:
  goto <bb 8>; [100.00%]

  <bb 10> [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 <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [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);

  <bb 12> [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 <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 17717]:
  # DEBUG BEGIN_STMT
  xTail_18 = xTail_16 - _17;
  # DEBUG xTail => xTail_18

  <bb 14> [local count: 35433]:
  # xTail_19 = PHI <xTail_16(12), xTail_18(13)>
  # DEBUG xTail => xTail_19
  # DEBUG BEGIN_STMT
  return xTail_19;

}


prvWriteBytesToBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
{
  size_t xFirstLength;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  unsigned int _2;
  unsigned int _4;
  unsigned int _7;
  uint8_t * _9;
  uint8_t * _10;
  unsigned int _12;
  unsigned int _13;
  uint8_t * _15;
  const uint8_t * _16;
  unsigned int _18;

  <bb 15> [local count: 160260]:

  <bb 2> [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 <bb 3>; [67.00%]
  else
    goto <bb 6>; [33.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 6> [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 <bb 7>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 7> [local count: 26443]:
  # DEBUG BEGIN_STMT
  _12 = xCount_5(D) - xFirstLength_6;
  _13 = pxStreamBuffer_1(D)->xLength;
  if (_12 > _13)
    goto <bb 8>; [67.00%]
  else
    goto <bb 11>; [33.00%]

  <bb 8> [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

  <bb 9> [local count: 177167401]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 177167401]:
  goto <bb 9>; [100.00%]

  <bb 11> [local count: 8726]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _15 = pxStreamBuffer_1(D)->pucBuffer;
  _16 = pucData_11(D) + xFirstLength_6;
  memcpy (_15, _16, _12);

  <bb 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 <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 17584]:
  # DEBUG BEGIN_STMT
  xHead_19 = xHead_17 - _18;
  # DEBUG xHead => xHead_19

  <bb 14> [local count: 35169]:
  # xHead_20 = PHI <xHead_17(12), xHead_19(13)>
  # DEBUG xHead => xHead_20
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xHead_20;

}


prvInitialiseNewStreamBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
{
  const BaseType_t xWriteValue;
  uint32_t ulNewBASEPRI;

  <bb 3> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  memset (pxStreamBuffer_1(D), 0, 36);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->pucBuffer = pucBuffer_2(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->xLength = xBufferSizeBytes_3(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->xTriggerLevelBytes = xTriggerLevelBytes_4(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->ucFlags = ucFlags_5(D);
  return;

}


ucStreamBufferGetStreamBufferType (struct StreamBufferDef_t * xStreamBuffer)
{
  unsigned char _1;
  uint8_t _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = xStreamBuffer_3(D)->ucFlags;
  _4 = _1 & 1;
  return _4;

}


vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D);
  return;

}


uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer)
{
  UBaseType_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = xStreamBuffer_2(D)->uxStreamBufferNumber;
  return _3;

}


prvInitialiseNewStreamBuffer (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
{
  uint32_t ulNewBASEPRI;
  void * _1;

  <bb 2> [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 <bb 3>; [82.57%]
  else
    goto <bb 5>; [17.43%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 22666]:
  prvInitialiseNewStreamBuffer.part.0 (pxStreamBuffer_7(D), pucBuffer_4(D), xBufferSizeBytes_5(D), xTriggerLevelBytes_8(D), ucFlags_9(D));
  return;

}


prvBytesInBuffer (const struct StreamBuffer_t * const pxStreamBuffer)
{
  size_t xCount;
  unsigned int _1;
  unsigned int _2;
  unsigned int _7;

  <bb 2> [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 <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  xCount_9 = xCount_8 - _1;
  # DEBUG xCount => xCount_9

  <bb 4> [local count: 1073741824]:
  # xCount_3 = PHI <xCount_8(2), xCount_9(3)>
  # DEBUG xCount => xCount_3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xCount_3;

}


prvReadBytesFromBuffer (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCount_3(D) == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 107374]:
  xTail_1 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xTail_6(D));
  # DEBUG xTail => xTail_1
  # DEBUG BEGIN_STMT
  return xTail_1;

}


prvWriteBytesToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCount_3(D) == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 107374]:
  xHead_1 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xHead_6(D));
  # DEBUG xHead => xHead_1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xHead_1;

}


xStreamBufferReceiveCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;

  <bb 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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [53.47%]
  else
    goto <bb 7>; [46.53%]

  <bb 6> [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

  <bb 7> [local count: 250539]:
  # xReturn_3 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_11 : "memory");
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferSendCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;

  <bb 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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [53.47%]
  else
    goto <bb 7>; [46.53%]

  <bb 6> [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

  <bb 7> [local count: 250539]:
  # xReturn_3 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_11 : "memory");
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferIsFull (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  BaseType_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned char _6;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 7> [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 <bb 9>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 125270]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 9> [local count: 250539]:
  # xReturn_3 = PHI <1(7), 0(8)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferIsEmpty (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xTail;
  BaseType_t xReturn;
  unsigned int _1;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 7>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 165356]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 7> [local count: 250539]:
  # xReturn_2 = PHI <1(5), 0(6)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable)
{
  size_t xTail;
  size_t xNextTail;
  size_t xTempNextMessageLength;
  size_t xNextMessageLength;
  size_t xCount;
  unsigned char _1;
  unsigned int _2;
  unsigned char _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xNextTail_10 ={v} pxStreamBuffer_9(D)->xTail;
  # DEBUG xNextTail => xNextTail_10
  # DEBUG BEGIN_STMT
  _1 = pxStreamBuffer_9(D)->ucFlags;
  _12 = _1 & 1;
  if (_12 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => pxStreamBuffer_9(D)
  # DEBUG pucData => &xTempNextMessageLength
  # DEBUG xCount => 4
  # DEBUG xTail => xNextTail_10
  # DEBUG INLINE_ENTRY prvReadBytesFromBuffer
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTail_21 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), &xTempNextMessageLength, 4, xNextTail_10);
  # DEBUG xTail => xTail_21
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => NULL
  # DEBUG pucData => NULL
  # DEBUG xCount => NULL
  # DEBUG xTail => NULL
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG xNextTail => xTail_21
  # DEBUG BEGIN_STMT
  xNextMessageLength_14 = xTempNextMessageLength;
  # DEBUG xNextMessageLength => xNextMessageLength_14
  # DEBUG BEGIN_STMT
  xBytesAvailable_15 = xBytesAvailable_13(D) + 4294967292;
  # DEBUG xBytesAvailable => xBytesAvailable_15
  # DEBUG BEGIN_STMT
  if (xBufferLengthBytes_11(D) < xNextMessageLength_14)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG xNextMessageLength => 0

  <bb 5> [local count: 1073741824]:
  # xBytesAvailable_3 = PHI <xBytesAvailable_15(4), xBytesAvailable_13(D)(2), xBytesAvailable_15(3)>
  # xNextMessageLength_4 = PHI <0(4), xBufferLengthBytes_11(D)(2), xNextMessageLength_14(3)>
  # xNextTail_5 = PHI <xTail_21(4), xNextTail_10(2), xTail_21(3)>
  # DEBUG xNextTail => xNextTail_5
  # DEBUG xNextMessageLength => xNextMessageLength_4
  # DEBUG xBytesAvailable => xBytesAvailable_3
  # DEBUG BEGIN_STMT
  xCount_16 = MIN_EXPR <xBytesAvailable_3, xNextMessageLength_4>;
  # DEBUG xCount => xCount_16
  # DEBUG BEGIN_STMT
  if (xCount_16 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = prvReadBytesFromBuffer (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5);
  pxStreamBuffer_9(D)->xTail ={v} _2;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xTempNextMessageLength ={v} {CLOBBER};
  return xCount_16;

}


xStreamBufferReceiveFromISR (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  size_t xBytesAvailable;
  size_t xReceivedLength;
  unsigned char _1;
  struct tskTaskControlBlock * _2;
  struct tskTaskControlBlock * _3;
  unsigned char _9;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_8(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [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

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [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 <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 10> [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 <bb 11>; [33.00%]
  else
    goto <bb 15>; [67.00%]

  <bb 11> [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 <bb 12>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 12> [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 <bb 13>; [53.47%]
  else
    goto <bb 14>; [46.53%]

  <bb 13> [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;

  <bb 14> [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");

  <bb 15> [local count: 175378]:
  # xReceivedLength_4 = PHI <0(10), xReceivedLength_16(14), xReceivedLength_16(11)>
  # DEBUG ulNewMaskValue => NULL
  # DEBUG xReceivedLength => xReceivedLength_4
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReceivedLength_4;

}


xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xTempReturn;
  size_t xBytesAvailable;
  size_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned char _6;

  <bb 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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 6> [local count: 82678]:
  # DEBUG BEGIN_STMT
  xBytesAvailable_9 = prvBytesInBuffer (xStreamBuffer_5(D));
  # DEBUG xBytesAvailable => xBytesAvailable_9
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_9 > 4)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 27284]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTail;
  prvReadBytesFromBuffer (xStreamBuffer_5(D), &xTempReturn, 4, _2);
  # DEBUG BEGIN_STMT
  xReturn_11 = xTempReturn;
  # DEBUG xReturn => xReturn_11
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 55394]:
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_9 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 9> [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

  <bb 10> [local count: 276971704]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 276971704]:
  goto <bb 10>; [100.00%]

  <bb 11> [local count: 222842]:
  # xReturn_3 = PHI <0(8), 0(5), xReturn_11(7)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  xTempReturn ={v} {CLOBBER};
  return xReturn_3;

}


xStreamBufferReceive (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  size_t xBytesAvailable;
  size_t xReceivedLength;
  unsigned char _1;
  struct tskTaskControlBlock * _2;
  struct tskTaskControlBlock * _3;
  struct tskTaskControlBlock * _4;
  struct tskTaskControlBlock * _5;
  unsigned char _14;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 25> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_13(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [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

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [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 <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 10> [local count: 175378]:
  # xBytesToStoreMessageLength_8 = PHI <4(8), 0(9)>
  # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_8
  # DEBUG BEGIN_STMT
  if (xTicksToWait_17(D) != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 11> [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 <bb 12>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 12> [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 <bb 13>; [82.57%]
  else
    goto <bb 15>; [17.43%]

  <bb 13> [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

  <bb 14> [local count: 362023689]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 362023689]:
  goto <bb 14>; [100.00%]

  <bb 15> [local count: 7642]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = xTaskGetCurrentTaskHandle ();
  MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} _3;

  <bb 16> [local count: 51486]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22)
    goto <bb 17>; [33.00%]
  else
    goto <bb 19>; [67.00%]

  <bb 17> [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 <bb 19>; [100.00%]

  <bb 18> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xBytesAvailable_19 = prvBytesInBuffer (xStreamBuffer_13(D));
  # DEBUG xBytesAvailable => xBytesAvailable_19

  <bb 19> [local count: 139175]:
  # xBytesAvailable_7 = PHI <xBytesAvailable_30(17), xBytesAvailable_19(18), xBytesAvailable_22(16)>
  # DEBUG xBytesAvailable => xBytesAvailable_7
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_7 > xBytesToStoreMessageLength_8)
    goto <bb 20>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 20> [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 <bb 21>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 21> [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 <bb 22>; [53.47%]
  else
    goto <bb 23>; [46.53%]

  <bb 22> [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;

  <bb 23> [local count: 15156]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT

  <bb 24> [local count: 139175]:
  # xReceivedLength_6 = PHI <0(19), xReceivedLength_33(23), xReceivedLength_33(20)>
  # DEBUG xReceivedLength => xReceivedLength_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReceivedLength_6;

}


prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace)
{
  size_t xHead;
  size_t xNextHead;
  unsigned char _1;
  unsigned int xDataLengthBytes.2_2;
  unsigned int _3;
  unsigned int xDataLengthBytes.3_4;
  unsigned int _5;
  size_t _19;
  unsigned char _22;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xNextHead_11 ={v} pxStreamBuffer_10(D)->xHead;
  # DEBUG xNextHead => xNextHead_11
  # DEBUG BEGIN_STMT
  _1 = pxStreamBuffer_10(D)->ucFlags;
  _22 = _1 & 1;
  if (_22 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (xSpace_12(D) >= xRequiredSpace_14(D))
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => pxStreamBuffer_10(D)
  # DEBUG pucData => &xDataLengthBytes
  # DEBUG xCount => 4
  # DEBUG xHead => xNextHead_11
  # DEBUG INLINE_ENTRY prvWriteBytesToBuffer
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xHead_20 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), &xDataLengthBytes, 4, xNextHead_11);
  # DEBUG xHead => xHead_20
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => NULL
  # DEBUG pucData => NULL
  # DEBUG xCount => NULL
  # DEBUG xHead => NULL
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG xNextHead => xHead_20
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 359703511]:
  # DEBUG BEGIN_STMT
  xDataLengthBytes = 0;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  xDataLengthBytes.2_2 = xDataLengthBytes;
  _3 = MIN_EXPR <xDataLengthBytes.2_2, xSpace_12(D)>;
  xDataLengthBytes = _3;

  <bb 7> [local count: 1073741824]:
  # xNextHead_6 = PHI <xNextHead_11(5), xNextHead_11(6), xHead_20(4)>
  # DEBUG xNextHead => xNextHead_6
  # DEBUG BEGIN_STMT
  xDataLengthBytes.3_4 = xDataLengthBytes;
  if (xDataLengthBytes.3_4 != 0)
    goto <bb 8>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 8> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _5 = prvWriteBytesToBuffer (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6);
  pxStreamBuffer_10(D)->xHead ={v} _5;

  <bb 9> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _19 = xDataLengthBytes;
  return _19;

}


xStreamBufferSendFromISR (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xRequiredSpace;
  size_t xSpace;
  size_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned int _3;
  struct tskTaskControlBlock * _4;
  struct tskTaskControlBlock * _5;
  unsigned char _10;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_9(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [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

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [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 <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xRequiredSpace_14 = xDataLengthBytes_11(D) + 4;
  # DEBUG xRequiredSpace => xRequiredSpace_14

  <bb 10> [local count: 175378]:
  # xRequiredSpace_6 = PHI <xDataLengthBytes_11(D)(8), xRequiredSpace_14(9)>
  # 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 <bb 11>; [33.00%]
  else
    goto <bb 15>; [67.00%]

  <bb 11> [local count: 57875]:
  # DEBUG BEGIN_STMT
  _2 = prvBytesInBuffer (xStreamBuffer_9(D));
  _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes;
  if (_2 >= _3)
    goto <bb 12>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 12> [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 <bb 13>; [53.47%]
  else
    goto <bb 14>; [46.53%]

  <bb 13> [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;

  <bb 14> [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");

  <bb 15> [local count: 175378]:
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReturn_18;

}


xStreamBufferSend (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xMaxReportedSpace;
  struct TimeOut_t xTimeOut;
  size_t xRequiredSpace;
  size_t xSpace;
  size_t xReturn;
  unsigned int _1;
  unsigned char _2;
  unsigned int _3;
  long unsigned int xTicksToWait.0_4;
  struct tskTaskControlBlock * _5;
  struct tskTaskControlBlock * _6;
  long unsigned int xTicksToWait.1_7;
  long int _8;
  unsigned int _9;
  unsigned int _10;
  struct tskTaskControlBlock * _11;
  struct tskTaskControlBlock * _12;
  unsigned char _23;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 31> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_22(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [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

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 32> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [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 <bb 9>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 9> [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 <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [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

  <bb 11> [local count: 438444579]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 33> [local count: 438444579]:
  goto <bb 11>; [100.00%]

  <bb 12> [local count: 43844]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xMaxReportedSpace_29 < xRequiredSpace_30)
    goto <bb 13>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 13> [local count: 21922]:
  # DEBUG BEGIN_STMT
  xTicksToWait = 0;
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 87689]:
  # DEBUG BEGIN_STMT
  _3 = MIN_EXPR <xMaxReportedSpace_29, xDataLengthBytes_25(D)>;

  <bb 15> [local count: 131533]:
  # xRequiredSpace_15 = PHI <xRequiredSpace_30(13), _3(14), xRequiredSpace_30(12)>
  # DEBUG xRequiredSpace => xRequiredSpace_15
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTicksToWait.0_4 = xTicksToWait;
  if (xTicksToWait.0_4 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 16> [local count: 65767]:
  # DEBUG BEGIN_STMT
  vTaskSetTimeOutState (&xTimeOut);

  <bb 17> [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 <bb 18>; [96.34%]
  else
    goto <bb 22>; [3.66%]

  <bb 18> [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 <bb 19>; [3.66%]
  else
    goto <bb 21>; [96.34%]

  <bb 19> [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

  <bb 20> [local count: 219120732]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 34> [local count: 219120732]:
  goto <bb 20>; [100.00%]

  <bb 21> [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 <bb 35>; [96.34%]
  else
    goto <bb 23>; [3.66%]

  <bb 35> [local count: 555667]:
  goto <bb 17>; [100.00%]

  <bb 22> [local count: 22744]:
  # xSpace_24 = PHI <xSpace_35(17)>
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT

  <bb 23> [local count: 43855]:
  # xSpace_13 = PHI <xSpace_24(22), xSpace_35(21)>
  # DEBUG xSpace => xSpace_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xSpace_13 == 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 24> [local count: 87694]:
  # DEBUG xSpace => NULL
  # DEBUG BEGIN_STMT
  xSpace_45 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D));
  # DEBUG xSpace => xSpace_45

  <bb 25> [local count: 109621]:
  # xSpace_14 = PHI <xSpace_13(23), xSpace_45(24)>
  # 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 <bb 26>; [33.00%]
  else
    goto <bb 30>; [67.00%]

  <bb 26> [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 <bb 27>; [33.00%]
  else
    goto <bb 30>; [67.00%]

  <bb 27> [local count: 11938]:
  # DEBUG BEGIN_STMT
  vTaskSuspendAll ();
  # DEBUG BEGIN_STMT
  _11 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive;
  if (_11 != 0B)
    goto <bb 28>; [53.47%]
  else
    goto <bb 29>; [46.53%]

  <bb 28> [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;

  <bb 29> [local count: 11938]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT

  <bb 30> [local count: 109621]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTimeOut ={v} {CLOBBER};
  return xReturn_47;

}


xStreamBufferBytesAvailable (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xReturn;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_1(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_1(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xReturn_4 = prvBytesInBuffer (xStreamBuffer_1(D));
  # DEBUG xReturn => xReturn_4
  # DEBUG BEGIN_STMT
  return xReturn_4;

}


xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer)
{
  size_t xOriginalTail;
  size_t xSpace;
  unsigned int _1;
  unsigned int _2;
  unsigned int _3;
  unsigned int _4;
  unsigned int _12;

  <bb 2> [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 <bb 3>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG D#1 => xStreamBuffer_7(D)
  xStreamBufferSpacesAvailable.part.0 ();

  <bb 8> [local count: 250539]:

  <bb 4> [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 <bb 9>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 9> [local count: 2027091]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # _4 = PHI <_1(4)>
  # xSpace_5 = PHI <xSpace_13(4)>
  # DEBUG BEGIN_STMT
  xSpace_14 = xSpace_5 + 4294967295;
  # DEBUG xSpace => xSpace_14
  # DEBUG BEGIN_STMT
  if (_4 <= xSpace_14)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  xSpace_15 = xSpace_14 - _4;
  # DEBUG xSpace => xSpace_15

  <bb 7> [local count: 250539]:
  # xSpace_6 = PHI <xSpace_14(5), xSpace_15(6)>
  # DEBUG xSpace => xSpace_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xSpace_6;

}


xStreamBufferSetTriggerLevel (struct StreamBufferDef_t * xStreamBuffer, size_t xTriggerLevel)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  unsigned int _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_4(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_4(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xTriggerLevelBytes = xTriggerLevel_8;
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 1

  <bb 7> [local count: 250539]:
  # xReturn_2 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


xStreamBufferReset (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxStreamBufferNumber;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;
  uint8_t * _3;
  unsigned int _4;
  unsigned int _5;
  unsigned char _6;

  <bb 2> [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 <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 37017]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToSend;
  if (_2 == 0B)
    goto <bb 7>; [17.43%]
  else
    goto <bb 8>; [82.57%]

  <bb 7> [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;

  <bb 8> [local count: 123389]:
  # xReturn_7 = PHI <0(5), 0(6), 1(7)>
  # DEBUG xReturn => xReturn_7
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return xReturn_7;

}


vStreamBufferDelete (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  unsigned char _1;
  unsigned char _4;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_3(D)
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [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

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [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 <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  vPortFree (xStreamBuffer_3(D));
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 125270]:
  # DEBUG BEGIN_STMT
  memset (xStreamBuffer_3(D), 0, 36);

  <bb 8> [local count: 250539]:
  return;

}


xStreamBufferGenericCreate (size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint8_t ucFlags;
  uint8_t * pucAllocatedMemory;
  unsigned int _1;
  uint8_t * _2;

  <bb 2> [local count: 325376]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xIsMessageBuffer_5(D) == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 3> [local count: 110628]:
  # DEBUG BEGIN_STMT
  # DEBUG ucFlags => 1
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) <= 4)
    goto <bb 4>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 4> [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

  <bb 5> [local count: 553139728]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 553139728]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG ucFlags => 0
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 7> [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

  <bb 8> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 18> [local count: 1073741824]:
  goto <bb 8>; [100.00%]

  <bb 9> [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 <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [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

  <bb 11> [local count: 813440776]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 813440776]:
  goto <bb 11>; [100.00%]

  <bb 12> [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 <bb 13>; [54.67%]
  else
    goto <bb 15>; [45.33%]

  <bb 13> [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 <bb 14>; [53.47%]
  else
    goto <bb 15>; [46.53%]

  <bb 14> [local count: 23779]:
  # DEBUG BEGIN_STMT
  _2 = pucAllocatedMemory_13 + 36;
  prvInitialiseNewStreamBuffer (pucAllocatedMemory_13, _2, xBufferSizeBytes_11, xTriggerLevelBytes_9, ucFlags_3);
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 81344]:
  # pucAllocatedMemory_10 = PHI <pucAllocatedMemory_13(13), pucAllocatedMemory_13(14), 0B(12)>
  # DEBUG pucAllocatedMemory => NULL
  # DEBUG xBufferSizeBytes => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return pucAllocatedMemory_10;

}


