IPA function summary for Lpspi_Ip_UpdateTransferMode.part.0/59 inlinable
  global time:     5.000000
  self size:       7
  global size:     7
  min size:       0
  self stack:      0
  global stack:    0
    size:4.000000, time:4.000000
    size:3.000000, time:1.000000,  executed if:(not inlined)
  calls:

IPA function summary for Lpspi_Ip_GetStatus/21 inlinable
  global time:     7.350001
  self size:       13
  global size:     13
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.500000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:4.000000, time:1.850001,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_Ip_IrqHandler/20 inlinable
  global time:     14.279000
  self size:       19
  global size:     19
  min size:       4
  self stack:      0
  global stack:    0
    size:14.000000, time:9.738000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_TransferProcess/7 function not considered for inlining
      loop depth: 0 freq:0.23 size: 2 time: 11callee size:34 stack: 0

IPA function summary for Lpspi_Ip_Cancel/19 inlinable
  global time:     15.437806
  self size:       34
  global size:     34
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.267351,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:23.000000, time:4.823444,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10/34 function body not available
      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 <= 5)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10/33 function body not available
      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 <= 5)

IPA function summary for Lpspi_Ip_UpdateTransferMode/18 inlinable
  global time:     9.780994
  self size:       18
  global size:     18
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:7.000000, time:2.781004,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_UpdateTransferMode.part.0/59 function not considered for inlining
      loop depth: 0 freq:0.15 size: 2 time: 11callee size: 3 stack: 0 predicate: (op0 <= 5)

IPA function summary for Lpspi_Ip_UpdateDefaultTransmitData/17 inlinable
  global time:     10.446799
  self size:       22
  global size:     22
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.490000,  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:11.000000, time:4.733401,  executed if:(op0 != 0B)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.199999,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_UpdateLsb/16 inlinable
  global time:     10.446799
  self size:       22
  global size:     22
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.490000,  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:11.000000, time:4.733401,  executed if:(op0 != 0B)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.199999,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_UpdateFrameSize/15 inlinable
  global time:     10.823400
  self size:       29
  global size:     29
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.245001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:3.000000, time:2.099999,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
    size:0.500000, time:0.175000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.175000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
    size:15.000000, time:3.766698,  executed if:(op0 != 0B)
    size:0.500000, time:0.080850,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.080850,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_ManageBuffers/14 inlinable
  global time:     10.335242
  self size:       26
  global size:     26
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:15.000000, time:4.350001,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_TransferProcess/7 function not considered for inlining
      loop depth: 0 freq:0.06 size: 2 time: 11callee size:34 stack: 0 predicate: (op0 <= 5)

IPA function summary for Lpspi_Ip_AsyncTransmit/13 inlinable
  global time:     19.098550
  self size:       78
  global size:     78
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.153105,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op3 changed) && (op0 != 0B)
    size:0.500000, time:0.175000,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.175000,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op3 != 0) && (op0 != 0B)
    size:43.500000, time:5.058569,  executed if:(op3 != 0) && (op0 != 0B)
    size:0.500000, time:0.122500,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.122500,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op3 != 0) && (op0 != 0B)
    size:6.000000, time:0.551251,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op3 != 0) && (op0 != 0B)
    size:0.500000, time:0.050531,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined)
    size:4.000000, time:1.399999,  executed if:(op3 == 0) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:
    Lpspi_TransmitRxInit/12 function not considered for inlining
      loop depth: 0 freq:0.10 size: 4 time: 13callee size: 8 stack: 0 predicate: (op3 != 0) && (op0 != 0B)
    Lpspi_TransmitTxInit/11 function not considered for inlining
      loop depth: 0 freq:0.10 size: 4 time: 13callee size:33 stack: 0 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 function body not available
      loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 function body not available
      loop depth: 0 freq:0.05 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09/29 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)

IPA function summary for Lpspi_TransmitRxInit/12 inlinable
  global time:     10.500000
  self size:       16
  global size:     16
  min size:       0
  self stack:      0
  global stack:    0
    size:11.000000, time:8.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:0.500000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_TransmitTxInit/11 inlinable
  global time:     46.710000
  self size:       67
  global size:     67
  min size:       4
  self stack:      0
  global stack:    0
    size:60.000000, time:37.610000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:0.500000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11/28 function body not available
      loop depth: 0 freq:0.33 size: 1 time: 10
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11/27 function body not available
      loop depth: 0 freq:0.33 size: 1 time: 10

IPA function summary for Lpspi_Ip_SyncTransmit/10 inlinable
  global time:     55.213216
  self size:       137
  global size:     137
  min size:       8
  self stack:      4
  global stack:    4
    size:1.000000, time:1.000000
    size:3.000000, time:1.076562,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op3 changed) && (op0 != 0B)
    size:2.000000, time:0.700000,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op4 changed) && (op3 != 0) && (op0 != 0B)
    size:1.500000, time:0.174016,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:79.500000, time:14.493248,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B)
    size:6.000000, time:0.275623,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op4 != 0) && (op3 != 0) && (op0 != 0B)
    size:4.000000, time:0.700000,  executed if:(op4 == 0) && (op3 != 0) && (op0 != 0B)
    size:4.000000, time:1.399999,  executed if:(op3 == 0) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  calls:
    OsIf_GetElapsed/26 function body not available
      loop depth: 1 freq:0.42 size: 4 time: 13 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
    Lpspi_Ip_PushDataProcess/6 function not considered for inlining
      loop depth: 1 freq:0.42 size: 3 time: 12callee size:20 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 change 41.480000% of time
    Lpspi_Ip_ReadData/4 function not considered for inlining
      loop depth: 1 freq:0.32 size: 3 time: 12callee size:15 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 change 55.310000% of time
    OsIf_GetCounter/25 function body not available
      loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 is compile time invariant
    Lpspi_TransmitRxInit/12 function not considered for inlining
      loop depth: 0 freq:0.05 size: 4 time: 13callee size: 8 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    Lpspi_TransmitTxInit/11 function not considered for inlining
      loop depth: 0 freq:0.05 size: 4 time: 13callee size:33 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 function body not available
      loop depth: 0 freq:0.05 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 function body not available
      loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08/23 function body not available
      loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    OsIf_MicrosToTicks/22 function body not available
      loop depth: 0 freq:1.00 size: 4 time: 13
       op1 is compile time invariant

IPA function summary for Lpspi_Ip_DeInit/9 inlinable
  global time:     10.155005
  self size:       25
  global size:     25
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:16.000000, time:4.805004,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_Ip_Init/8 inlinable
  global time:     13.306228
  self size:       35
  global size:     35
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.122007,  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:16.000000, time:6.088038,  executed if:(op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 128] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
    size:1.500000, time:0.183015,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 104] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 104] changed) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:
    Lpspi_Ip_UpdateTransferMode/18 function not considered for inlining
      loop depth: 0 freq:0.12 size: 3 time: 12callee size: 9 stack: 0 predicate: (op0 != 0B)

IPA function summary for Lpspi_Ip_TransferProcess/7 inlinable
  global time:     25.067243
  self size:       68
  global size:     68
  min size:       34
  self stack:      0
  global stack:    0
    size:48.000000, time:13.926683
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12/32 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12/31 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10
    Lpspi_Ip_PushDataProcess/6 function not considered for inlining
      loop depth: 0 freq:0.17 size: 2 time: 11callee size:20 stack: 0
    Lpspi_Ip_ReadData/4 function not considered for inlining
      loop depth: 0 freq:0.13 size: 3 time: 12callee size:15 stack: 0
    indirect call loop depth: 0 freq:0.08 size: 5 time: 17
    indirect call loop depth: 0 freq:0.08 size: 5 time: 17

IPA function summary for Lpspi_Ip_PushDataProcess/6 inlinable
  global time:     19.618750
  self size:       41
  global size:     41
  min size:       6
  self stack:      0
  global stack:    0
    size:35.000000, time:14.618750
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_PushData/5 function not considered for inlining
      loop depth: 0 freq:0.25 size: 3 time: 12callee size:16 stack: 0

IPA function summary for Lpspi_Ip_PushData/5 inlinable
  global time:     131.813637
  self size:       32
  global size:     32
  min size:       0
  self stack:      0
  global stack:    0
    size:29.000000, time:129.813637
    size:3.000000, time:2.000000,  executed if:(not inlined)
  loop iterations:(op1 changed)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_Ip_ReadData/4 inlinable
  global time:     129.386364
  self size:       31
  global size:     31
  min size:       0
  self stack:      0
  global stack:    0
    size:28.000000, time:127.386364
    size:3.000000, time:2.000000,  executed if:(not inlined)
  loop iterations:(op1 changed)
  array index:(op0 changed)
  calls:


Flattening functions:
Overall time estimate: 554.769036 weighted by profile: 0.000000

Deciding on inlining of small functions.  Starting with size 0.
Enqueueing calls in Lpspi_Ip_UpdateTransferMode.part.0/59.
Enqueueing calls in Lpspi_Ip_GetStatus/21.
Enqueueing calls in Lpspi_Ip_IrqHandler/20.
Enqueueing calls in Lpspi_Ip_Cancel/19.
Enqueueing calls in Lpspi_Ip_UpdateTransferMode/18.
Enqueueing calls in Lpspi_Ip_UpdateDefaultTransmitData/17.
Enqueueing calls in Lpspi_Ip_UpdateLsb/16.
Enqueueing calls in Lpspi_Ip_UpdateFrameSize/15.
Enqueueing calls in Lpspi_Ip_ManageBuffers/14.
Enqueueing calls in Lpspi_Ip_AsyncTransmit/13.
Enqueueing calls in Lpspi_TransmitRxInit/12.
Enqueueing calls in Lpspi_TransmitTxInit/11.
Enqueueing calls in Lpspi_Ip_SyncTransmit/10.
Enqueueing calls in Lpspi_Ip_DeInit/9.
Enqueueing calls in Lpspi_Ip_Init/8.
Enqueueing calls in Lpspi_Ip_TransferProcess/7.
Enqueueing calls in Lpspi_Ip_PushDataProcess/6.
Enqueueing calls in Lpspi_Ip_PushData/5.
Enqueueing calls in Lpspi_Ip_ReadData/4.

Considering Lpspi_Ip_UpdateTransferMode.part.0/59 with 7 size
 to be inlined into Lpspi_Ip_UpdateTransferMode/18 in unknown:0
 Estimated badness is -0.179999, frequency 0.15.

Considering Lpspi_Ip_PushData/5 with 32 size
 to be inlined into Lpspi_Ip_PushDataProcess/6 in ../RTD/src/Lpspi_Ip.c:375
 Estimated badness is -0.008037, frequency 0.25.

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:

Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 446.358815 weighted by profile: 0.000000

Why inlining failed?
function body not available                       :       15 calls, 3.429414 freq, 0 count
--param max-inline-insns-auto limit reached       :        6 calls, 1.032176 freq, 0 count
call is unlikely and code size would grow         :        5 calls, 0.717478 freq, 0 count
IPA function summary for Lpspi_Ip_GetStatus/21 inlinable
  global time:     7.350001
  self size:       13
  global size:     13
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.500000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:4.000000, time:1.850001,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_Ip_IrqHandler/20 inlinable
  global time:     14.279000
  self size:       19
  global size:     19
  min size:       4
  self stack:      0
  global stack:    0
    size:14.000000, time:9.738000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_TransferProcess/7 --param max-inline-insns-auto limit reached
      loop depth: 0 freq:0.23 size: 2 time: 11callee size:34 stack: 0

IPA function summary for Lpspi_Ip_Cancel/19 inlinable
  global time:     15.437806
  self size:       34
  global size:     34
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.267351,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:23.000000, time:4.823444,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10/34 function body not available
      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 <= 5)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10/33 function body not available
      loop depth: 0 freq:0.27 size: 1 time: 10 predicate: (op0 <= 5)

IPA function summary for Lpspi_Ip_UpdateTransferMode/18 inlinable
  global time:     8.731001
  self size:       18
  global size:     20
  min size:       0
  self stack:      0
  global stack:    0
  estimated growth:12
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:11.000000, time:3.381000,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_UpdateTransferMode.part.0/59 inlined
      loop depth: 0 freq:0.15 size: 2 time: 11callee size: 3 stack: 0
      Stack frame offset 0, callee self size 0, callee size 0

IPA function summary for Lpspi_Ip_UpdateDefaultTransmitData/17 inlinable
  global time:     10.446799
  self size:       22
  global size:     22
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.490000,  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:11.000000, time:4.733401,  executed if:(op0 != 0B)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.199999,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_UpdateLsb/16 inlinable
  global time:     10.446799
  self size:       22
  global size:     22
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.490000,  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:11.000000, time:4.733401,  executed if:(op0 != 0B)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.161700,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.199999,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_UpdateFrameSize/15 inlinable
  global time:     10.823400
  self size:       29
  global size:     29
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.245001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:3.000000, time:2.099999,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
    size:0.500000, time:0.175000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.175000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
    size:15.000000, time:3.766698,  executed if:(op0 != 0B)
    size:0.500000, time:0.080850,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.080850,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Lpspi_Ip_ManageBuffers/14 inlinable
  global time:     10.335242
  self size:       26
  global size:     26
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:15.000000, time:4.350001,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_TransferProcess/7 --param max-inline-insns-auto limit reached
      loop depth: 0 freq:0.06 size: 2 time: 11callee size:34 stack: 0 predicate: (op0 <= 5)

IPA function summary for Lpspi_Ip_AsyncTransmit/13 inlinable
  global time:     19.098550
  self size:       78
  global size:     78
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.153105,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op3 changed) && (op0 != 0B)
    size:0.500000, time:0.175000,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.175000,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op3 != 0) && (op0 != 0B)
    size:43.500000, time:5.058569,  executed if:(op3 != 0) && (op0 != 0B)
    size:0.500000, time:0.122500,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.122500,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op3 != 0) && (op0 != 0B)
    size:6.000000, time:0.551251,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op3 != 0) && (op0 != 0B)
    size:0.500000, time:0.050531,  executed if:(op3 != 0) && (op0 != 0B) && (not inlined)
    size:4.000000, time:1.399999,  executed if:(op3 == 0) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:
    Lpspi_TransmitRxInit/12 call is unlikely and code size would grow
      loop depth: 0 freq:0.10 size: 4 time: 13callee size: 8 stack: 0 predicate: (op3 != 0) && (op0 != 0B)
    Lpspi_TransmitTxInit/11 --param max-inline-insns-auto limit reached
      loop depth: 0 freq:0.10 size: 4 time: 13callee size:33 stack: 0 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 function body not available
      loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 function body not available
      loop depth: 0 freq:0.05 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09/29 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10 predicate: (op3 != 0) && (op0 != 0B)

IPA function summary for Lpspi_TransmitRxInit/12 inlinable
  global time:     10.500000
  self size:       16
  global size:     16
  min size:       11
  self stack:      0
  global stack:    0
  estimated growth:2
    size:11.000000, time:8.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:0.500000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_TransmitTxInit/11 inlinable
  global time:     46.710000
  self size:       67
  global size:     67
  min size:       60
  self stack:      0
  global stack:    0
  estimated growth:53
    size:60.000000, time:37.610000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:0.500000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11/28 function body not available
      loop depth: 0 freq:0.33 size: 1 time: 10
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11/27 function body not available
      loop depth: 0 freq:0.33 size: 1 time: 10

IPA function summary for Lpspi_Ip_SyncTransmit/10 inlinable
  global time:     55.213216
  self size:       137
  global size:     137
  min size:       8
  self stack:      4
  global stack:    4
    size:1.000000, time:1.000000
    size:3.000000, time:1.076562,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:2.000000, time:1.399999,  executed if:(op0 != 0B),  nonconst if:(op3 changed) && (op0 != 0B)
    size:2.000000, time:0.700000,  executed if:(op3 != 0) && (op0 != 0B),  nonconst if:(op4 changed) && (op3 != 0) && (op0 != 0B)
    size:1.500000, time:0.174016,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B) && (not inlined)
    size:79.500000, time:14.493248,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B)
    size:6.000000, time:0.275623,  executed if:(op4 != 0) && (op3 != 0) && (op0 != 0B),  nonconst if:(op3 changed) && (op4 != 0) && (op3 != 0) && (op0 != 0B)
    size:4.000000, time:0.700000,  executed if:(op4 == 0) && (op3 != 0) && (op0 != 0B)
    size:4.000000, time:1.399999,  executed if:(op3 == 0) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  calls:
    OsIf_GetElapsed/26 function body not available
      loop depth: 1 freq:0.42 size: 4 time: 13 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 is compile time invariant
       op1 is compile time invariant
    Lpspi_Ip_PushDataProcess/6 --param max-inline-insns-auto limit reached
      loop depth: 1 freq:0.42 size: 3 time: 12callee size:33 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 change 41.480000% of time
    Lpspi_Ip_ReadData/4 call is unlikely and code size would grow
      loop depth: 1 freq:0.32 size: 3 time: 12callee size:15 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 change 55.310000% of time
    OsIf_GetCounter/25 function body not available
      loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
       op0 is compile time invariant
    Lpspi_TransmitRxInit/12 call is unlikely and code size would grow
      loop depth: 0 freq:0.05 size: 4 time: 13callee size: 8 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    Lpspi_TransmitTxInit/11 --param max-inline-insns-auto limit reached
      loop depth: 0 freq:0.05 size: 4 time: 13callee size:33 stack: 0 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 function body not available
      loop depth: 0 freq:0.05 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 function body not available
      loop depth: 0 freq:0.03 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08/23 function body not available
      loop depth: 0 freq:0.08 size: 1 time: 10 predicate: (op4 != 0) && (op3 != 0) && (op0 != 0B)
    OsIf_MicrosToTicks/22 function body not available
      loop depth: 0 freq:1.00 size: 4 time: 13
       op1 is compile time invariant

IPA function summary for Lpspi_Ip_DeInit/9 inlinable
  global time:     10.155005
  self size:       25
  global size:     25
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.350001,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:16.000000, time:4.805004,  executed if:(op0 <= 5)
    size:4.000000, time:2.000000,  executed if:(op0 > 5)
  array index:(op0 changed)
  calls:

IPA function summary for Lpspi_Ip_Init/8 inlinable
  global time:     13.306228
  self size:       35
  global size:     35
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:1.122007,  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:16.000000, time:6.088038,  executed if:(op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 128] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
    size:1.500000, time:0.183015,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 64] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 96] changed) && (op0 != 0B)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 104] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.061005,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 104] changed) && (op0 != 0B)
    size:4.000000, time:1.200001,  executed if:(op0 == 0B)
  array index:(op0[ref offset: 0] changed)
  calls:
    Lpspi_Ip_UpdateTransferMode/18 call is unlikely and code size would grow
      loop depth: 0 freq:0.12 size: 3 time: 12callee size:10 stack: 0 predicate: (op0 != 0B)

IPA function summary for Lpspi_Ip_TransferProcess/7 inlinable
  global time:     25.067243
  self size:       68
  global size:     68
  min size:       48
  self stack:      0
  global stack:    0
  estimated growth:58
    size:48.000000, time:13.926683
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12/32 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10
    SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12/31 function body not available
      loop depth: 0 freq:0.15 size: 1 time: 10
    Lpspi_Ip_PushDataProcess/6 --param max-inline-insns-auto limit reached
      loop depth: 0 freq:0.17 size: 2 time: 11callee size:33 stack: 0
    Lpspi_Ip_ReadData/4 call is unlikely and code size would grow
      loop depth: 0 freq:0.13 size: 3 time: 12callee size:15 stack: 0
    indirect call loop depth: 0 freq:0.08 size: 5 time: 17
    indirect call loop depth: 0 freq:0.08 size: 5 time: 17

IPA function summary for Lpspi_Ip_PushDataProcess/6 inlinable
  global time:     49.072159
  self size:       41
  global size:     67
  min size:       64
  self stack:      0
  global stack:    0
  estimated growth:30
    size:64.000000, time:47.072159
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:
    Lpspi_Ip_PushData/5 inlined
      loop depth: 0 freq:0.25 size: 3 time: 12callee size:16 stack: 0
      Stack frame offset 0, callee self size 0, callee size 0

IPA function summary for Lpspi_Ip_ReadData/4 inlinable
  global time:     129.386364
  self size:       31
  global size:     31
  min size:       28
  self stack:      0
  global stack:    0
  estimated growth:19
    size:28.000000, time:127.386364
    size:3.000000, time:2.000000,  executed if:(not inlined)
  loop iterations:(op1 changed)
  array index:(op0 changed)
  calls:

Symbol table:

Lpspi_Ip_UpdateTransferMode.part.0/59 (Lpspi_Ip_UpdateTransferMode.part.0) @06cb48c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Function Lpspi_Ip_UpdateTransferMode.part.0/59 is inline copy in Lpspi_Ip_UpdateTransferMode/18
  Availability: local
  Function flags: count:64424 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: Lpspi_Ip_UpdateTransferMode/18 (inlined) (64424 (estimated locally),0.15 per call) 
  Calls: 
SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10/34 (SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10) @06c8da80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_Cancel/19 (114826 (estimated locally),0.27 per call) 
  Calls: 
SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10/33 (SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10) @06c8d9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_Cancel/19 (114826 (estimated locally),0.27 per call) 
  Calls: 
SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12/32 (SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12) @06c8d460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_TransferProcess/7 (162657928 (estimated locally),0.15 per call) 
  Calls: 
SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12/31 (SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12) @06c8d380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_TransferProcess/7 (162657928 (estimated locally),0.15 per call) 
  Calls: 
SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 (SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09) @06c8d000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_AsyncTransmit/13 (62008 (estimated locally),0.10 per call) Lpspi_Ip_AsyncTransmit/13 (31944 (estimated locally),0.05 per call) 
  Calls: 
SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09/29 (SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09) @06b961c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_AsyncTransmit/13 (93952 (estimated locally),0.15 per call) 
  Calls: 
SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11/28 (SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11) @06b969a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_TransmitTxInit/11 (354334802 (estimated locally),0.33 per call) 
  Calls: 
SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11/27 (SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11) @06b968c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_TransmitTxInit/11 (354334802 (estimated locally),0.33 per call) 
  Calls: 
OsIf_GetElapsed/26 (OsIf_GetElapsed) @06b96700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (258823 (estimated locally),0.42 per call) 
  Calls: 
OsIf_GetCounter/25 (OsIf_GetCounter) @06b96620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (31004 (estimated locally),0.05 per call) 
  Calls: 
SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 (SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08) @06b96540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (31004 (estimated locally),0.05 per call) Lpspi_Ip_SyncTransmit/10 (15972 (estimated locally),0.03 per call) 
  Calls: 
SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08/23 (SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08) @06b96460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (46976 (estimated locally),0.08 per call) 
  Calls: 
OsIf_MicrosToTicks/22 (OsIf_MicrosToTicks) @06b96380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (613566 (estimated locally),1.00 per call) 
  Calls: 
Lpspi_Ip_GetStatus/21 (Lpspi_Ip_GetStatus) @06b880e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Lpspi_Ip_IrqHandler/20 (Lpspi_Ip_IrqHandler) @06b88d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Lpspi_Ip_TransferProcess/7 (248034361 (estimated locally),0.23 per call) 
Lpspi_Ip_Cancel/19 (Lpspi_Ip_Cancel) @06b88a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10/34 (114826 (estimated locally),0.27 per call) SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10/33 (114826 (estimated locally),0.27 per call) 
Lpspi_Ip_UpdateTransferMode/18 (Lpspi_Ip_UpdateTransferMode) @06b887e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: Lpspi_Ip_Init/8 (45332 (estimated locally),0.12 per call) 
  Calls: Lpspi_Ip_UpdateTransferMode.part.0/59 (inlined) (64424 (estimated locally),0.15 per call) 
Lpspi_Ip_UpdateDefaultTransmitData/17 (Lpspi_Ip_UpdateDefaultTransmitData) @06b88540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:715827 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Lpspi_Ip_UpdateLsb/16 (Lpspi_Ip_UpdateLsb) @06b882a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:715827 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Lpspi_Ip_UpdateFrameSize/15 (Lpspi_Ip_UpdateFrameSize) @06b88000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:613566 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Lpspi_Ip_ManageBuffers/14 (Lpspi_Ip_ManageBuffers) @06b529a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: Lpspi_Ip_TransferProcess/7 (24803 (estimated locally),0.06 per call) 
Lpspi_Ip_AsyncTransmit/13 (Lpspi_Ip_AsyncTransmit) @06b52380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:613566 (estimated locally) body optimize_size
  Called by: 
  Calls: Lpspi_TransmitRxInit/12 (62008 (estimated locally),0.10 per call) Lpspi_TransmitTxInit/11 (62008 (estimated locally),0.10 per call) SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 (62008 (estimated locally),0.10 per call) SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09/30 (31944 (estimated locally),0.05 per call) SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09/29 (93952 (estimated locally),0.15 per call) 
Lpspi_TransmitRxInit/12 (Lpspi_TransmitRxInit) @06b52ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_AsyncTransmit/13 (62008 (estimated locally),0.10 per call) Lpspi_Ip_SyncTransmit/10 (31004 (estimated locally),0.05 per call) 
  Calls: 
Lpspi_TransmitTxInit/11 (Lpspi_TransmitTxInit) @06b52c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_AsyncTransmit/13 (62008 (estimated locally),0.10 per call) Lpspi_Ip_SyncTransmit/10 (31004 (estimated locally),0.05 per call) 
  Calls: SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11/28 (354334802 (estimated locally),0.33 per call) SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11/27 (354334802 (estimated locally),0.33 per call) 
Lpspi_Ip_SyncTransmit/10 (Lpspi_Ip_SyncTransmit) @06b528c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: available
  Function flags: count:613566 (estimated locally) body optimize_size
  Called by: 
  Calls: OsIf_GetElapsed/26 (258823 (estimated locally),0.42 per call) Lpspi_Ip_PushDataProcess/6 (258823 (estimated locally),0.42 per call) Lpspi_Ip_ReadData/4 (194117 (estimated locally),0.32 per call) OsIf_GetCounter/25 (31004 (estimated locally),0.05 per call) Lpspi_TransmitRxInit/12 (31004 (estimated locally),0.05 per call) Lpspi_TransmitTxInit/11 (31004 (estimated locally),0.05 per call) SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 (31004 (estimated locally),0.05 per call) SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08/24 (15972 (estimated locally),0.03 per call) SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08/23 (46976 (estimated locally),0.08 per call) OsIf_MicrosToTicks/22 (613566 (estimated locally),1.00 per call) 
Lpspi_Ip_DeInit/9 (Lpspi_Ip_DeInit) @06b52620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)Lpspi_Ip_StateStructureArray/2 (write)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Lpspi_Ip_Init/8 (Lpspi_Ip_Init) @06b522a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Lpspi_Ip_StateStructureArray/2 (read)Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (write)
  Referring: 
  Availability: available
  Function flags: count:371543 (estimated locally) body optimize_size
  Called by: 
  Calls: Lpspi_Ip_UpdateTransferMode/18 (45332 (estimated locally),0.12 per call) 
Lpspi_Ip_TransferProcess/7 (Lpspi_Ip_TransferProcess) @06b52000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741823 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_IrqHandler/20 (248034361 (estimated locally),0.23 per call) Lpspi_Ip_ManageBuffers/14 (24803 (estimated locally),0.06 per call) 
  Calls: SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12/32 (162657928 (estimated locally),0.15 per call) SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12/31 (162657928 (estimated locally),0.15 per call) Lpspi_Ip_PushDataProcess/6 (182536110 (estimated locally),0.17 per call) Lpspi_Ip_ReadData/4 (136902082 (estimated locally),0.13 per call) 
   Indirect call(85609436 (estimated locally),0.08 per call) 
   Indirect call(85609436 (estimated locally),0.08 per call) 
Lpspi_Ip_PushDataProcess/6 (Lpspi_Ip_PushDataProcess) @06ad9c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (258823 (estimated locally),0.42 per call) Lpspi_Ip_TransferProcess/7 (182536110 (estimated locally),0.17 per call) 
  Calls: Lpspi_Ip_PushData/5 (inlined) (268435456 (estimated locally),0.25 per call) 
Lpspi_Ip_PushData/5 (Lpspi_Ip_PushData) @06ad9e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Function Lpspi_Ip_PushData/5 is inline copy in Lpspi_Ip_PushDataProcess/6
  Availability: local
  Function flags: count:268435456 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_PushDataProcess/6 (inlined) (268435456 (estimated locally),0.25 per call) 
  Calls: 
Lpspi_Ip_ReadData/4 (Lpspi_Ip_ReadData) @06ad9b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Lpspi_Ip_Bases/3 (read)Lpspi_Ip_StateStructureArray/2 (read)
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local optimize_size
  Called by: Lpspi_Ip_SyncTransmit/10 (194117 (estimated locally),0.32 per call) Lpspi_Ip_TransferProcess/7 (136902082 (estimated locally),0.13 per call) 
  Calls: 
Lpspi_Ip_Bases/3 (Lpspi_Ip_Bases) @06ad8120
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Lpspi_Ip_AsyncTransmit/13 (read)Lpspi_TransmitTxInit/11 (read)Lpspi_Ip_TransferProcess/7 (read)Lpspi_Ip_PushData/5 (read)Lpspi_Ip_Init/8 (read)Lpspi_Ip_ReadData/4 (read)Lpspi_Ip_Cancel/19 (read)Lpspi_Ip_DeInit/9 (read)Lpspi_Ip_SyncTransmit/10 (read)Lpspi_Ip_PushDataProcess/6 (read)Lpspi_Ip_ManageBuffers/14 (read)Lpspi_Ip_IrqHandler/20 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
Lpspi_Ip_StateStructureArray/2 (Lpspi_Ip_StateStructureArray) @06ad8048
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: Lpspi_Ip_UpdateTransferMode/18 (read)Lpspi_Ip_DeInit/9 (read)Lpspi_Ip_UpdateDefaultTransmitData/17 (read)Lpspi_Ip_Init/8 (write)Lpspi_TransmitTxInit/11 (read)Lpspi_Ip_TransferProcess/7 (read)Lpspi_Ip_PushDataProcess/6 (read)Lpspi_Ip_PushData/5 (read)Lpspi_Ip_Cancel/19 (read)Lpspi_Ip_ReadData/4 (read)Lpspi_Ip_IrqHandler/20 (read)Lpspi_Ip_DeInit/9 (write)Lpspi_Ip_SyncTransmit/10 (read)Lpspi_TransmitRxInit/12 (read)Lpspi_Ip_AsyncTransmit/13 (read)Lpspi_Ip_ManageBuffers/14 (read)Lpspi_Ip_UpdateFrameSize/15 (read)Lpspi_Ip_UpdateLsb/16 (read)Lpspi_Ip_Init/8 (read)Lpspi_Ip_GetStatus/21 (read)
  Availability: available
  Varpool flags:
Lpspi_Ip_StateStructure/1 (Lpspi_Ip_StateStructure) @06ad1f30
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Varpool flags:

;; Function Lpspi_Ip_ReadData (Lpspi_Ip_ReadData, funcdef_no=1, decl_uid=4457, cgraph_uid=2, symbol_order=4)

Lpspi_Ip_ReadData (uint8 u8Instance, uint8 numberOfReads)
{
  uint8 i;
  uint32 data;
  struct Lpspi_Ip_StateStructureType * state;
  const struct LPSPI_Type * base;
  int _1;
  uint8 * _2;
  unsigned char _3;
  short unsigned int _4;
  sizetype _5;
  uint8 * _6;
  unsigned char _7;
  short unsigned int _8;
  unsigned int _9;
  unsigned int _10;
  uint16 * _11;
  short unsigned int _12;
  short unsigned int _13;
  unsigned int _14;
  unsigned int _15;
  uint32 * _16;
  short unsigned int _17;
  short unsigned int _18;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_22(D);
  base_24 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_24
  # DEBUG BEGIN_STMT
  state_25 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_25
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 10>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  data_27 ={v} base_24->RDR;
  # DEBUG data => data_27
  # DEBUG BEGIN_STMT
  _2 = state_25->pu8RxBuffer;
  if (_2 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 9>; [30.00%]

  <bb 4> [local count: 668941156]:
  # DEBUG BEGIN_STMT
  _3 = state_25->u8FrameSize;
  if (_3 <= 8)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 334470578]:
  # DEBUG BEGIN_STMT
  _4 = state_25->rxIndex;
  _5 = (sizetype) _4;
  _6 = _2 + _5;
  _7 = (unsigned char) data_27;
  *_6 = _7;
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 334470578]:
  # DEBUG BEGIN_STMT
  if (_3 <= 16)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 167235289]:
  # DEBUG BEGIN_STMT
  _8 = state_25->rxIndex;
  _9 = (unsigned int) _8;
  _10 = _9 * 2;
  _11 = _2 + _10;
  _12 = (short unsigned int) data_27;
  *_11 = _12;
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 167235289]:
  # DEBUG BEGIN_STMT
  _13 = state_25->rxIndex;
  _14 = (unsigned int) _13;
  _15 = _14 * 4;
  _16 = _2 + _15;
  *_16 = data_27;

  <bb 9> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _17 = state_25->rxIndex;
  _18 = _17 + 1;
  state_25->rxIndex = _18;
  # DEBUG BEGIN_STMT
  i_32 = i_19 + 1;
  # DEBUG i => i_32

  <bb 10> [local count: 1073741824]:
  # i_19 = PHI <0(2), i_32(9)>
  # DEBUG i => i_19
  # DEBUG BEGIN_STMT
  if (i_19 < numberOfReads_26(D))
    goto <bb 3>; [89.00%]
  else
    goto <bb 11>; [11.00%]

  <bb 11> [local count: 118111601]:
  return;

}



;; Function Lpspi_Ip_PushDataProcess (Lpspi_Ip_PushDataProcess, funcdef_no=3, decl_uid=4462, cgraph_uid=4, symbol_order=6)


Symbols to be put in SSA form
{ D.4888 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 24
Number of blocks to update: 23 ( 96%)


Merging blocks 10 and 13
Removing basic block 12
Removing basic block 23
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
;;
;; Loop 1
;;  header 19, latch 18
;;  depth 1, outer 0
;;  nodes: 19 18 13 15 16 17 11 14 12
;; 2 succs { 3 20 }
;; 3 succs { 4 20 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 10 }
;; 7 succs { 8 10 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 19 }
;; 11 succs { 12 17 }
;; 12 succs { 13 14 }
;; 13 succs { 18 }
;; 14 succs { 15 16 }
;; 15 succs { 18 }
;; 16 succs { 18 }
;; 17 succs { 18 }
;; 18 succs { 19 }
;; 19 succs { 11 20 }
;; 20 succs { 1 }
Lpspi_Ip_PushDataProcess (uint8 u8Instance)
{
  struct LPSPI_Type * base;
  struct Lpspi_Ip_StateStructureType * state;
  uint32 data;
  uint8 i;
  Lpspi_Ip_StatusType status;
  uint8 numberOfReads;
  uint8 numberOfWrites;
  const struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  long unsigned int _2;
  unsigned char _3;
  long unsigned int _4;
  long unsigned int _5;
  unsigned char _6;
  int _7;
  int _8;
  int _9;
  unsigned char _10;
  int _11;
  short unsigned int _12;
  int _13;
  short unsigned int _14;
  int _15;
  int _16;
  unsigned char _17;
  unsigned char _18;
  long unsigned int _19;
  long unsigned int _20;
  _Bool _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  int _42;
  uint8 * _45;
  unsigned char _46;
  short unsigned int _47;
  sizetype _48;
  uint8 * _49;
  unsigned char _50;
  short unsigned int _52;
  unsigned int _53;
  unsigned int _54;
  uint16 * _55;
  short unsigned int _56;
  short unsigned int _58;
  unsigned int _59;
  unsigned int _60;
  uint32 * _61;
  short unsigned int _65;
  short unsigned int _66;

  <bb 2> [local count: 472446400]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_31(D);
  base_33 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_33
  # DEBUG BEGIN_STMT
  state_34 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_34
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG status => 1
  # DEBUG BEGIN_STMT
  _2 ={v} base_33->FSR;
  _3 = (unsigned char) _2;
  numberOfWrites_35 = _3 & 7;
  # DEBUG numberOfWrites => numberOfWrites_35
  # DEBUG BEGIN_STMT
  _4 ={v} base_33->FSR;
  _5 = _4 >> 16;
  _6 = (unsigned char) _5;
  numberOfReads_36 = _6 & 7;
  # DEBUG numberOfReads => numberOfReads_36
  # DEBUG BEGIN_STMT
  _7 = (int) numberOfWrites_35;
  _8 = (int) numberOfReads_36;
  _9 = _7 + _8;
  if (_9 <= 3)
    goto <bb 3>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 3> [local count: 236223200]:
  # DEBUG BEGIN_STMT
  _10 = numberOfWrites_35 + numberOfReads_36;
  numberOfWrites_37 = 3 - _10;
  # DEBUG numberOfWrites => numberOfWrites_37
  # DEBUG BEGIN_STMT
  if (numberOfWrites_37 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 4> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  _11 = (int) numberOfWrites_37;
  _12 = state_34->expectedFifoWrites;
  _13 = (int) _12;
  _14 = state_34->txIndex;
  _15 = (int) _14;
  _16 = _13 - _15;
  if (_11 > _16)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  _17 = (unsigned char) _12;
  _18 = (unsigned char) _14;
  numberOfWrites_38 = _17 - _18;
  # DEBUG numberOfWrites => numberOfWrites_38

  <bb 6> [local count: 118111600]:
  # numberOfWrites_26 = PHI <numberOfWrites_37(4), numberOfWrites_38(5)>
  # DEBUG numberOfWrites => numberOfWrites_26
  # DEBUG BEGIN_STMT
  if (_12 == _14)
    goto <bb 7>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 7> [local count: 40157944]:
  # DEBUG BEGIN_STMT
  _19 ={v} base_33->IER;
  _20 = _19 & 4294967294;
  base_33->IER ={v} _20;
  # DEBUG BEGIN_STMT
  _21 = state_34->bKeepCs;
  if (_21 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 20078972]:
  _22 ={v} base_33->TCR;
  _23 = _22 & 2097152;
  if (_23 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 10039486]:
  # DEBUG BEGIN_STMT
  _24 ={v} base_33->TCR;
  _25 = _24 & 4291821567;
  base_33->TCR ={v} _25;
  # DEBUG BEGIN_STMT
  # DEBUG status => 0

  <bb 10> [local count: 118111600]:
  # status_27 = PHI <1(8), 0(6), 1(7), 0(9)>
  # DEBUG status => status_27
  # DEBUG BEGIN_STMT
  # DEBUG u8Instance => u8Instance_31(D)
  # DEBUG numberOfWrites => numberOfWrites_26
  # DEBUG INLINE_ENTRY Lpspi_Ip_PushData
  # DEBUG BEGIN_STMT
  _42 = (int) u8Instance_31(D);
  base_43 = Lpspi_Ip_Bases[_42];
  # DEBUG base => base_43
  # DEBUG BEGIN_STMT
  state_44 = Lpspi_Ip_StateStructureArray[_42];
  # DEBUG state => state_44
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 19>; [100.00%]

  <bb 11> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _45 = state_44->pu8TxBuffer;
  if (_45 != 0B)
    goto <bb 12>; [70.00%]
  else
    goto <bb 17>; [30.00%]

  <bb 12> [local count: 668941156]:
  # DEBUG BEGIN_STMT
  _46 = state_44->u8FrameSize;
  if (_46 <= 8)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 334470578]:
  # DEBUG BEGIN_STMT
  _47 = state_44->txIndex;
  _48 = (sizetype) _47;
  _49 = _45 + _48;
  _50 = *_49;
  data_51 = (uint32) _50;
  # DEBUG data => data_51
  goto <bb 18>; [100.00%]

  <bb 14> [local count: 334470578]:
  # DEBUG BEGIN_STMT
  if (_46 <= 16)
    goto <bb 15>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 15> [local count: 167235289]:
  # DEBUG BEGIN_STMT
  _52 = state_44->txIndex;
  _53 = (unsigned int) _52;
  _54 = _53 * 2;
  _55 = _45 + _54;
  _56 = *_55;
  data_57 = (uint32) _56;
  # DEBUG data => data_57
  goto <bb 18>; [100.00%]

  <bb 16> [local count: 167235289]:
  # DEBUG BEGIN_STMT
  _58 = state_44->txIndex;
  _59 = (unsigned int) _58;
  _60 = _59 * 4;
  _61 = _45 + _60;
  data_62 = *_61;
  # DEBUG data => data_62
  goto <bb 18>; [100.00%]

  <bb 17> [local count: 286689066]:
  # DEBUG BEGIN_STMT
  data_63 = state_44->u32DefaultData;
  # DEBUG data => data_63

  <bb 18> [local count: 955630223]:
  # data_64 = PHI <data_51(13), data_57(15), data_62(16), data_63(17)>
  # DEBUG data => data_64
  # DEBUG BEGIN_STMT
  base_43->TDR ={v} data_64;
  # DEBUG BEGIN_STMT
  _65 = state_44->txIndex;
  _66 = _65 + 1;
  state_44->txIndex = _66;
  # DEBUG BEGIN_STMT
  i_68 = i_67 + 1;
  # DEBUG i => i_68

  <bb 19> [local count: 1073741824]:
  # i_67 = PHI <0(10), i_68(18)>
  # DEBUG i => i_67
  # DEBUG BEGIN_STMT
  if (numberOfWrites_26 > i_67)
    goto <bb 11>; [89.00%]
  else
    goto <bb 20>; [11.00%]

  <bb 20> [local count: 472446401]:
  # status_28 = PHI <1(3), status_27(19), 1(2)>
  # DEBUG u8Instance => NULL
  # DEBUG numberOfWrites => NULL
  # DEBUG i => NULL
  # DEBUG data => NULL
  # DEBUG state => NULL
  # DEBUG base => NULL
  # DEBUG numberOfWrites => NULL
  # DEBUG status => status_28
  # DEBUG BEGIN_STMT
  return status_28;

}



;; Function Lpspi_TransmitRxInit (Lpspi_TransmitRxInit, funcdef_no=9, decl_uid=4472, cgraph_uid=10, symbol_order=12)

Lpspi_TransmitRxInit (uint8 u8Instance, uint8 * pu8RxBuffer, uint16 numberOfFrames)
{
  struct Lpspi_Ip_StateStructureType * state;
  int _1;
  unsigned char _2;
  short unsigned int _3;
  short unsigned int _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_6(D);
  state_8 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_8
  # DEBUG BEGIN_STMT
  state_8->rxIndex = 0;
  # DEBUG BEGIN_STMT
  state_8->pu8RxBuffer = pu8RxBuffer_10(D);
  # DEBUG BEGIN_STMT
  _2 = state_8->u8FrameSize;
  if (_2 <= 8)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  state_8->expectedFifoReads = numberOfFrames_12(D);
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (_2 <= 16)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _3 = numberOfFrames_12(D) >> 1;
  state_8->expectedFifoReads = _3;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _4 = numberOfFrames_12(D) >> 2;
  state_8->expectedFifoReads = _4;

  <bb 7> [local count: 1073741824]:
  return;

}



;; Function Lpspi_TransmitTxInit (Lpspi_TransmitTxInit, funcdef_no=8, decl_uid=4468, cgraph_uid=9, symbol_order=11)

Lpspi_TransmitTxInit (uint8 u8Instance, uint8 * pu8TxBuffer, uint16 numberOfFrames)
{
  uint32 u32Cfgr1;
  uint32 u32TransferCommand;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  _Bool _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  _Bool _10;
  const struct Lpspi_Ip_ExternalDeviceType * _11;
  long unsigned int _12;
  const struct Lpspi_Ip_ExternalDeviceType * _13;
  long unsigned int _14;
  unsigned char _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  _Bool _20;
  long unsigned int _21;
  long unsigned int _22;
  _Bool _23;
  _Bool _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  unsigned char _29;
  short unsigned int _30;
  short unsigned int _31;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_36(D);
  base_38 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_38
  # DEBUG BEGIN_STMT
  state_39 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_39
  # DEBUG BEGIN_STMT
  # DEBUG u32TransferCommand => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32Cfgr1 => 0
  # DEBUG BEGIN_STMT
  _2 = state_39->bFirstCmd;
  if (_2 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_11 ();
  # DEBUG BEGIN_STMT
  _3 ={v} base_38->CR;
  _4 = _3 & 4294967294;
  base_38->CR ={v} _4;
  # DEBUG BEGIN_STMT
  u32Cfgr1_42 ={v} base_38->CFGR1;
  # DEBUG u32Cfgr1 => u32Cfgr1_42
  # DEBUG BEGIN_STMT
  _5 ={v} base_38->CR;
  _6 = _5 | 2;
  base_38->CR ={v} _6;
  # DEBUG BEGIN_STMT
  _7 ={v} base_38->CR;
  _8 = _7 & 4294967293;
  base_38->CR ={v} _8;
  # DEBUG BEGIN_STMT
  base_38->CFGR1 ={v} u32Cfgr1_42;
  # DEBUG BEGIN_STMT
  _9 ={v} base_38->SR;
  base_38->SR ={v} _9;
  # DEBUG BEGIN_STMT
  _10 = state_39->bSlaveMode;
  if (_10 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _11 = state_39->pExternalDevice;
  _12 = _11->ccr;
  base_38->CCR ={v} _12;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _13 = state_39->pExternalDevice;
  _14 = _13->tcr;
  _15 = state_39->u8FrameSize;
  _16 = (long unsigned int) _15;
  _17 = _16 + 4294967295;
  _18 = _17 & 4095;
  _19 = _14 | _18;
  _20 = state_39->lsb;
  _21 = (long unsigned int) _20;
  _22 = _21 << 23;
  u32TransferCommand_48 = _19 | _22;
  # DEBUG u32TransferCommand => u32TransferCommand_48
  # DEBUG BEGIN_STMT
  _23 = state_39->bSlaveMode;
  if (_23 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  u32TransferCommand_49 = u32TransferCommand_48 & 4292870143;
  # DEBUG u32TransferCommand => u32TransferCommand_49

  <bb 7> [local count: 1073741824]:
  # u32TransferCommand_32 = PHI <u32TransferCommand_48(5), u32TransferCommand_49(6)>
  # DEBUG u32TransferCommand => u32TransferCommand_32
  # DEBUG BEGIN_STMT
  _24 = state_39->bFirstCmd;
  if (_24 != 0)
    goto <bb 8>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 8> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  base_38->TCR ={v} u32TransferCommand_32;
  # DEBUG BEGIN_STMT
  _25 ={v} base_38->CR;
  _26 = _25 | 1;
  base_38->CR ={v} _26;
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_11 ();
  goto <bb 12>; [100.00%]

  <bb 9> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  _27 = u32TransferCommand_32 & 2097152;
  if (_27 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 359703511]:
  # DEBUG BEGIN_STMT
  _28 = u32TransferCommand_32 | 1048576;
  base_38->TCR ={v} _28;
  goto <bb 12>; [100.00%]

  <bb 11> [local count: 359703511]:
  # DEBUG BEGIN_STMT
  base_38->TCR ={v} u32TransferCommand_32;

  <bb 12> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  state_39->txIndex = 0;
  # DEBUG BEGIN_STMT
  state_39->pu8TxBuffer = pu8TxBuffer_56(D);
  # DEBUG BEGIN_STMT
  _29 = state_39->u8FrameSize;
  if (_29 <= 8)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  state_39->expectedFifoWrites = numberOfFrames_58(D);
  goto <bb 17>; [100.00%]

  <bb 14> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (_29 <= 16)
    goto <bb 15>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 15> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _30 = numberOfFrames_58(D) >> 1;
  state_39->expectedFifoWrites = _30;
  goto <bb 17>; [100.00%]

  <bb 16> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _31 = numberOfFrames_58(D) >> 2;
  state_39->expectedFifoWrites = _31;

  <bb 17> [local count: 1073741824]:
  return;

}



;; Function Lpspi_Ip_TransferProcess (Lpspi_Ip_TransferProcess, funcdef_no=4, decl_uid=4464, cgraph_uid=5, symbol_order=7)

Lpspi_Ip_TransferProcess (uint8 u8Instance)
{
  boolean bErrorFlag;
  uint8 numberOfReads;
  uint32 srStatusRegister;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  unsigned char _7;
  int _8;
  short unsigned int _9;
  int _10;
  short unsigned int _11;
  int _12;
  int _13;
  unsigned char _14;
  unsigned char _15;
  short unsigned int _16;
  short unsigned int _17;
  _Bool _18;
  long unsigned int _19;
  long unsigned int _20;
  void (*<T2ef>) (uint8, Lpspi_Ip_EventType) _21;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_29(D);
  base_31 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_31
  # DEBUG BEGIN_STMT
  state_32 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_32
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bErrorFlag => 0
  # DEBUG BEGIN_STMT
  _2 = state_32->status;
  if (_2 == 2)
    goto <bb 3>; [34.00%]
  else
    goto <bb 22>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  srStatusRegister_33 ={v} base_31->SR;
  # DEBUG srStatusRegister => srStatusRegister_33
  # DEBUG BEGIN_STMT
  _3 ={v} base_31->SR;
  base_31->SR ={v} _3;
  # DEBUG BEGIN_STMT
  _4 = srStatusRegister_33 & 6144;
  if (_4 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  _5 ={v} base_31->FSR;
  _6 = _5 >> 16;
  _7 = (unsigned char) _6;
  numberOfReads_35 = _7 & 7;
  # DEBUG numberOfReads => numberOfReads_35
  # DEBUG BEGIN_STMT
  if (numberOfReads_35 > 4)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 91268055]:
  # DEBUG numberOfReads => numberOfReads_35
  # DEBUG BEGIN_STMT
  if (numberOfReads_35 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 6> [local count: 136902082]:
  # numberOfReads_36 = PHI <numberOfReads_35(5), 4(4)>
  # DEBUG numberOfReads => NULL
  # DEBUG BEGIN_STMT
  _8 = (int) numberOfReads_36;
  _9 = state_32->expectedFifoReads;
  _10 = (int) _9;
  _11 = state_32->rxIndex;
  _12 = (int) _11;
  _13 = _10 - _12;
  if (_8 > _13)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 68451041]:
  # DEBUG BEGIN_STMT
  _14 = (unsigned char) _9;
  _15 = (unsigned char) _11;
  numberOfReads_37 = _14 - _15;
  # DEBUG numberOfReads => numberOfReads_37

  <bb 8> [local count: 136902082]:
  # numberOfReads_22 = PHI <numberOfReads_36(6), numberOfReads_37(7)>
  # DEBUG numberOfReads => numberOfReads_22
  # DEBUG BEGIN_STMT
  Lpspi_Ip_ReadData (u8Instance_29(D), numberOfReads_22);

  <bb 9> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  Lpspi_Ip_PushDataProcess (u8Instance_29(D));

  <bb 10> [local count: 365072220]:
  # bErrorFlag_23 = PHI <1(3), 0(9)>
  # DEBUG bErrorFlag => bErrorFlag_23
  # DEBUG BEGIN_STMT
  _16 = state_32->rxIndex;
  _17 = state_32->expectedFifoReads;
  if (_16 == _17)
    goto <bb 12>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 11> [local count: 240947665]:
  if (bErrorFlag_23 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 12> [local count: 244598387]:
  # DEBUG BEGIN_STMT
  _18 = state_32->bKeepCs;
  if (_18 != 0)
    goto <bb 13>; [67.00%]
  else
    goto <bb 14>; [33.00%]

  <bb 13> [local count: 163880919]:
  if (bErrorFlag_23 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 14> [local count: 162657928]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_12 ();
  # DEBUG BEGIN_STMT
  _19 ={v} base_31->CR;
  _20 = _19 & 4294967294;
  base_31->CR ={v} _20;
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_12 ();

  <bb 15> [local count: 244598387]:
  # DEBUG BEGIN_STMT
  base_31->IER ={v} 0;
  # DEBUG BEGIN_STMT
  if (bErrorFlag_23 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 16> [local count: 122299194]:
  # DEBUG BEGIN_STMT
  state_32->status = 3;
  goto <bb 18>; [100.00%]

  <bb 17> [local count: 122299194]:
  # DEBUG BEGIN_STMT
  state_32->status = 1;

  <bb 18> [local count: 244598387]:
  # DEBUG BEGIN_STMT
  _21 = state_32->callback;
  if (_21 != 0B)
    goto <bb 19>; [70.00%]
  else
    goto <bb 22>; [30.00%]

  <bb 19> [local count: 171218871]:
  # DEBUG BEGIN_STMT
  if (bErrorFlag_23 != 0)
    goto <bb 20>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 20> [local count: 85609436]:
  # DEBUG BEGIN_STMT
  _21 (u8Instance_29(D), 1);
  goto <bb 22>; [100.00%]

  <bb 21> [local count: 85609436]:
  # DEBUG BEGIN_STMT
  _21 (u8Instance_29(D), 0);

  <bb 22> [local count: 1073741824]:
  return;

}



;; Function Lpspi_Ip_DeInit (Lpspi_Ip_DeInit, funcdef_no=6, decl_uid=4337, cgraph_uid=7, symbol_order=9)

Lpspi_Ip_DeInit (uint8 u8Instance)
{
  volatile boolean x;
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  const struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  _Bool x.0_14;
  _Bool x.0_15;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_14 ={v} x;
  if (x.0_14 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

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

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

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_7(D);
  base_9 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_9
  # DEBUG BEGIN_STMT
  state_10 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_10
  # DEBUG BEGIN_STMT
  if (state_10 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_15 ={v} x;
  if (x.0_15 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 32212]:

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 14> [local count: 322122547]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _2 = state_10->status;
  if (_2 == 2)
    goto <bb 10>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 9> [local count: 99214]:
  # DEBUG BEGIN_STMT
  _3 ={v} base_9->CR;
  _4 = _3 | 2;
  base_9->CR ={v} _4;
  # DEBUG BEGIN_STMT
  base_9->CR ={v} 0;
  # DEBUG BEGIN_STMT
  Lpspi_Ip_StateStructureArray[_1] = 0B;

  <bb 10> [local count: 289910]:
  # status_5 = PHI <1(3), 1(6), 1(8), 0(9)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_5
  # DEBUG BEGIN_STMT
  return status_5;

}



;; Function Lpspi_Ip_SyncTransmit (Lpspi_Ip_SyncTransmit, funcdef_no=7, decl_uid=4343, cgraph_uid=8, symbol_order=10)

Lpspi_Ip_SyncTransmit (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 * pu8TxBuffer, uint8 * pu8RxBuffer, uint16 u16Length, uint32 u32TimeOut)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  uint8 u8Instance;
  uint32 ElapsedTicks;
  uint32 CurrentTicks;
  uint32 TimeoutTicks;
  Lpspi_Ip_StatusType DataProcessStatus;
  Lpspi_Ip_StatusType status;
  uint8 numberOfReads;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  struct Lpspi_Ip_DeviceParamsType * _2;
  unsigned char _3;
  short unsigned int _4;
  short unsigned int _5;
  <unnamed type> _6;
  struct Lpspi_Ip_DeviceParamsType * _7;
  unsigned char _8;
  _Bool _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  unsigned char _14;
  int _15;
  int _16;
  int _17;
  int _18;
  unsigned char _19;
  unsigned char _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  short unsigned int _25;
  short unsigned int _26;
  _Bool _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _78;
  _Bool x.0_86;
  _Bool x.0_87;
  _Bool x.0_88;
  _Bool x.0_89;
  _Bool x.0_90;
  _Bool x.0_91;

  <bb 2> [local count: 613566]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG status => 0
  # DEBUG BEGIN_STMT
  # DEBUG DataProcessStatus => 1
  # DEBUG BEGIN_STMT
  TimeoutTicks_47 = OsIf_MicrosToTicks (u32TimeOut_45(D), 0);
  # DEBUG TimeoutTicks => TimeoutTicks_47
  # DEBUG BEGIN_STMT
  CurrentTicks = 0;
  # DEBUG BEGIN_STMT
  # DEBUG ElapsedTicks => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8Instance => 0
  # DEBUG BEGIN_STMT
  if (pExternalDevice_49(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 184070]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_86 ={v} x;
  if (x.0_86 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 48>; [50.00%]

  <bb 48> [local count: 92035]:

  <bb 4> [local count: 920350133]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 54> [local count: 920350133]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 429496]:
  # DEBUG BEGIN_STMT
  if (u16Length_50(D) == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_87 ={v} x;
  if (x.0_87 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 49>; [50.00%]

  <bb 49> [local count: 107374]:

  <bb 7> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 55> [local count: 1073741824]:
  goto <bb 7>; [100.00%]

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

  <bb 9> [local count: 107374]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_88 ={v} x;
  if (x.0_88 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 50>; [50.00%]

  <bb 50> [local count: 53687]:

  <bb 10> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 56> [local count: 536870912]:
  goto <bb 10>; [100.00%]

  <bb 11> [local count: 107374]:
  # DEBUG BEGIN_STMT
  u8Instance_51 = pExternalDevice_49(D)->u8Instance;
  # DEBUG u8Instance => u8Instance_51
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_51;
  base_52 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_52
  # DEBUG BEGIN_STMT
  state_53 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_53
  # DEBUG BEGIN_STMT
  if (state_53 == 0B)
    goto <bb 12>; [30.00%]
  else
    goto <bb 14>; [70.00%]

  <bb 12> [local count: 32212]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_89 ={v} x;
  if (x.0_89 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 51>; [50.00%]

  <bb 51> [local count: 16106]:

  <bb 13> [local count: 161061273]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 57> [local count: 161061273]:
  goto <bb 13>; [100.00%]

  <bb 14> [local count: 75162]:
  # DEBUG BEGIN_STMT
  _2 = pExternalDevice_49(D)->pDeviceParams;
  _3 = _2->u8FrameSize;
  if (_3 > 16)
    goto <bb 15>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 15> [local count: 37581]:
  # DEBUG BEGIN_STMT
  _4 = u16Length_50(D) & 3;
  if (_4 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 16> [local count: 18790]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_90 ={v} x;
  if (x.0_90 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 52>; [50.00%]

  <bb 52> [local count: 9395]:

  <bb 17> [local count: 93952409]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 58> [local count: 93952409]:
  goto <bb 17>; [100.00%]

  <bb 18> [local count: 37581]:
  # DEBUG BEGIN_STMT
  if (_3 > 8)
    goto <bb 19>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 19> [local count: 18790]:
  # DEBUG BEGIN_STMT
  _5 = u16Length_50(D) & 1;
  if (_5 != 0)
    goto <bb 20>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 20> [local count: 9395]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_91 ={v} x;
  if (x.0_91 != 0)
    goto <bb 47>; [50.00%]
  else
    goto <bb 53>; [50.00%]

  <bb 53> [local count: 4698]:

  <bb 21> [local count: 46976205]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 59> [local count: 46976205]:
  goto <bb 21>; [100.00%]

  <bb 22> [local count: 46976]:
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_08 ();
  # DEBUG BEGIN_STMT
  _6 = state_53->status;
  if (_6 == 2)
    goto <bb 23>; [34.00%]
  else
    goto <bb 24>; [66.00%]

  <bb 23> [local count: 15972]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08 ();
  # DEBUG BEGIN_STMT
  # DEBUG status => 1
  goto <bb 47>; [100.00%]

  <bb 24> [local count: 31004]:
  # DEBUG BEGIN_STMT
  state_53->status = 2;
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08 ();
  # DEBUG BEGIN_STMT
  base_52->DER ={v} 0;
  # DEBUG BEGIN_STMT
  base_52->IER ={v} 0;
  # DEBUG BEGIN_STMT
  _7 = pExternalDevice_49(D)->pDeviceParams;
  _8 = _7->u8FrameSize;
  state_53->u8FrameSize = _8;
  # DEBUG BEGIN_STMT
  _9 = _7->lsb;
  state_53->lsb = _9;
  # DEBUG BEGIN_STMT
  _10 = _7->u32DefaultData;
  state_53->u32DefaultData = _10;
  # DEBUG BEGIN_STMT
  state_53->pExternalDevice = pExternalDevice_49(D);
  # DEBUG BEGIN_STMT
  Lpspi_TransmitTxInit (u8Instance_51, pu8TxBuffer_64(D), u16Length_50(D));
  # DEBUG BEGIN_STMT
  Lpspi_TransmitRxInit (u8Instance_51, pu8RxBuffer_66(D), u16Length_50(D));
  # DEBUG BEGIN_STMT
  _11 = OsIf_GetCounter (0);
  CurrentTicks = _11;
  # DEBUG BEGIN_STMT
  goto <bb 39>; [100.00%]

  <bb 25> [local count: 258823]:
  # DEBUG BEGIN_STMT
  _12 ={v} base_52->FSR;
  _13 = _12 >> 16;
  _14 = (unsigned char) _13;
  numberOfReads_70 = _14 & 7;
  # DEBUG numberOfReads => numberOfReads_70
  # DEBUG BEGIN_STMT
  if (numberOfReads_70 > 4)
    goto <bb 27>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 26> [local count: 129411]:
  # DEBUG numberOfReads => numberOfReads_70
  # DEBUG BEGIN_STMT
  if (numberOfReads_70 != 0)
    goto <bb 27>; [50.00%]
  else
    goto <bb 32>; [50.00%]

  <bb 27> [local count: 194117]:
  # numberOfReads_84 = PHI <numberOfReads_70(26), 4(25)>
  # DEBUG numberOfReads => NULL
  # DEBUG BEGIN_STMT
  _15 = (int) numberOfReads_84;
  _16 = (int) _26;
  _17 = (int) _25;
  _18 = _16 - _17;
  if (_15 > _18)
    goto <bb 28>; [50.00%]
  else
    goto <bb 29>; [50.00%]

  <bb 28> [local count: 97059]:
  # DEBUG BEGIN_STMT
  _19 = (unsigned char) _26;
  _20 = (unsigned char) _25;
  numberOfReads_71 = _19 - _20;
  # DEBUG numberOfReads => numberOfReads_71

  <bb 29> [local count: 194117]:
  # numberOfReads_30 = PHI <numberOfReads_84(27), numberOfReads_71(28)>
  # DEBUG numberOfReads => numberOfReads_30
  # DEBUG BEGIN_STMT
  if (numberOfReads_30 != 0)
    goto <bb 30>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 30> [local count: 97059]:
  # DEBUG BEGIN_STMT
  # DEBUG ElapsedTicks => 0

  <bb 31> [local count: 194117]:
  # ElapsedTicks_34 = PHI <ElapsedTicks_37(29), 0(30)>
  # DEBUG ElapsedTicks => ElapsedTicks_34
  # DEBUG BEGIN_STMT
  Lpspi_Ip_ReadData (u8Instance_51, numberOfReads_30);

  <bb 32> [local count: 258823]:
  # ElapsedTicks_35 = PHI <ElapsedTicks_37(26), ElapsedTicks_34(31)>
  # DEBUG ElapsedTicks => ElapsedTicks_35
  # DEBUG BEGIN_STMT
  DataProcessStatus_74 = Lpspi_Ip_PushDataProcess (u8Instance_51);
  # DEBUG DataProcessStatus => DataProcessStatus_74
  # DEBUG BEGIN_STMT
  if (DataProcessStatus_74 == 0)
    goto <bb 33>; [50.00%]
  else
    goto <bb 34>; [50.00%]

  <bb 33> [local count: 129411]:
  # DEBUG BEGIN_STMT
  # DEBUG ElapsedTicks => 0

  <bb 34> [local count: 258823]:
  # ElapsedTicks_36 = PHI <ElapsedTicks_35(32), 0(33)>
  # DEBUG ElapsedTicks => ElapsedTicks_36
  # DEBUG BEGIN_STMT
  _21 ={v} base_52->SR;
  _22 = _21 & 6144;
  if (_22 != 0)
    goto <bb 35>; [50.00%]
  else
    goto <bb 36>; [50.00%]

  <bb 35> [local count: 129411]:
  # DEBUG BEGIN_STMT
  _23 ={v} base_52->SR;
  _24 = _23 & 6144;
  base_52->SR ={v} _24;
  # DEBUG BEGIN_STMT
  # DEBUG status => 2

  <bb 36> [local count: 258823]:
  # status_31 = PHI <0(34), 2(35)>
  # DEBUG status => status_31
  # DEBUG BEGIN_STMT
  _78 = OsIf_GetElapsed (&CurrentTicks, 0);
  ElapsedTicks_79 = ElapsedTicks_36 + _78;
  # DEBUG ElapsedTicks => ElapsedTicks_79
  # DEBUG BEGIN_STMT
  if (TimeoutTicks_47 <= ElapsedTicks_79)
    goto <bb 37>; [50.00%]
  else
    goto <bb 38>; [50.00%]

  <bb 37> [local count: 129411]:
  # DEBUG BEGIN_STMT
  # DEBUG status => 3

  <bb 38> [local count: 258823]:
  # status_43 = PHI <status_31(36), 3(37)>
  # ElapsedTicks_54 = PHI <ElapsedTicks_79(36), ElapsedTicks_79(37)>

  <bb 39> [local count: 289827]:
  # status_32 = PHI <status_43(38), 0(24)>
  # ElapsedTicks_37 = PHI <ElapsedTicks_54(38), 0(24)>
  # DEBUG ElapsedTicks => ElapsedTicks_37
  # DEBUG status => status_32
  # DEBUG BEGIN_STMT
  _25 = state_53->rxIndex;
  _26 = state_53->expectedFifoReads;
  if (_25 != _26)
    goto <bb 40>; [94.50%]
  else
    goto <bb 41>; [5.50%]

  <bb 40> [local count: 273887]:
  if (status_32 == 0)
    goto <bb 25>; [94.50%]
  else
    goto <bb 41>; [5.50%]

  <bb 41> [local count: 31004]:
  # status_75 = PHI <status_32(39), status_32(40)>
  # DEBUG BEGIN_STMT
  _27 = state_53->bKeepCs;
  if (_27 != 0)
    goto <bb 42>; [50.00%]
  else
    goto <bb 43>; [50.00%]

  <bb 42> [local count: 15502]:
  if (status_75 != 0)
    goto <bb 43>; [50.00%]
  else
    goto <bb 44>; [50.00%]

  <bb 43> [local count: 23253]:
  # DEBUG BEGIN_STMT
  _28 ={v} base_52->CR;
  _29 = _28 & 4294967294;
  base_52->CR ={v} _29;

  <bb 44> [local count: 31004]:
  # DEBUG BEGIN_STMT
  if (status_75 != 0)
    goto <bb 45>; [50.00%]
  else
    goto <bb 46>; [50.00%]

  <bb 45> [local count: 15502]:
  # DEBUG BEGIN_STMT
  state_53->status = 3;
  goto <bb 47>; [100.00%]

  <bb 46> [local count: 15502]:
  # DEBUG BEGIN_STMT
  state_53->status = 1;

  <bb 47> [local count: 330271]:
  # status_33 = PHI <1(3), 1(6), 1(9), 1(16), 1(23), status_75(45), 0(46), 1(12), 1(20)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_33
  # DEBUG BEGIN_STMT
  CurrentTicks ={v} {CLOBBER};
  return status_33;

}



;; Function Lpspi_Ip_AsyncTransmit (Lpspi_Ip_AsyncTransmit, funcdef_no=10, decl_uid=4349, cgraph_uid=11, symbol_order=13)

Lpspi_Ip_AsyncTransmit (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 * pu8TxBuffer, uint8 * pu8RxBuffer, uint16 u16Length, void (*Lpspi_Ip_CallbackType) (uint8, Lpspi_Ip_EventType) EndCallback)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  uint8 u8Instance;
  Lpspi_Ip_StatusType status;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  struct Lpspi_Ip_DeviceParamsType * _2;
  unsigned char _3;
  short unsigned int _4;
  short unsigned int _5;
  <unnamed type> _6;
  struct Lpspi_Ip_DeviceParamsType * _7;
  unsigned char _8;
  _Bool _9;
  long unsigned int _10;
  <unnamed type> _11;
  _Bool x.0_37;
  _Bool x.0_38;
  _Bool x.0_39;
  _Bool x.0_40;
  _Bool x.0_41;

  <bb 2> [local count: 613566]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG status => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8Instance => 0
  # DEBUG BEGIN_STMT
  if (pExternalDevice_14(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 184070]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_37 ={v} x;
  if (x.0_37 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 25> [local count: 92035]:

  <bb 4> [local count: 920350133]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 30> [local count: 920350133]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 429496]:
  # DEBUG BEGIN_STMT
  if (u16Length_15(D) == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_38 ={v} x;
  if (x.0_38 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 26> [local count: 107374]:

  <bb 7> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 8> [local count: 214748]:
  # DEBUG BEGIN_STMT
  u8Instance_17 = pExternalDevice_14(D)->u8Instance;
  # DEBUG u8Instance => u8Instance_17
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_17;
  base_18 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_18
  # DEBUG BEGIN_STMT
  state_19 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_19
  # DEBUG BEGIN_STMT
  if (state_19 == 0B)
    goto <bb 9>; [30.00%]
  else
    goto <bb 11>; [70.00%]

  <bb 9> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_39 ={v} x;
  if (x.0_39 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 27>; [50.00%]

  <bb 27> [local count: 32212]:

  <bb 10> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 32> [local count: 322122547]:
  goto <bb 10>; [100.00%]

  <bb 11> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _2 = pExternalDevice_14(D)->pDeviceParams;
  _3 = _2->u8FrameSize;
  if (_3 > 16)
    goto <bb 12>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 12> [local count: 75162]:
  # DEBUG BEGIN_STMT
  _4 = u16Length_15(D) & 3;
  if (_4 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 13> [local count: 37581]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_40 ={v} x;
  if (x.0_40 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 28>; [50.00%]

  <bb 28> [local count: 18790]:

  <bb 14> [local count: 187904819]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 33> [local count: 187904819]:
  goto <bb 14>; [100.00%]

  <bb 15> [local count: 75162]:
  # DEBUG BEGIN_STMT
  if (_3 > 8)
    goto <bb 16>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 16> [local count: 37581]:
  # DEBUG BEGIN_STMT
  _5 = u16Length_15(D) & 1;
  if (_5 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 17> [local count: 18790]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_41 ={v} x;
  if (x.0_41 != 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 29>; [50.00%]

  <bb 29> [local count: 9395]:

  <bb 18> [local count: 93952409]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 34> [local count: 93952409]:
  goto <bb 18>; [100.00%]

  <bb 19> [local count: 93952]:
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_09 ();
  # DEBUG BEGIN_STMT
  _6 = state_19->status;
  if (_6 == 2)
    goto <bb 20>; [34.00%]
  else
    goto <bb 21>; [66.00%]

  <bb 20> [local count: 31944]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09 ();
  # DEBUG BEGIN_STMT
  # DEBUG status => 1
  goto <bb 24>; [100.00%]

  <bb 21> [local count: 62008]:
  # DEBUG BEGIN_STMT
  state_19->status = 2;
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09 ();
  # DEBUG BEGIN_STMT
  _7 = pExternalDevice_14(D)->pDeviceParams;
  _8 = _7->u8FrameSize;
  state_19->u8FrameSize = _8;
  # DEBUG BEGIN_STMT
  _9 = _7->lsb;
  state_19->lsb = _9;
  # DEBUG BEGIN_STMT
  _10 = _7->u32DefaultData;
  state_19->u32DefaultData = _10;
  # DEBUG BEGIN_STMT
  state_19->pExternalDevice = pExternalDevice_14(D);
  # DEBUG BEGIN_STMT
  state_19->callback = EndCallback_27(D);
  # DEBUG BEGIN_STMT
  Lpspi_TransmitTxInit (u8Instance_17, pu8TxBuffer_29(D), u16Length_15(D));
  # DEBUG BEGIN_STMT
  Lpspi_TransmitRxInit (u8Instance_17, pu8RxBuffer_31(D), u16Length_15(D));
  # DEBUG BEGIN_STMT
  base_18->DER ={v} 0;
  # DEBUG BEGIN_STMT
  _11 = state_19->transferMode;
  switch (_11) <default: <L29> [33.33%], case 0: <L20> [33.33%], case 1: <L21> [33.33%]>

  <bb 22> [local count: 20667]:
<L20>:
  # DEBUG BEGIN_STMT
  base_18->IER ={v} 0;
  # DEBUG BEGIN_STMT
  goto <bb 24>; [100.00%]

  <bb 23> [local count: 20667]:
<L21>:
  # DEBUG BEGIN_STMT
  base_18->IER ={v} 6147;
  # DEBUG BEGIN_STMT

  <bb 24> [local count: 353753]:
  # status_12 = PHI <1(3), 1(6), 1(13), 1(20), 0(22), 0(23), 0(21), 1(9), 1(17)>
<L29>:
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_12
  # DEBUG BEGIN_STMT
  return status_12;

}



;; Function Lpspi_Ip_ManageBuffers (Lpspi_Ip_ManageBuffers, funcdef_no=11, decl_uid=4353, cgraph_uid=12, symbol_order=14)

Lpspi_Ip_ManageBuffers (uint8 u8Instance)
{
  volatile boolean x;
  volatile boolean x;
  const struct Lpspi_Ip_StateStructureType * state;
  const struct LPSPI_Type * base;
  int _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  _Bool x.0_11;
  _Bool x.0_12;

  <bb 2> [local count: 429496]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (u8Instance_6(D) > 5)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_11 ={v} x;
  if (x.0_11 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 107374]:

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

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

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_6(D);
  base_8 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_8
  # DEBUG BEGIN_STMT
  state_9 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_9
  # DEBUG BEGIN_STMT
  if (state_9 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_12 ={v} x;
  if (x.0_12 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 13> [local count: 32212]:

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 322122547]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _2 = state_9->transferMode;
  if (_2 == 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 9> [local count: 75162]:
  # DEBUG BEGIN_STMT
  _3 ={v} base_8->SR;
  _4 = _3 & 3;
  if (_4 != 0)
    goto <bb 10>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 10> [local count: 24803]:
  # DEBUG BEGIN_STMT
  Lpspi_Ip_TransferProcess (u8Instance_6(D));

  <bb 11> [local count: 289910]:
  # DEBUG x => NULL
  # DEBUG x => NULL
  return;

}



;; Function Lpspi_Ip_UpdateFrameSize (Lpspi_Ip_UpdateFrameSize, funcdef_no=12, decl_uid=4356, cgraph_uid=13, symbol_order=15)

Lpspi_Ip_UpdateFrameSize (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint8 u8FrameSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  const struct Lpspi_Ip_StateStructureType * state;
  unsigned char _1;
  unsigned char _2;
  int _3;
  <unnamed type> _4;
  struct Lpspi_Ip_DeviceParamsType * _5;
  _Bool x.0_13;
  _Bool x.0_14;
  _Bool x.0_15;

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

  <bb 3> [local count: 184070]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_13 ={v} x;
  if (x.0_13 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 92035]:

  <bb 4> [local count: 920350133]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 920350133]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 429496]:
  # DEBUG BEGIN_STMT
  _1 = u8FrameSize_9(D) + 252;
  if (_1 > 28)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_14 ={v} x;
  if (x.0_14 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 107374]:

  <bb 7> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 8> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _2 = pExternalDevice_8(D)->u8Instance;
  _3 = (int) _2;
  state_11 = Lpspi_Ip_StateStructureArray[_3];
  # DEBUG state => state_11
  # DEBUG BEGIN_STMT
  if (state_11 == 0B)
    goto <bb 9>; [30.00%]
  else
    goto <bb 11>; [70.00%]

  <bb 9> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_15 ={v} x;
  if (x.0_15 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [local count: 32212]:

  <bb 10> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 19> [local count: 322122547]:
  goto <bb 10>; [100.00%]

  <bb 11> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _4 = state_11->status;
  if (_4 != 2)
    goto <bb 12>; [66.00%]
  else
    goto <bb 13>; [34.00%]

  <bb 12> [local count: 99214]:
  # DEBUG BEGIN_STMT
  _5 = pExternalDevice_8(D)->pDeviceParams;
  _5->u8FrameSize = u8FrameSize_9(D);

  <bb 13> [local count: 381945]:
  # status_6 = PHI <1(3), 1(6), 1(9), 0(12), 1(11)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_6
  # DEBUG BEGIN_STMT
  return status_6;

}



;; Function Lpspi_Ip_UpdateLsb (Lpspi_Ip_UpdateLsb, funcdef_no=13, decl_uid=4359, cgraph_uid=14, symbol_order=16)

Lpspi_Ip_UpdateLsb (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, boolean bLsb)
{
  volatile boolean x;
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  const struct Lpspi_Ip_StateStructureType * state;
  unsigned char _1;
  int _2;
  <unnamed type> _3;
  struct Lpspi_Ip_DeviceParamsType * _4;
  _Bool x.0_12;
  _Bool x.0_13;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_12 ={v} x;
  if (x.0_12 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

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

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

  <bb 5> [local count: 501079]:
  # DEBUG BEGIN_STMT
  _1 = pExternalDevice_7(D)->u8Instance;
  _2 = (int) _1;
  state_9 = Lpspi_Ip_StateStructureArray[_2];
  # DEBUG state => state_9
  # DEBUG BEGIN_STMT
  if (state_9 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 150324]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_13 ={v} x;
  if (x.0_13 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 75162]:

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

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

  <bb 8> [local count: 350755]:
  # DEBUG BEGIN_STMT
  _3 = state_9->status;
  if (_3 != 2)
    goto <bb 9>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 9> [local count: 231498]:
  # DEBUG BEGIN_STMT
  _4 = pExternalDevice_7(D)->pDeviceParams;
  _4->lsb = bLsb_10(D);

  <bb 10> [local count: 533291]:
  # status_5 = PHI <1(3), 1(6), 0(9), 1(8)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_5
  # DEBUG BEGIN_STMT
  return status_5;

}



;; Function Lpspi_Ip_UpdateDefaultTransmitData (Lpspi_Ip_UpdateDefaultTransmitData, funcdef_no=14, decl_uid=4362, cgraph_uid=15, symbol_order=17)

Lpspi_Ip_UpdateDefaultTransmitData (const struct Lpspi_Ip_ExternalDeviceType * pExternalDevice, uint32 u32DefaultData)
{
  volatile boolean x;
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  const struct Lpspi_Ip_StateStructureType * state;
  unsigned char _1;
  int _2;
  <unnamed type> _3;
  struct Lpspi_Ip_DeviceParamsType * _4;
  _Bool x.0_12;
  _Bool x.0_13;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_12 ={v} x;
  if (x.0_12 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

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

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

  <bb 5> [local count: 501079]:
  # DEBUG BEGIN_STMT
  _1 = pExternalDevice_7(D)->u8Instance;
  _2 = (int) _1;
  state_9 = Lpspi_Ip_StateStructureArray[_2];
  # DEBUG state => state_9
  # DEBUG BEGIN_STMT
  if (state_9 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 150324]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_13 ={v} x;
  if (x.0_13 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 75162]:

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

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

  <bb 8> [local count: 350755]:
  # DEBUG BEGIN_STMT
  _3 = state_9->status;
  if (_3 != 2)
    goto <bb 9>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 9> [local count: 231498]:
  # DEBUG BEGIN_STMT
  _4 = pExternalDevice_7(D)->pDeviceParams;
  _4->u32DefaultData = u32DefaultData_10(D);

  <bb 10> [local count: 533291]:
  # status_5 = PHI <1(3), 1(6), 0(9), 1(8)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_5
  # DEBUG BEGIN_STMT
  return status_5;

}



;; Function Lpspi_Ip_UpdateTransferMode (Lpspi_Ip_UpdateTransferMode, funcdef_no=15, decl_uid=4365, cgraph_uid=16, symbol_order=18)


Symbols to be put in SSA form
{ D.4899 D.5006 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 19
Number of blocks to update: 18 ( 95%)


Merging blocks 4 and 11
Removing basic block 6
Removing basic block 10
Removing basic block 13
Removing basic block 15
Merging blocks 16 and 17
Merging blocks 18 and 12
;; 4 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11
;;
;; Loop 1
;;  header 4, latch 4
;;  depth 1, outer 0
;;  nodes: 4
;;
;; Loop 3
;;  header 7, latch 7
;;  depth 1, outer 0
;;  nodes: 7
;; 2 succs { 3 5 }
;; 3 succs { 11 4 }
;; 4 succs { 4 }
;; 5 succs { 6 9 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 11 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 1 }
Lpspi_Ip_UpdateTransferMode (uint8 u8Instance, Lpspi_Ip_ModeType Mode)
{
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  Lpspi_Ip_StatusType D.5006;
  volatile boolean x;
  Lpspi_Ip_StatusType status;
  struct Lpspi_Ip_StateStructureType * state;
  int _1;
  <unnamed type> _2;
  _Bool x.0_12;
  _Bool x.0_14;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_12 ={v} x;
  if (x.0_12 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_5(D);
  state_7 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_7
  # DEBUG BEGIN_STMT
  if (state_7 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 9>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG D#1 => u8Instance_5(D)
  # DEBUG D#2 => Mode_9(D)
  # DEBUG INLINE_ENTRY Lpspi_Ip_UpdateTransferMode
  # DEBUG D#4 => D#1
  # DEBUG u8Instance => D#4
  # DEBUG D#3 => D#2
  # DEBUG Mode => D#3
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_14 ={v} x;
  if (x.0_14 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 32212]:
  # status_15 = PHI <1(6)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_15
  # DEBUG BEGIN_STMT
  _17 = status_15;
  # DEBUG state => NULL
  # DEBUG status => NULL
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG u8Instance => NULL
  # DEBUG Mode => NULL
  status_11 = _17;
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _2 = state_7->status;
  if (_2 != 2)
    goto <bb 10>; [66.00%]
  else
    goto <bb 11>; [34.00%]

  <bb 10> [local count: 99214]:
  # DEBUG BEGIN_STMT
  state_7->transferMode = Mode_9(D);

  <bb 11> [local count: 289910]:
  # status_3 = PHI <1(3), status_11(8), 0(10), 1(9)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_3
  # DEBUG BEGIN_STMT
  return status_3;

}



;; Function Lpspi_Ip_Init (Lpspi_Ip_Init, funcdef_no=5, decl_uid=4335, cgraph_uid=6, symbol_order=8)

Lpspi_Ip_Init (const struct Lpspi_Ip_ConfigType * pPhyUnitConfigPtr)
{
  volatile boolean x;
  volatile boolean x;
  uint8 u8Instance;
  Lpspi_Ip_StatusType status;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  struct Lpspi_Ip_StateStructureType * _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  _Bool _6;
  <unnamed type> _7;
  _Bool x.0_24;
  _Bool x.0_25;

  <bb 2> [local count: 371543]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG status => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8Instance => 0
  # DEBUG BEGIN_STMT
  if (pPhyUnitConfigPtr_10(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 111463]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_24 ={v} x;
  if (x.0_24 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 55731]:

  <bb 4> [local count: 557315087]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 5> [local count: 260080]:
  # DEBUG BEGIN_STMT
  u8Instance_12 = pPhyUnitConfigPtr_10(D)->u8Instance;
  # DEBUG u8Instance => u8Instance_12
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_12;
  state_13 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_13
  # DEBUG BEGIN_STMT
  base_14 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_14
  # DEBUG BEGIN_STMT
  if (state_13 != 0B)
    goto <bb 6>; [82.57%]
  else
    goto <bb 8>; [17.43%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_25 ={v} x;
  if (x.0_25 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 1073741824]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 45332]:
  # DEBUG BEGIN_STMT
  _2 = pPhyUnitConfigPtr_10(D)->stateStructure;
  Lpspi_Ip_StateStructureArray[_1] = _2;
  # DEBUG BEGIN_STMT
  # DEBUG state => _2
  # DEBUG BEGIN_STMT
  _3 = pPhyUnitConfigPtr_10(D)->cr;
  _4 = _3 | 8;
  base_14->CR ={v} _4;
  # DEBUG BEGIN_STMT
  _5 = pPhyUnitConfigPtr_10(D)->cfgr1;
  base_14->CFGR1 ={v} _5;
  # DEBUG BEGIN_STMT
  base_14->FCR ={v} 2;
  # DEBUG BEGIN_STMT
  _6 = pPhyUnitConfigPtr_10(D)->bSlaveMode;
  _2->bSlaveMode = _6;
  # DEBUG BEGIN_STMT
  _2->bKeepCs = 0;
  # DEBUG BEGIN_STMT
  _2->bFirstCmd = 1;
  # DEBUG BEGIN_STMT
  _2->status = 1;
  # DEBUG BEGIN_STMT
  _7 = pPhyUnitConfigPtr_10(D)->transferMode;
  Lpspi_Ip_UpdateTransferMode (u8Instance_12, _7);

  <bb 9> [local count: 208437]:
  # status_8 = PHI <1(3), 1(6), 0(8)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG status => status_8
  # DEBUG BEGIN_STMT
  return status_8;

}



;; Function Lpspi_Ip_Cancel (Lpspi_Ip_Cancel, funcdef_no=16, decl_uid=4367, cgraph_uid=17, symbol_order=19)

Lpspi_Ip_Cancel (uint8 u8Instance)
{
  volatile boolean x;
  volatile boolean x;
  uint32 u32Cfgr1;
  struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  _Bool x.0_23;
  _Bool x.0_24;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_23 ={v} x;
  if (x.0_23 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 107374]:

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

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

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_11(D);
  base_13 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_13
  # DEBUG BEGIN_STMT
  state_14 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_14
  # DEBUG BEGIN_STMT
  if (state_14 == 0B)
    goto <bb 6>; [46.53%]
  else
    goto <bb 8>; [53.47%]

  <bb 6> [local count: 99922]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_24 ={v} x;
  if (x.0_24 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 13> [local count: 49961]:

  <bb 7> [local count: 499612071]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 499612071]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 114826]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10 ();
  # DEBUG BEGIN_STMT
  _2 = state_14->status;
  if (_2 == 2)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 39041]:
  # DEBUG BEGIN_STMT
  _3 ={v} base_13->CR;
  _4 = _3 & 4294967294;
  base_13->CR ={v} _4;
  # DEBUG BEGIN_STMT
  u32Cfgr1_17 ={v} base_13->CFGR1;
  # DEBUG u32Cfgr1 => u32Cfgr1_17
  # DEBUG BEGIN_STMT
  _5 ={v} base_13->CR;
  _6 = _5 | 2;
  base_13->CR ={v} _6;
  # DEBUG BEGIN_STMT
  _7 ={v} base_13->CR;
  _8 = _7 & 4294967293;
  base_13->CR ={v} _8;
  # DEBUG BEGIN_STMT
  base_13->CFGR1 ={v} u32Cfgr1_17;
  # DEBUG BEGIN_STMT
  state_14->status = 1;

  <bb 10> [local count: 114826]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10 ();

  <bb 11> [local count: 272161]:
  # DEBUG x => NULL
  # DEBUG x => NULL
  return;

}



;; Function Lpspi_Ip_IrqHandler (Lpspi_Ip_IrqHandler, funcdef_no=17, decl_uid=4369, cgraph_uid=18, symbol_order=20)

Lpspi_Ip_IrqHandler (uint8 u8Instance)
{
  uint32 u32IrqFlags;
  const struct Lpspi_Ip_StateStructureType * state;
  struct LPSPI_Type * base;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_7(D);
  base_9 = Lpspi_Ip_Bases[_1];
  # DEBUG base => base_9
  # DEBUG BEGIN_STMT
  state_10 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_10
  # DEBUG BEGIN_STMT
  # DEBUG u32IrqFlags => 0
  # DEBUG BEGIN_STMT
  if (state_10 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _2 ={v} base_9->SR;
  u32IrqFlags_12 = _2 & 6147;
  # DEBUG u32IrqFlags => u32IrqFlags_12
  # DEBUG BEGIN_STMT
  _3 ={v} base_9->IER;
  u32IrqFlags_13 = _3 & u32IrqFlags_12;
  # DEBUG u32IrqFlags => u32IrqFlags_13
  # DEBUG BEGIN_STMT
  if (u32IrqFlags_13 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 248034361]:
  # DEBUG BEGIN_STMT
  Lpspi_Ip_TransferProcess (u8Instance_7(D));
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 503584916]:
  # DEBUG BEGIN_STMT
  _4 ={v} base_9->SR;
  base_9->SR ={v} _4;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  _5 ={v} base_9->SR;
  base_9->SR ={v} _5;

  <bb 7> [local count: 1073741824]:
  return;

}



;; Function Lpspi_Ip_GetStatus (Lpspi_Ip_GetStatus, funcdef_no=18, decl_uid=4351, cgraph_uid=19, symbol_order=21)

Lpspi_Ip_GetStatus (uint8 u8Instance)
{
  volatile boolean x;
  Lpspi_Ip_HwStatusType status;
  const struct Lpspi_Ip_StateStructureType * state;
  int _1;
  _Bool x.0_8;

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

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_8 ={v} x;
  if (x.0_8 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 107374]:

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

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

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = (int) u8Instance_4(D);
  state_6 = Lpspi_Ip_StateStructureArray[_1];
  # DEBUG state => state_6
  # DEBUG BEGIN_STMT
  if (state_6 != 0B)
    goto <bb 6>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 6> [local count: 150324]:
  # DEBUG BEGIN_STMT
  status_7 = state_6->status;
  # DEBUG status => status_7

  <bb 7> [local count: 322122]:
  # status_2 = PHI <0(3), 0(5), status_7(6)>
  # DEBUG x => NULL
  # DEBUG status => status_2
  # DEBUG BEGIN_STMT
  return status_2;

}


