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) @05fbd8c0 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) @05f96a80 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) @05f969a0 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) @05f96460 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) @05f96380 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) @05f96000 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) @05e9d1c0 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) @05e9d9a0 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) @05e9d8c0 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) @05e9d700 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) @05e9d620 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) @05e9d540 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) @05e9d460 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) @05e9d380 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) @05e8f0e0 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) @05e8fd20 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) @05e8fa80 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) @05e8f7e0 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) @05e8f540 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) @05e8f2a0 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) @05e8f000 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) @05e599a0 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) @05e59380 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) @05e59ee0 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) @05e59c40 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) @05e598c0 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) @05e59620 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) @05e592a0 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) @05e59000 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) @05dddc40 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) @05ddde00 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) @05dddb60 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) @05ddc0d8 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) @05ddc000 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) @05dd5ee8 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; [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 ; [100.00%] [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 ; [70.00%] else goto ; [30.00%] [local count: 668941156]: # DEBUG BEGIN_STMT _3 = state_25->u8FrameSize; if (_3 <= 8) goto ; [50.00%] else goto ; [50.00%] [local count: 334470578]: # DEBUG BEGIN_STMT _4 = state_25->rxIndex; _5 = (sizetype) _4; _6 = _2 + _5; _7 = (unsigned char) data_27; *_6 = _7; goto ; [100.00%] [local count: 334470578]: # DEBUG BEGIN_STMT if (_3 <= 16) goto ; [50.00%] else goto ; [50.00%] [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 ; [100.00%] [local count: 167235289]: # DEBUG BEGIN_STMT _13 = state_25->rxIndex; _14 = (unsigned int) _13; _15 = _14 * 4; _16 = _2 + _15; *_16 = data_27; [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 [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 ; [89.00%] else goto ; [11.00%] [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; [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 ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 59055800]: # DEBUG BEGIN_STMT _17 = (unsigned char) _12; _18 = (unsigned char) _14; numberOfWrites_38 = _17 - _18; # DEBUG numberOfWrites => numberOfWrites_38 [local count: 118111600]: # numberOfWrites_26 = PHI # DEBUG numberOfWrites => numberOfWrites_26 # DEBUG BEGIN_STMT if (_12 == _14) goto ; [34.00%] else goto ; [66.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 20078972]: _22 ={v} base_33->TCR; _23 = _22 & 2097152; if (_23 != 0) goto ; [50.00%] else goto ; [50.00%] [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 [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 ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _45 = state_44->pu8TxBuffer; if (_45 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 668941156]: # DEBUG BEGIN_STMT _46 = state_44->u8FrameSize; if (_46 <= 8) goto ; [50.00%] else goto ; [50.00%] [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 ; [100.00%] [local count: 334470578]: # DEBUG BEGIN_STMT if (_46 <= 16) goto ; [50.00%] else goto ; [50.00%] [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 ; [100.00%] [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 ; [100.00%] [local count: 286689066]: # DEBUG BEGIN_STMT data_63 = state_44->u32DefaultData; # DEBUG data => data_63 [local count: 955630223]: # data_64 = PHI # 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 [local count: 1073741824]: # i_67 = PHI <0(10), i_68(18)> # DEBUG i => i_67 # DEBUG BEGIN_STMT if (numberOfWrites_26 > i_67) goto ; [89.00%] else goto ; [11.00%] [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; [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT state_8->expectedFifoReads = numberOfFrames_12(D); goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (_2 <= 16) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _3 = numberOfFrames_12(D) >> 1; state_8->expectedFifoReads = _3; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _4 = numberOfFrames_12(D) >> 2; state_8->expectedFifoReads = _4; [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; [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 ; [33.00%] else goto ; [67.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT _11 = state_39->pExternalDevice; _12 = _11->ccr; base_38->CCR ={v} _12; [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT u32TransferCommand_49 = u32TransferCommand_48 & 4292870143; # DEBUG u32TransferCommand => u32TransferCommand_49 [local count: 1073741824]: # u32TransferCommand_32 = PHI # DEBUG u32TransferCommand => u32TransferCommand_32 # DEBUG BEGIN_STMT _24 = state_39->bFirstCmd; if (_24 != 0) goto ; [33.00%] else goto ; [67.00%] [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 ; [100.00%] [local count: 719407023]: # DEBUG BEGIN_STMT _27 = u32TransferCommand_32 & 2097152; if (_27 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 359703511]: # DEBUG BEGIN_STMT _28 = u32TransferCommand_32 | 1048576; base_38->TCR ={v} _28; goto ; [100.00%] [local count: 359703511]: # DEBUG BEGIN_STMT base_38->TCR ={v} u32TransferCommand_32; [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT state_39->expectedFifoWrites = numberOfFrames_58(D); goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (_29 <= 16) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _30 = numberOfFrames_58(D) >> 1; state_39->expectedFifoWrites = _30; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _31 = numberOfFrames_58(D) >> 2; state_39->expectedFifoWrites = _31; [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; _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 (*) (uint8, Lpspi_Ip_EventType) _21; [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 ; [34.00%] else goto ; [66.00%] [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 ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 91268055]: # DEBUG numberOfReads => numberOfReads_35 # DEBUG BEGIN_STMT if (numberOfReads_35 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 136902082]: # numberOfReads_36 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 68451041]: # DEBUG BEGIN_STMT _14 = (unsigned char) _9; _15 = (unsigned char) _11; numberOfReads_37 = _14 - _15; # DEBUG numberOfReads => numberOfReads_37 [local count: 136902082]: # numberOfReads_22 = PHI # DEBUG numberOfReads => numberOfReads_22 # DEBUG BEGIN_STMT Lpspi_Ip_ReadData (u8Instance_29(D), numberOfReads_22); [local count: 182536110]: # DEBUG BEGIN_STMT Lpspi_Ip_PushDataProcess (u8Instance_29(D)); [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 ; [34.00%] else goto ; [66.00%] [local count: 240947665]: if (bErrorFlag_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 244598387]: # DEBUG BEGIN_STMT _18 = state_32->bKeepCs; if (_18 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 163880919]: if (bErrorFlag_23 != 0) goto ; [50.00%] else goto ; [50.00%] [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 (); [local count: 244598387]: # DEBUG BEGIN_STMT base_31->IER ={v} 0; # DEBUG BEGIN_STMT if (bErrorFlag_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 122299194]: # DEBUG BEGIN_STMT state_32->status = 3; goto ; [100.00%] [local count: 122299194]: # DEBUG BEGIN_STMT state_32->status = 1; [local count: 244598387]: # DEBUG BEGIN_STMT _21 = state_32->callback; if (_21 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 171218871]: # DEBUG BEGIN_STMT if (bErrorFlag_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 85609436]: # DEBUG BEGIN_STMT _21 (u8Instance_29(D), 1); goto ; [100.00%] [local count: 85609436]: # DEBUG BEGIN_STMT _21 (u8Instance_29(D), 0); [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; _2; long unsigned int _3; long unsigned int _4; _Bool x.0_14; _Bool x.0_15; [local count: 429496]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (u8Instance_7(D) > 5) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 32212]: [local count: 322122547]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 150324]: # DEBUG BEGIN_STMT _2 = state_10->status; if (_2 == 2) goto ; [34.00%] else goto ; [66.00%] [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; [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; _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; [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 92035]: [local count: 920350133]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 429496]: # DEBUG BEGIN_STMT if (u16Length_50(D) == 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 214748]: # DEBUG BEGIN_STMT if (u32TimeOut_45(D) == 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870911]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870912]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 16106]: [local count: 161061273]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 161061273]: goto ; [100.00%] [local count: 75162]: # DEBUG BEGIN_STMT _2 = pExternalDevice_49(D)->pDeviceParams; _3 = _2->u8FrameSize; if (_3 > 16) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT _4 = u16Length_50(D) & 3; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 9395]: [local count: 93952409]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 93952409]: goto ; [100.00%] [local count: 37581]: # DEBUG BEGIN_STMT if (_3 > 8) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT _5 = u16Length_50(D) & 1; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 4698]: [local count: 46976205]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 46976205]: goto ; [100.00%] [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 ; [34.00%] else goto ; [66.00%] [local count: 15972]: # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_08 (); # DEBUG BEGIN_STMT # DEBUG status => 1 goto ; [100.00%] [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 ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 129411]: # DEBUG numberOfReads => numberOfReads_70 # DEBUG BEGIN_STMT if (numberOfReads_70 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 194117]: # numberOfReads_84 = PHI # DEBUG numberOfReads => NULL # DEBUG BEGIN_STMT _15 = (int) numberOfReads_84; _16 = (int) _26; _17 = (int) _25; _18 = _16 - _17; if (_15 > _18) goto ; [50.00%] else goto ; [50.00%] [local count: 97059]: # DEBUG BEGIN_STMT _19 = (unsigned char) _26; _20 = (unsigned char) _25; numberOfReads_71 = _19 - _20; # DEBUG numberOfReads => numberOfReads_71 [local count: 194117]: # numberOfReads_30 = PHI # DEBUG numberOfReads => numberOfReads_30 # DEBUG BEGIN_STMT if (numberOfReads_30 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 97059]: # DEBUG BEGIN_STMT # DEBUG ElapsedTicks => 0 [local count: 194117]: # ElapsedTicks_34 = PHI # DEBUG ElapsedTicks => ElapsedTicks_34 # DEBUG BEGIN_STMT Lpspi_Ip_ReadData (u8Instance_51, numberOfReads_30); [local count: 258823]: # ElapsedTicks_35 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 129411]: # DEBUG BEGIN_STMT # DEBUG ElapsedTicks => 0 [local count: 258823]: # ElapsedTicks_36 = PHI # DEBUG ElapsedTicks => ElapsedTicks_36 # DEBUG BEGIN_STMT _21 ={v} base_52->SR; _22 = _21 & 6144; if (_22 != 0) goto ; [50.00%] else goto ; [50.00%] [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 [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 ; [50.00%] else goto ; [50.00%] [local count: 129411]: # DEBUG BEGIN_STMT # DEBUG status => 3 [local count: 258823]: # status_43 = PHI # ElapsedTicks_54 = PHI [local count: 289827]: # status_32 = PHI # ElapsedTicks_37 = PHI # DEBUG ElapsedTicks => ElapsedTicks_37 # DEBUG status => status_32 # DEBUG BEGIN_STMT _25 = state_53->rxIndex; _26 = state_53->expectedFifoReads; if (_25 != _26) goto ; [94.50%] else goto ; [5.50%] [local count: 273887]: if (status_32 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 31004]: # status_75 = PHI # DEBUG BEGIN_STMT _27 = state_53->bKeepCs; if (_27 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 15502]: if (status_75 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 23253]: # DEBUG BEGIN_STMT _28 ={v} base_52->CR; _29 = _28 & 4294967294; base_52->CR ={v} _29; [local count: 31004]: # DEBUG BEGIN_STMT if (status_75 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 15502]: # DEBUG BEGIN_STMT state_53->status = 3; goto ; [100.00%] [local count: 15502]: # DEBUG BEGIN_STMT state_53->status = 1; [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; _6; struct Lpspi_Ip_DeviceParamsType * _7; unsigned char _8; _Bool _9; long unsigned int _10; _11; _Bool x.0_37; _Bool x.0_38; _Bool x.0_39; _Bool x.0_40; _Bool x.0_41; [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 92035]: [local count: 920350133]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 429496]: # DEBUG BEGIN_STMT if (u16Length_15(D) == 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 32212]: [local count: 322122547]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 150324]: # DEBUG BEGIN_STMT _2 = pExternalDevice_14(D)->pDeviceParams; _3 = _2->u8FrameSize; if (_3 > 16) goto ; [50.00%] else goto ; [50.00%] [local count: 75162]: # DEBUG BEGIN_STMT _4 = u16Length_15(D) & 3; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 18790]: [local count: 187904819]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 187904819]: goto ; [100.00%] [local count: 75162]: # DEBUG BEGIN_STMT if (_3 > 8) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT _5 = u16Length_15(D) & 1; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 9395]: [local count: 93952409]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 93952409]: goto ; [100.00%] [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 ; [34.00%] else goto ; [66.00%] [local count: 31944]: # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_09 (); # DEBUG BEGIN_STMT # DEBUG status => 1 goto ; [100.00%] [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) [33.33%], case 0: [33.33%], case 1: [33.33%]> [local count: 20667]: : # DEBUG BEGIN_STMT base_18->IER ={v} 0; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 20667]: : # DEBUG BEGIN_STMT base_18->IER ={v} 6147; # DEBUG BEGIN_STMT [local count: 353753]: # status_12 = PHI <1(3), 1(6), 1(13), 1(20), 0(22), 0(23), 0(21), 1(9), 1(17)> : # 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; _2; long unsigned int _3; long unsigned int _4; _Bool x.0_11; _Bool x.0_12; [local count: 429496]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (u8Instance_6(D) > 5) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 32212]: [local count: 322122547]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 150324]: # DEBUG BEGIN_STMT _2 = state_9->transferMode; if (_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 75162]: # DEBUG BEGIN_STMT _3 ={v} base_8->SR; _4 = _3 & 3; if (_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 24803]: # DEBUG BEGIN_STMT Lpspi_Ip_TransferProcess (u8Instance_6(D)); [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; _4; struct Lpspi_Ip_DeviceParamsType * _5; _Bool x.0_13; _Bool x.0_14; _Bool x.0_15; [local count: 613566]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (pExternalDevice_8(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 92035]: [local count: 920350133]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 920350133]: goto ; [100.00%] [local count: 429496]: # DEBUG BEGIN_STMT _1 = u8FrameSize_9(D) + 252; if (_1 > 28) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 32212]: [local count: 322122547]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 322122547]: goto ; [100.00%] [local count: 150324]: # DEBUG BEGIN_STMT _4 = state_11->status; if (_4 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 99214]: # DEBUG BEGIN_STMT _5 = pExternalDevice_8(D)->pDeviceParams; _5->u8FrameSize = u8FrameSize_9(D); [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; _3; struct Lpspi_Ip_DeviceParamsType * _4; _Bool x.0_12; _Bool x.0_13; [local count: 715827]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (pExternalDevice_7(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 75162]: [local count: 751619279]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 350755]: # DEBUG BEGIN_STMT _3 = state_9->status; if (_3 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 231498]: # DEBUG BEGIN_STMT _4 = pExternalDevice_7(D)->pDeviceParams; _4->lsb = bLsb_10(D); [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; _3; struct Lpspi_Ip_DeviceParamsType * _4; _Bool x.0_12; _Bool x.0_13; [local count: 715827]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (pExternalDevice_7(D) == 0B) goto ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 75162]: [local count: 751619279]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 751619279]: goto ; [100.00%] [local count: 350755]: # DEBUG BEGIN_STMT _3 = state_9->status; if (_3 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 231498]: # DEBUG BEGIN_STMT _4 = pExternalDevice_7(D)->pDeviceParams; _4->u32DefaultData = u32DefaultData_10(D); [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; _2; _Bool x.0_12; _Bool x.0_14; [local count: 429496]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (u8Instance_5(D) > 5) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 322122547]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [100.00%] [local count: 150324]: # DEBUG BEGIN_STMT _2 = state_7->status; if (_2 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 99214]: # DEBUG BEGIN_STMT state_7->transferMode = Mode_9(D); [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; _7; _Bool x.0_24; _Bool x.0_25; [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 ; [30.00%] else goto ; [70.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 55731]: [local count: 557315087]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 557315087]: goto ; [100.00%] [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 ; [82.57%] else goto ; [17.43%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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); [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; _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; [local count: 429496]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG u32Cfgr1 => 0 # DEBUG BEGIN_STMT if (u8Instance_11(D) > 5) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [46.53%] else goto ; [53.47%] [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 ; [50.00%] else goto ; [50.00%] [local count: 49961]: [local count: 499612071]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 499612071]: goto ; [100.00%] [local count: 114826]: # DEBUG BEGIN_STMT SchM_Enter_Spi_SPI_EXCLUSIVE_AREA_10 (); # DEBUG BEGIN_STMT _2 = state_14->status; if (_2 == 2) goto ; [34.00%] else goto ; [66.00%] [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; [local count: 114826]: # DEBUG BEGIN_STMT SchM_Exit_Spi_SPI_EXCLUSIVE_AREA_10 (); [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; [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 ; [70.00%] else goto ; [30.00%] [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 ; [33.00%] else goto ; [67.00%] [local count: 248034361]: # DEBUG BEGIN_STMT Lpspi_Ip_TransferProcess (u8Instance_7(D)); goto ; [100.00%] [local count: 503584916]: # DEBUG BEGIN_STMT _4 ={v} base_9->SR; base_9->SR ={v} _4; goto ; [100.00%] [local count: 322122547]: # DEBUG BEGIN_STMT _5 ={v} base_9->SR; base_9->SR ={v} _5; [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; [local count: 429496]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT if (u8Instance_4(D) > 5) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [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 ; [70.00%] else goto ; [30.00%] [local count: 150324]: # DEBUG BEGIN_STMT status_7 = state_6->status; # DEBUG status => status_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; }