ADM/GW/Debug_FLASH/RTD/src/Lpuart_Uart_Ip.c.076i.inline
3minbe f7e8a96a61 1.주행안전 시나리오 기반 로직 최신화
2.주행안전 시나리오 기반 VCU CAN 수정
3.주행안전 시나리오 기반 DBC 최신화
2025-07-16 17:20:17 +09:00

7692 lines
225 KiB
Plaintext

IPA function summary for LPUART_Uart_CheckTimeout.constprop/186 inlinable
global time: 31.500000
self size: 17
global size: 17
min size: 28
self stack: 0
global stack: 0
size:7.000000, time:4.500000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_MicrosToTicks/57 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for LPUART_Uart_ClearStatusFlag.part.0/67 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:0.500000, time:0.500000
size:3.500000, time:2.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 160] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 160] changed)
calls:
IPA function summary for Lpuart_Uart_Ip_GetData/55 inlinable
global time: 30.437000
self size: 57
global size: 57
min size: 12
self stack: 0
global stack: 0
size:48.000000, time:21.357000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPUART_Uart_Getchar10/18 function not considered for inlining
loop depth: 0 freq:0.39 size: 3 time: 12callee size: 6 stack: 0
LPUART_Uart_Getchar9/17 function not considered for inlining
loop depth: 0 freq:0.20 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpuart_Uart_Ip_PutData/54 inlinable
global time: 27.387000
self size: 45
global size: 45
min size: 12
self stack: 0
global stack: 0
size:36.000000, time:18.307000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPUART_Uart_Putchar10/15 function not considered for inlining
loop depth: 0 freq:0.39 size: 3 time: 12callee size: 8 stack: 0
LPUART_Uart_Putchar9/14 function not considered for inlining
loop depth: 0 freq:0.20 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 inlinable
global time: 27.340000
self size: 29
global size: 29
min size: 0
self stack: 0
global stack: 0
size:26.000000, time:25.340000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 inlinable
global time: 46.000000
self size: 38
global size: 38
min size: 4
self stack: 0
global stack: 0
size:33.000000, time:33.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPUART_Uart_ClearErrorFlags/21 function not considered for inlining
loop depth: 0 freq:1.00 size: 2 time: 11callee size: 3 stack: 0
IPA function summary for Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 inlinable
global time: 16.320000
self size: 19
global size: 19
min size: 0
self stack: 0
global stack: 0
size:16.000000, time:14.320000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_StartSendDataUsingInt/50 inlinable
global time: 15.000000
self size: 16
global size: 16
min size: 0
self stack: 0
global stack: 0
size:13.000000, time:13.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_ErrIrqHandler/49 inlinable
global time: 43.614100
self size: 82
global size: 82
min size: 22
self stack: 0
global stack: 0
size:68.000000, time:35.917500
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 function not considered for inlining
loop depth: 0 freq:0.05 size: 2 time: 11callee size:14 stack: 0
LPUART_Uart_ClearStatusFlag.part.0/67 function not considered for inlining
loop depth: 0 freq:0.17 size: 2 time: 11callee size: 3 stack: 0
indirect call loop depth: 0 freq:0.18 size: 7 time: 19
IPA function summary for Lpuart_Uart_Ip_TxCompleteIrqHandler/48 inlinable
global time: 18.113200
self size: 24
global size: 24
min size: 18
self stack: 0
global stack: 0
size:12.000000, time:8.350000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 function not considered for inlining
loop depth: 0 freq:0.10 size: 2 time: 11callee size: 9 stack: 0
indirect call loop depth: 0 freq:0.35 size: 7 time: 19
IPA function summary for Lpuart_Uart_Ip_TxEmptyIrqHandler/47 inlinable
global time: 17.570000
self size: 35
global size: 35
min size: 18
self stack: 0
global stack: 0
size:23.000000, time:9.745500
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpuart_Uart_Ip_PutData/54 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size:22 stack: 0
indirect call loop depth: 0 freq:0.12 size: 7 time: 19
IPA function summary for Lpuart_Uart_Ip_RxIrqHandler/46 inlinable
global time: 38.740000
self size: 37
global size: 37
min size: 36
self stack: 0
global stack: 0
size:16.000000, time:11.071000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size:14 stack: 0
Lpuart_Uart_Ip_GetData/55 function not considered for inlining
loop depth: 0 freq:1.00 size: 2 time: 11callee size:28 stack: 0
indirect call loop depth: 0 freq:0.23 size: 7 time: 19
indirect call loop depth: 0 freq:0.35 size: 7 time: 19
IPA function summary for Lpuart_Uart_Ip_IRQHandler/45 inlinable
global time: 21.337777
self size: 52
global size: 52
min size: 20
self stack: 0
global stack: 0
size:38.000000, time:12.567246
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
Lpuart_Uart_Ip_TxCompleteIrqHandler/48 function not considered for inlining
loop depth: 0 freq:0.03 size: 2 time: 11callee size:12 stack: 0
Lpuart_Uart_Ip_TxEmptyIrqHandler/47 function not considered for inlining
loop depth: 0 freq:0.03 size: 2 time: 11callee size:17 stack: 0
Lpuart_Uart_Ip_RxIrqHandler/46 function not considered for inlining
loop depth: 0 freq:0.06 size: 2 time: 11callee size:18 stack: 0
Lpuart_Uart_Ip_ErrIrqHandler/49 function not considered for inlining
loop depth: 0 freq:0.35 size: 2 time: 11callee size:41 stack: 0
LPUART_Uart_ClearErrorFlags/21 function not considered for inlining
loop depth: 0 freq:0.15 size: 2 time: 11callee size: 3 stack: 0
IPA function summary for Lpuart_Uart_Ip_SetRxBuffer/44 inlinable
global time: 9.375012
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:15.000000, time:7.375007
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_SetTxBuffer/43 inlinable
global time: 9.375012
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:15.000000, time:7.375007
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_GetBaudRate/42 inlinable
global time: 8.750000
self size: 16
global size: 16
min size: 0
self stack: 0
global stack: 0
size:10.500000, time:6.625000
size:3.500000, time:0.625000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_SetBaudRate/41 inlinable
global time: 29.207257
self size: 74
global size: 74
min size: 12
self stack: 0
global stack: 0
size:47.000000, time:23.144677
size:3.000000, time:0.625002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
size:2.000000, time:0.187503, nonconst if:(op1 changed)
size:14.000000, time:2.500047, nonconst if:(op2 changed || op1 changed)
calls:
LPUART_Uart_SetBaudRateDivisor/3 function not considered for inlining
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
LPUART_Uart_SetOversamplingRatio/5 function not considered for inlining
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpuart_Uart_Ip_AbortReceivingData/40 inlinable
global time: 12.389210
self size: 37
global size: 37
min size: 8
self stack: 0
global stack: 0
size:29.000000, time:10.312520
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
LPUART_Uart_ClearErrorFlags/21 function not considered for inlining
loop depth: 0 freq:0.06 size: 2 time: 11callee size: 3 stack: 0
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 function not considered for inlining
loop depth: 0 freq:0.01 size: 2 time: 11callee size:14 stack: 0
IPA function summary for Lpuart_Uart_Ip_GetReceiveStatus/39 inlinable
global time: 10.842248
self size: 32
global size: 32
min size: 0
self stack: 0
global stack: 0
size:17.000000, time:8.875002
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.250005, nonconst if:(op1 changed)
size:8.000000, time:0.437925, executed if:(op1 != 0B)
size:1.000000, time:0.029311, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_AsyncReceive/38 inlinable
global time: 11.279625
self size: 52
global size: 52
min size: 16
self stack: 0
global stack: 0
size:38.000000, time:8.383463
size:3.000000, time:0.094064, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 function not considered for inlining
loop depth: 0 freq:0.00 size: 5 time: 14callee size:19 stack: 0
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03/65 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_StartGetData/37 inlinable
global time: 1809.715000
self size: 71
global size: 71
min size: 24
self stack: 0
global stack: 0
size:46.500000, time:586.077253
size:12.500000, time:58.797579, executed if:(not inlined)
calls:
LPUART_Uart_CheckTimeout.constprop/186 function not considered for inlining
loop depth: 1 freq:8.58 size: 4 time: 13callee size: 8 stack: 0
op0 change 11.640000% of time
op1 is compile time invariant
Lpuart_Uart_Ip_GetData/55 function not considered for inlining
loop depth: 1 freq:7.76 size: 2 time: 11callee size:28 stack: 0
op0 change 12.880000% of time
LPUART_Uart_ClearStatusFlag.part.0/67 function not considered for inlining
loop depth: 0 freq:0.16 size: 2 time: 11callee size: 3 stack: 0
LPUART_Uart_CheckTimeout.constprop/186 function not considered for inlining
loop depth: 2 freq:74.32 size: 4 time: 13callee size: 8 stack: 0
op0 change 1.340000% of time
op1 is compile time invariant
IPA function summary for Lpuart_Uart_Ip_SyncReceive/36 inlinable
global time: 12.739858
self size: 80
global size: 80
min size: 36
self stack: 4
global stack: 4
size:56.000000, time:8.775528
size:3.000000, time:0.125002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
OsIf_MicrosToTicks/57 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetElapsed/64 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpuart_Uart_Ip_StartGetData/37 function not considered for inlining
loop depth: 0 freq:0.02 size: 4 time: 13callee size:35 stack: 0
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.02 size: 3 time: 12
op0 is compile time invariant
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02/62 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_AbortSendingData/35 inlinable
global time: 11.451692
self size: 33
global size: 33
min size: 4
self stack: 0
global stack: 0
size:27.000000, time:10.062515
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 function not considered for inlining
loop depth: 0 freq:0.01 size: 2 time: 11callee size: 9 stack: 0
IPA function summary for Lpuart_Uart_Ip_GetTransmitStatus/34 inlinable
global time: 10.842248
self size: 32
global size: 32
min size: 0
self stack: 0
global stack: 0
size:17.000000, time:8.875002
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.250005, nonconst if:(op1 changed)
size:8.000000, time:0.437925, executed if:(op1 != 0B)
size:1.000000, time:0.029311, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_AsyncSend/33 inlinable
global time: 11.279625
self size: 52
global size: 52
min size: 16
self stack: 0
global stack: 0
size:38.000000, time:8.383463
size:3.000000, time:0.094064, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
Lpuart_Uart_Ip_StartSendDataUsingInt/50 function not considered for inlining
loop depth: 0 freq:0.00 size: 5 time: 14callee size: 8 stack: 0
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01/60 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_SyncSend/32 inlinable
global time: 65.020312
self size: 81
global size: 81
min size: 32
self stack: 0
global stack: 0
size:59.000000, time:24.743243
size:3.000000, time:0.125002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
LPUART_Uart_CheckTimeout.constprop/186 function not considered for inlining
loop depth: 2 freq:0.28 size: 4 time: 13callee size: 8 stack: 0
op0 change 7.450000% of time
op1 is compile time invariant
LPUART_Uart_CheckTimeout.constprop/186 function not considered for inlining
loop depth: 3 freq:2.35 size: 4 time: 13callee size: 8 stack: 0
op0 change 0.870000% of time
op1 is compile time invariant
Lpuart_Uart_Ip_PutData/54 function not considered for inlining
loop depth: 2 freq:0.27 size: 2 time: 11callee size:22 stack: 0
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.02 size: 3 time: 12
op0 is compile time invariant
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00/58 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_Deinit/31 inlinable
global time: 59.974854
self size: 50
global size: 50
min size: 14
self stack: 0
global stack: 0
size:39.000000, time:26.764897
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
LPUART_Uart_CheckTimeout.constprop/186 function not considered for inlining
loop depth: 1 freq:2.21 size: 4 time: 13callee size: 8 stack: 0
op0 change 11.320000% of time
op1 is compile time invariant
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.25 size: 3 time: 12
op0 is compile time invariant
IPA function summary for Lpuart_Uart_Ip_Init/30 inlinable
global time: 13.758382
self size: 93
global size: 93
min size: 40
self stack: 0
global stack: 0
size:52.000000, time:10.625002
size:7.000000, time:0.085929, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:0.500000, time:0.062501, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:1.500000, time:0.187503, nonconst if:(op1[ref offset: 64] changed)
size:0.500000, time:0.031251, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:2.500000, time:0.156253, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.015625, executed if:(not inlined), nonconst if:(op1[ref offset: 320] changed) && (not inlined)
size:0.500000, time:0.015625, nonconst if:(op1[ref offset: 320] changed)
size:0.500000, time:0.015625, executed if:(not inlined), nonconst if:(op1[ref offset: 88] changed) && (not inlined)
size:2.500000, time:0.078126, nonconst if:(op1[ref offset: 88] changed)
size:0.500000, time:0.005313, executed if:(op1[ref offset: 88] == 3) && (not inlined), nonconst if:(op1[ref offset: 72] changed) && (op1[ref offset: 88] == 3) && (not inlined)
size:2.500000, time:0.026566, executed if:(op1[ref offset: 88] == 3), nonconst if:(op1[ref offset: 72] changed) && (op1[ref offset: 88] == 3)
calls:
LPUART_Uart_SetStopBitCount/10 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
LPUART_Uart_SetParityMode/9 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 7 stack: 0
LPUART_Uart_SetBitCountPerChar/8 function not considered for inlining
loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0
op2 is compile time invariant
LPUART_Uart_SetBitCountPerChar/8 function not considered for inlining
loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0
op2 is compile time invariant
LPUART_Uart_SetBaudRateDivisor/3 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
LPUART_Uart_SetOversamplingRatio/5 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for LPUART_Uart_ClearErrorFlags/21 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:0.500000, time:0.500000
size:3.500000, time:2.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 160] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 160] changed)
calls:
IPA function summary for LPUART_Uart_Getchar10/18 inlinable
global time: 12.000000
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:2.000000, executed if:(not inlined)
size:1.000000, time:1.000000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
size:7.000000, time:7.000000, nonconst if:(op0[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 224] changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 192] changed || op0[ref offset: 224] changed)
calls:
IPA function summary for LPUART_Uart_Getchar9/17 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 224] changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 192] changed || op0[ref offset: 224] changed)
calls:
IPA function summary for LPUART_Uart_Putchar10/15 inlinable
global time: 15.000000
self size: 16
global size: 16
min size: 0
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:4.000000, time:3.000000, executed if:(not inlined)
size:6.000000, time:6.000000, nonconst if:(op1 changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 192] changed)
size:3.000000, time:3.000000, nonconst if:(op1 changed || op0[ref offset: 192] changed)
calls:
IPA function summary for LPUART_Uart_Putchar9/14 inlinable
global time: 10.000000
self size: 11
global size: 11
min size: 0
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:4.000000, time:3.000000, executed if:(not inlined)
size:3.000000, time:3.000000, nonconst if:(op1 changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 192] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed || op0[ref offset: 192] changed)
calls:
IPA function summary for LPUART_Uart_SetStopBitCount/10 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:0.500000, time:0.500000
size:3.500000, time:2.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 128] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 128] changed || op1 changed)
calls:
IPA function summary for LPUART_Uart_SetParityMode/9 inlinable
global time: 13.000000
self size: 14
global size: 14
min size: 0
self stack: 0
global stack: 0
size:3.500000, time:3.500000
size:4.500000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 192] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 192] changed)
size:3.000000, time:3.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 192] changed || op1 changed)
calls:
IPA function summary for LPUART_Uart_SetBitCountPerChar/8 inlinable
global time: 14.450000
self size: 30
global size: 30
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:1.490000
size:4.500000, time:2.830000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, executed if:(op2 != 0), nonconst if:(op1 changed) && (op2 != 0)
size:2.000000, time:2.000000, nonconst if:(op1 changed || op2 changed)
size:2.000000, time:1.320000, nonconst if:(op1 changed)
size:2.000000, time:0.660000, executed if:(op1 != 0), nonconst if:(op1 changed || op2 changed) && (op1 != 0)
size:0.500000, time:0.165000, executed if:(op1 != 0) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op1 != 0) && (not inlined)
size:1.500000, time:0.495000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 192] changed) && (op1 != 0)
size:1.000000, time:0.330000, executed if:(op1 != 0), nonconst if:(op1 changed || op2 changed || op0[ref offset: 192] changed) && (op1 != 0)
size:0.500000, time:0.165000, executed if:(op1 != 0) && (not inlined)
size:0.500000, time:0.165000, executed if:(op1 != 0)
size:2.000000, time:0.660000, executed if:(op1 == 0), nonconst if:(op2 changed) && (op1 == 0)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 == 0) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op1 == 0) && (op2 == 0) && (not inlined)
size:1.500000, time:0.247500, executed if:(op1 == 0) && (op2 == 0), nonconst if:(op0[ref offset: 192] changed) && (op1 == 0) && (op2 == 0)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 == 0) && (not inlined)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 == 0)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 != 0) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op1 == 0) && (op2 != 0) && (not inlined)
size:1.500000, time:0.247500, executed if:(op1 == 0) && (op2 != 0), nonconst if:(op0[ref offset: 192] changed) && (op1 == 0) && (op2 != 0)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 != 0) && (not inlined)
size:0.500000, time:0.082500, executed if:(op1 == 0) && (op2 != 0)
size:0.500000, time:0.170000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
size:1.500000, time:0.510000, nonconst if:(op0[ref offset: 128] changed)
calls:
IPA function summary for LPUART_Uart_SetOversamplingRatio/5 inlinable
global time: 8.000000
self size: 9
global size: 9
min size: 0
self stack: 0
global stack: 0
size:0.500000, time:0.500000
size:3.500000, time:2.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 128] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 128] changed || op1 changed)
calls:
IPA function summary for LPUART_Uart_SetBaudRateDivisor/3 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:0.500000, time:0.500000
size:3.500000, time:2.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 128] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 128] changed || op1 changed)
calls:
Flattening functions:
Overall time estimate: 2524.809410 weighted by profile: 0.000000
Deciding on inlining of small functions. Starting with size 0.
Enqueueing calls in LPUART_Uart_CheckTimeout.constprop/186.
Enqueueing calls in LPUART_Uart_ClearStatusFlag.part.0/67.
Enqueueing calls in Lpuart_Uart_Ip_GetData/55.
Enqueueing calls in Lpuart_Uart_Ip_PutData/54.
Enqueueing calls in Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53.
Enqueueing calls in Lpuart_Uart_Ip_StartReceiveDataUsingInt/52.
Enqueueing calls in Lpuart_Uart_Ip_CompleteSendDataUsingInt/51.
Enqueueing calls in Lpuart_Uart_Ip_StartSendDataUsingInt/50.
Enqueueing calls in Lpuart_Uart_Ip_ErrIrqHandler/49.
Enqueueing calls in Lpuart_Uart_Ip_TxCompleteIrqHandler/48.
Enqueueing calls in Lpuart_Uart_Ip_TxEmptyIrqHandler/47.
Enqueueing calls in Lpuart_Uart_Ip_RxIrqHandler/46.
Enqueueing calls in Lpuart_Uart_Ip_IRQHandler/45.
Enqueueing calls in Lpuart_Uart_Ip_SetRxBuffer/44.
Enqueueing calls in Lpuart_Uart_Ip_SetTxBuffer/43.
Enqueueing calls in Lpuart_Uart_Ip_GetBaudRate/42.
Enqueueing calls in Lpuart_Uart_Ip_SetBaudRate/41.
Enqueueing calls in Lpuart_Uart_Ip_AbortReceivingData/40.
Enqueueing calls in Lpuart_Uart_Ip_GetReceiveStatus/39.
Enqueueing calls in Lpuart_Uart_Ip_AsyncReceive/38.
Enqueueing calls in Lpuart_Uart_Ip_StartGetData/37.
Enqueueing calls in Lpuart_Uart_Ip_SyncReceive/36.
Enqueueing calls in Lpuart_Uart_Ip_AbortSendingData/35.
Enqueueing calls in Lpuart_Uart_Ip_GetTransmitStatus/34.
Enqueueing calls in Lpuart_Uart_Ip_AsyncSend/33.
Enqueueing calls in Lpuart_Uart_Ip_SyncSend/32.
Enqueueing calls in Lpuart_Uart_Ip_Deinit/31.
Enqueueing calls in Lpuart_Uart_Ip_Init/30.
Enqueueing calls in LPUART_Uart_ClearErrorFlags/21.
Enqueueing calls in LPUART_Uart_Getchar10/18.
Enqueueing calls in LPUART_Uart_Getchar9/17.
Enqueueing calls in LPUART_Uart_Putchar10/15.
Enqueueing calls in LPUART_Uart_Putchar9/14.
Enqueueing calls in LPUART_Uart_SetStopBitCount/10.
Enqueueing calls in LPUART_Uart_SetParityMode/9.
Enqueueing calls in LPUART_Uart_SetBitCountPerChar/8.
Enqueueing calls in LPUART_Uart_SetOversamplingRatio/5.
Enqueueing calls in LPUART_Uart_SetBaudRateDivisor/3.
Considering LPUART_Uart_ClearErrorFlags/21 with 7 size
to be inlined into Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 in ../RTD/src/Lpuart_Uart_Ip.c:1679
Estimated badness is -11.487179, frequency 1.00.
Considering LPUART_Uart_Getchar9/17 with 8 size
to be inlined into Lpuart_Uart_Ip_GetData/55 in ../RTD/src/Lpuart_Uart_Ip.c:2018
Estimated badness is -1.660138, frequency 0.20.
Considering LPUART_Uart_ClearErrorFlags/21 with 7 size
to be inlined into Lpuart_Uart_Ip_IRQHandler/45 in ../RTD/src/Lpuart_Uart_Ip.c:1135
Estimated badness is -1.267917, frequency 0.15.
Considering LPUART_Uart_ClearStatusFlag.part.0/67 with 7 size
to be inlined into Lpuart_Uart_Ip_StartGetData/37 in unknown:0
Estimated badness is -0.985374, frequency 0.16.
Considering LPUART_Uart_ClearStatusFlag.part.0/67 with 7 size
to be inlined into Lpuart_Uart_Ip_ErrIrqHandler/49 in unknown:0
Estimated badness is -0.890602, frequency 0.17.
Considering LPUART_Uart_ClearErrorFlags/21 with 7 size
to be inlined into Lpuart_Uart_Ip_AbortReceivingData/40 in ../RTD/src/Lpuart_Uart_Ip.c:914
Estimated badness is -0.736856, frequency 0.06.
Considering LPUART_Uart_Getchar10/18 with 13 size
to be inlined into Lpuart_Uart_Ip_GetData/55 in ../RTD/src/Lpuart_Uart_Ip.c:2022
Estimated badness is -0.510959, frequency 0.39.
Considering LPUART_Uart_Putchar9/14 with 11 size
to be inlined into Lpuart_Uart_Ip_PutData/54 in ../RTD/src/Lpuart_Uart_Ip.c:1974
Estimated badness is -0.507641, frequency 0.20.
Considering LPUART_Uart_SetBaudRateDivisor/3 with 8 size
to be inlined into Lpuart_Uart_Ip_SetBaudRate/41 in ../RTD/src/Lpuart_Uart_Ip.c:1028
Estimated badness is -0.400007, frequency 0.06.
Considering LPUART_Uart_Putchar10/15 with 16 size
to be inlined into Lpuart_Uart_Ip_PutData/54 in ../RTD/src/Lpuart_Uart_Ip.c:1978
Estimated badness is -0.397412, frequency 0.39.
Considering LPUART_Uart_SetOversamplingRatio/5 with 9 size
to be inlined into Lpuart_Uart_Ip_SetBaudRate/41 in ../RTD/src/Lpuart_Uart_Ip.c:1025
Estimated badness is -0.197372, frequency 0.06.
Considering LPUART_Uart_SetBaudRateDivisor/3 with 8 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:279
Estimated badness is -0.079777, frequency 0.02.
Considering LPUART_Uart_SetStopBitCount/10 with 8 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:290
Estimated badness is -0.079777, frequency 0.02.
Considering LPUART_Uart_SetOversamplingRatio/5 with 9 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:276
Estimated badness is -0.039469, frequency 0.02.
Considering LPUART_Uart_SetParityMode/9 with 14 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:289
Estimated badness is -0.013466, frequency 0.02.
Considering LPUART_Uart_SetBitCountPerChar/8 with 30 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:287
Estimated badness is -0.004187, frequency 0.01.
Considering LPUART_Uart_SetBitCountPerChar/8 with 30 size
to be inlined into Lpuart_Uart_Ip_Init/30 in ../RTD/src/Lpuart_Uart_Ip.c:283
Estimated badness is -0.003801, frequency 0.01.
Considering Lpuart_Uart_Ip_ErrIrqHandler/49 with 83 size
to be inlined into Lpuart_Uart_Ip_IRQHandler/45 in ../RTD/src/Lpuart_Uart_Ip.c:1140
Estimated badness is -0.001795, frequency 0.35.
Considering Lpuart_Uart_Ip_RxIrqHandler/46 with 37 size
to be inlined into Lpuart_Uart_Ip_IRQHandler/45 in ../RTD/src/Lpuart_Uart_Ip.c:1146
Estimated badness is -0.001117, frequency 0.06.
Considering Lpuart_Uart_Ip_TxCompleteIrqHandler/48 with 24 size
to be inlined into Lpuart_Uart_Ip_IRQHandler/45 in ../RTD/src/Lpuart_Uart_Ip.c:1175
Estimated badness is -0.001113, frequency 0.03.
Considering Lpuart_Uart_Ip_StartGetData/37 with 72 size
to be inlined into Lpuart_Uart_Ip_SyncReceive/36 in ../RTD/src/Lpuart_Uart_Ip.c:646
Estimated badness is -0.000778, frequency 0.02.
Considering Lpuart_Uart_Ip_TxEmptyIrqHandler/47 with 35 size
to be inlined into Lpuart_Uart_Ip_IRQHandler/45 in ../RTD/src/Lpuart_Uart_Ip.c:1161
Estimated badness is -0.000610, frequency 0.03.
Considering Lpuart_Uart_Ip_StartSendDataUsingInt/50 with 16 size
to be inlined into Lpuart_Uart_Ip_AsyncSend/33 in ../RTD/src/Lpuart_Uart_Ip.c:465
Estimated badness is -0.000139, frequency 0.00.
Considering Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 with 39 size
to be inlined into Lpuart_Uart_Ip_AsyncReceive/38 in ../RTD/src/Lpuart_Uart_Ip.c:794
Estimated badness is -0.000026, frequency 0.00.
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 471.070417 weighted by profile: 0.000000
Why inlining failed?
function body not available : 19 calls, 2.747495 freq, 0 count
--param max-inline-insns-auto limit reached : 4 calls, 0.493709 freq, 0 count
call is unlikely and code size would grow : 10 calls, 6.613012 freq, 0 count
IPA function summary for LPUART_Uart_CheckTimeout.constprop/186 inlinable
global time: 31.500000
self size: 17
global size: 17
min size: 7
self stack: 0
global stack: 0
estimated growth:33
size:7.000000, time:4.500000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_MicrosToTicks/57 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for Lpuart_Uart_Ip_GetData/55 inlinable
global time: 27.469300
self size: 57
global size: 64
min size: 61
self stack: 0
global stack: 0
estimated growth:47
size:60.500000, time:25.469300
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPUART_Uart_Getchar10/18 inlined
loop depth: 0 freq:0.39 size: 3 time: 12callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_Getchar9/17 inlined
loop depth: 0 freq:0.20 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for Lpuart_Uart_Ip_PutData/54 inlinable
global time: 26.089000
self size: 45
global size: 57
min size: 54
self stack: 0
global stack: 0
estimated growth:35
size:54.000000, time:24.089000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPUART_Uart_Putchar10/15 inlined
loop depth: 0 freq:0.39 size: 3 time: 12callee size: 8 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_Putchar9/14 inlined
loop depth: 0 freq:0.20 size: 3 time: 12callee size: 5 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 inlinable
global time: 27.340000
self size: 29
global size: 29
min size: 26
self stack: 0
global stack: 0
estimated growth:43
size:26.000000, time:25.340000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 inlinable
global time: 16.320000
self size: 19
global size: 19
min size: 16
self stack: 0
global stack: 0
estimated growth:9
size:16.000000, time:14.320000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_IRQHandler/45 inlinable
global time: 32.156849
self size: 52
global size: 212
min size: 294
self stack: 0
global stack: 0
size:163.000000, time:26.923539
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
Lpuart_Uart_Ip_TxCompleteIrqHandler/48 inlined
loop depth: 0 freq:0.03 size: 2 time: 11callee size:12 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 call is unlikely and code size would grow
loop depth: 0 freq:0.00 size: 2 time: 11callee size: 9 stack: 0
indirect call loop depth: 0 freq:0.01 size: 7 time: 19
Lpuart_Uart_Ip_TxEmptyIrqHandler/47 inlined
loop depth: 0 freq:0.03 size: 2 time: 11callee size:17 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpuart_Uart_Ip_PutData/54 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.01 size: 2 time: 11callee size:28 stack: 0
indirect call loop depth: 0 freq:0.00 size: 7 time: 19
Lpuart_Uart_Ip_RxIrqHandler/46 inlined
loop depth: 0 freq:0.06 size: 2 time: 11callee size:18 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 2 time: 11callee size:14 stack: 0
Lpuart_Uart_Ip_GetData/55 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.06 size: 2 time: 11callee size:32 stack: 0
indirect call loop depth: 0 freq:0.01 size: 7 time: 19
indirect call loop depth: 0 freq:0.02 size: 7 time: 19
Lpuart_Uart_Ip_ErrIrqHandler/49 inlined
loop depth: 0 freq:0.35 size: 2 time: 11callee size:41 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 2 time: 11callee size:14 stack: 0
LPUART_Uart_ClearStatusFlag.part.0/67 inlined
loop depth: 0 freq:0.06 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
LPUART_Uart_ClearErrorFlags/188 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 Lpuart_Uart_Ip_SetRxBuffer/44 inlinable
global time: 9.375012
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:15.000000, time:7.375007
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_SetTxBuffer/43 inlinable
global time: 9.375012
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:15.000000, time:7.375007
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_GetBaudRate/42 inlinable
global time: 8.750000
self size: 16
global size: 16
min size: 0
self stack: 0
global stack: 0
size:10.500000, time:6.625000
size:3.500000, time:0.625000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
calls:
IPA function summary for Lpuart_Uart_Ip_SetBaudRate/41 inlinable
global time: 28.269739
self size: 74
global size: 77
min size: 18
self stack: 0
global stack: 0
size:56.000000, time:23.707187
size:3.000000, time:0.625002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
size:2.000000, time:0.187503, nonconst if:(op1 changed)
size:14.000000, time:2.500047, nonconst if:(op2 changed || op1 changed)
calls:
LPUART_Uart_SetBaudRateDivisor/190 inlined
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetOversamplingRatio/191 inlined
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for Lpuart_Uart_Ip_AbortReceivingData/40 inlinable
global time: 11.889200
self size: 37
global size: 38
min size: 12
self stack: 0
global stack: 0
size:32.000000, time:10.500023
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
LPUART_Uart_ClearErrorFlags/21 inlined
loop depth: 0 freq:0.06 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 2 time: 11callee size:14 stack: 0
IPA function summary for Lpuart_Uart_Ip_GetReceiveStatus/39 inlinable
global time: 10.842248
self size: 32
global size: 32
min size: 0
self stack: 0
global stack: 0
size:17.000000, time:8.875002
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.250005, nonconst if:(op1 changed)
size:8.000000, time:0.437925, executed if:(op1 != 0B)
size:1.000000, time:0.029311, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_AsyncReceive/38 inlinable
global time: 11.302573
self size: 52
global size: 83
min size: 22
self stack: 0
global stack: 0
size:74.000000, time:8.421014
size:3.000000, time:0.094064, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 inlined
loop depth: 0 freq:0.00 size: 5 time: 14callee size:19 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_ClearErrorFlags/187 inlined
loop depth: 0 freq:0.00 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03/65 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_SyncReceive/36 inlinable
global time: 48.556780
self size: 80
global size: 136
min size: 84
self stack: 4
global stack: 4
size:105.500000, time:20.872685
size:3.000000, time:0.125002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
OsIf_MicrosToTicks/57 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetElapsed/64 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpuart_Uart_Ip_StartGetData/37 inlined
loop depth: 0 freq:0.02 size: 4 time: 13callee size:36 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
LPUART_Uart_CheckTimeout.constprop/186 call is unlikely and code size would grow
loop depth: 1 freq:0.18 size: 4 time: 13callee size: 8 stack: 0
op0 change 11.640000% of time
op1 is compile time invariant
Lpuart_Uart_Ip_GetData/55 --param max-inline-insns-auto limit reached
loop depth: 1 freq:0.16 size: 2 time: 11callee size:32 stack: 0
op0 change 12.880000% of time
LPUART_Uart_ClearStatusFlag.part.0/189 inlined
loop depth: 0 freq:0.00 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
LPUART_Uart_CheckTimeout.constprop/186 call is unlikely and code size would grow
loop depth: 2 freq:1.53 size: 4 time: 13callee size: 8 stack: 0
op0 change 1.340000% of time
op1 is compile time invariant
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.02 size: 3 time: 12
op0 is compile time invariant
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02/62 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_AbortSendingData/35 inlinable
global time: 11.451692
self size: 33
global size: 33
min size: 4
self stack: 0
global stack: 0
size:27.000000, time:10.062515
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 2 time: 11callee size: 9 stack: 0
IPA function summary for Lpuart_Uart_Ip_GetTransmitStatus/34 inlinable
global time: 10.842248
self size: 32
global size: 32
min size: 0
self stack: 0
global stack: 0
size:17.000000, time:8.875002
size:3.000000, time:0.250005, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.250005, nonconst if:(op1 changed)
size:8.000000, time:0.437925, executed if:(op1 != 0B)
size:1.000000, time:0.029311, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpuart_Uart_Ip_AsyncSend/33 inlinable
global time: 11.278582
self size: 52
global size: 60
min size: 22
self stack: 0
global stack: 0
size:51.000000, time:8.397024
size:3.000000, time:0.094064, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
Lpuart_Uart_Ip_StartSendDataUsingInt/50 inlined
loop depth: 0 freq:0.00 size: 5 time: 14callee size: 8 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01/60 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_SyncSend/32 inlinable
global time: 65.020312
self size: 81
global size: 81
min size: 32
self stack: 0
global stack: 0
size:59.000000, time:24.743243
size:3.000000, time:0.125002, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:1.000000, time:0.250000, nonconst if:(op2 changed)
calls:
LPUART_Uart_CheckTimeout.constprop/186 call is unlikely and code size would grow
loop depth: 2 freq:0.28 size: 4 time: 13callee size: 8 stack: 0
op0 change 7.450000% of time
op1 is compile time invariant
LPUART_Uart_CheckTimeout.constprop/186 call is unlikely and code size would grow
loop depth: 3 freq:2.35 size: 4 time: 13callee size: 8 stack: 0
op0 change 0.870000% of time
op1 is compile time invariant
Lpuart_Uart_Ip_PutData/54 --param max-inline-insns-auto limit reached
loop depth: 2 freq:0.27 size: 2 time: 11callee size:28 stack: 0
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.02 size: 3 time: 12
op0 is compile time invariant
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 function body not available
loop depth: 0 freq:0.02 size: 1 time: 10
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00/58 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
IPA function summary for Lpuart_Uart_Ip_Deinit/31 inlinable
global time: 59.974854
self size: 50
global size: 50
min size: 14
self stack: 0
global stack: 0
size:39.000000, time:26.764897
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
LPUART_Uart_CheckTimeout.constprop/186 call is unlikely and code size would grow
loop depth: 1 freq:2.21 size: 4 time: 13callee size: 8 stack: 0
op0 change 11.320000% of time
op1 is compile time invariant
OsIf_GetCounter/56 function body not available
loop depth: 0 freq:0.25 size: 3 time: 12
op0 is compile time invariant
IPA function summary for Lpuart_Uart_Ip_Init/30 inlinable
global time: 13.267014
self size: 93
global size: 126
min size: 148
self stack: 0
global stack: 0
size:105.000000, time:11.086696
size:7.000000, time:0.085929, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:0.500000, time:0.062501, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:1.500000, time:0.187503, nonconst if:(op1[ref offset: 64] changed)
size:0.500000, time:0.031251, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:2.500000, time:0.156253, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.015625, executed if:(not inlined), nonconst if:(op1[ref offset: 320] changed) && (not inlined)
size:0.500000, time:0.015625, nonconst if:(op1[ref offset: 320] changed)
size:0.500000, time:0.015625, executed if:(not inlined), nonconst if:(op1[ref offset: 88] changed) && (not inlined)
size:2.500000, time:0.078126, nonconst if:(op1[ref offset: 88] changed)
size:0.500000, time:0.005313, executed if:(op1[ref offset: 88] == 3) && (not inlined), nonconst if:(op1[ref offset: 72] changed) && (op1[ref offset: 88] == 3) && (not inlined)
size:2.500000, time:0.026566, executed if:(op1[ref offset: 88] == 3), nonconst if:(op1[ref offset: 72] changed) && (op1[ref offset: 88] == 3)
calls:
LPUART_Uart_SetStopBitCount/10 inlined
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetParityMode/9 inlined
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 7 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetBitCountPerChar/192 inlined
loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetBitCountPerChar/8 inlined
loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetBaudRateDivisor/3 inlined
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPUART_Uart_SetOversamplingRatio/5 inlined
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Symbol table:
LPUART_Uart_SetBitCountPerChar/192 (LPUART_Uart_SetBitCountPerChar) @06ac6ee0
Type: function definition analyzed
Visibility:
next sharing asm name: 8
References:
Referring:
Function LPUART_Uart_SetBitCountPerChar/192 is inline copy in Lpuart_Uart_Ip_Init/30
Clone of LPUART_Uart_SetBitCountPerChar/8
Availability: local
Function flags: count:1678 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (1678 (estimated locally),0.01 per call)
Calls:
LPUART_Uart_SetOversamplingRatio/191 (LPUART_Uart_SetOversamplingRatio) @06ac30e0
Type: function definition analyzed
Visibility:
next sharing asm name: 5
References:
Referring:
Function LPUART_Uart_SetOversamplingRatio/191 is inline copy in Lpuart_Uart_Ip_SetBaudRate/41
Clone of LPUART_Uart_SetOversamplingRatio/5
Availability: local
Function flags: count:13422 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_SetBaudRate/41 (inlined) (13422 (estimated locally),0.06 per call)
Calls:
LPUART_Uart_SetBaudRateDivisor/190 (LPUART_Uart_SetBaudRateDivisor) @07a620e0
Type: function definition analyzed
Visibility:
next sharing asm name: 3
References:
Referring:
Function LPUART_Uart_SetBaudRateDivisor/190 is inline copy in Lpuart_Uart_Ip_SetBaudRate/41
Clone of LPUART_Uart_SetBaudRateDivisor/3
Availability: local
Function flags: count:13422 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_SetBaudRate/41 (inlined) (13422 (estimated locally),0.06 per call)
Calls:
LPUART_Uart_ClearStatusFlag.part.0/189 (LPUART_Uart_ClearStatusFlag.part.0) @06b2fee0
Type: function definition analyzed
Visibility: artificial
next sharing asm name: 67
References:
Referring:
Function LPUART_Uart_ClearStatusFlag.part.0/189 is inline copy in Lpuart_Uart_Ip_SyncReceive/36
Clone of LPUART_Uart_ClearStatusFlag.part.0/67
Availability: local
Function flags: count:701 (estimated locally) first_run:1 body local split_part optimize_size
Called by: Lpuart_Uart_Ip_StartGetData/37 (inlined) (701 (estimated locally),0.00 per call)
Calls:
LPUART_Uart_ClearErrorFlags/188 (LPUART_Uart_ClearErrorFlags) @06ac61c0
Type: function definition analyzed
Visibility:
next sharing asm name: 187
References:
Referring:
Function LPUART_Uart_ClearErrorFlags/188 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Clone of LPUART_Uart_ClearErrorFlags/21
Availability: local
Function flags: count:32212 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_IRQHandler/45 (inlined) (32212 (estimated locally),0.15 per call)
Calls:
LPUART_Uart_ClearErrorFlags/187 (LPUART_Uart_ClearErrorFlags) @06b2fc40
Type: function definition analyzed
Visibility:
next sharing asm name: 21
previous sharing asm name: 188
References:
Referring:
Function LPUART_Uart_ClearErrorFlags/187 is inline copy in Lpuart_Uart_Ip_AsyncReceive/38
Clone of LPUART_Uart_ClearErrorFlags/21
Availability: local
Function flags: count:224 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 (inlined) (224 (estimated locally),0.00 per call)
Calls:
LPUART_Uart_CheckTimeout.constprop.0/186 (LPUART_Uart_CheckTimeout.constprop) @07a2fd20
Type: function definition analyzed
Visibility:
References:
Referring:
Clone of LPUART_Uart_CheckTimeout/22
Availability: local
Function flags: count:1073741824 (estimated locally) local optimize_size
Called by: Lpuart_Uart_Ip_StartGetData/37 (329156 (estimated locally),1.53 per call) Lpuart_Uart_Ip_StartGetData/37 (38021 (estimated locally),0.18 per call) Lpuart_Uart_Ip_Deinit/31 (474262 (estimated locally),2.21 per call) Lpuart_Uart_Ip_SyncSend/32 (505354 (estimated locally),2.35 per call) Lpuart_Uart_Ip_SyncSend/32 (59380 (estimated locally),0.28 per call)
Calls: OsIf_MicrosToTicks/57 (1073741824 (estimated locally),1.00 per call) OsIf_GetCounter/56 (1073741824 (estimated locally),1.00 per call)
LPUART_Uart_ClearStatusFlag.part.0/67 (LPUART_Uart_ClearStatusFlag.part.0) @06ac38c0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
previous sharing asm name: 189
References:
Referring:
Function LPUART_Uart_ClearStatusFlag.part.0/67 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Availability: local
Function flags: count:12402 (estimated locally) first_run:1 body local split_part optimize_size
Called by: Lpuart_Uart_Ip_ErrIrqHandler/49 (inlined) (12402 (estimated locally),0.06 per call)
Calls:
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 (SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03) @06d86380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_AsyncReceive/38 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_AsyncReceive/38 (4429 (estimated locally),0.02 per call)
Calls:
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03/65 (SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03) @06d862a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_AsyncReceive/38 (13422 (estimated locally),0.06 per call)
Calls:
OsIf_GetElapsed/64 (OsIf_GetElapsed) @06d6da80
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_SyncReceive/36 (4429 (estimated locally),0.02 per call)
Calls:
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 (SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02) @06d6d9a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_SyncReceive/36 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_SyncReceive/36 (4429 (estimated locally),0.02 per call)
Calls:
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02/62 (SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02) @06d6d8c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_SyncReceive/36 (13422 (estimated locally),0.06 per call)
Calls:
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 (SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01) @06d6d2a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_AsyncSend/33 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_AsyncSend/33 (4429 (estimated locally),0.02 per call)
Calls:
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01/60 (SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01) @06d6d1c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_AsyncSend/33 (13422 (estimated locally),0.06 per call)
Calls:
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 (SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00) @06d46b60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_SyncSend/32 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_SyncSend/32 (4429 (estimated locally),0.02 per call)
Calls:
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00/58 (SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00) @06d46a80
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpuart_Uart_Ip_SyncSend/32 (13422 (estimated locally),0.06 per call)
Calls:
OsIf_MicrosToTicks/57 (OsIf_MicrosToTicks) @06d467e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: LPUART_Uart_CheckTimeout.constprop/186 (1073741824 (estimated locally),1.00 per call) Lpuart_Uart_Ip_SyncReceive/36 (4429 (estimated locally),0.02 per call)
Calls:
OsIf_GetCounter/56 (OsIf_GetCounter) @06d46540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: LPUART_Uart_CheckTimeout.constprop/186 (1073741824 (estimated locally),1.00 per call) Lpuart_Uart_Ip_SyncReceive/36 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_SyncSend/32 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_Deinit/31 (53687 (estimated locally),0.25 per call)
Calls:
Lpuart_Uart_Ip_GetData/55 (Lpuart_Uart_Ip_GetData) @06d37d20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_StartGetData/37 (34368 (estimated locally),0.16 per call) Lpuart_Uart_Ip_RxIrqHandler/46 (12402 (estimated locally),0.06 per call)
Calls: LPUART_Uart_Getchar10/18 (inlined) (418115066 (estimated locally),0.39 per call) LPUART_Uart_Getchar9/17 (inlined) (215392610 (estimated locally),0.20 per call)
Lpuart_Uart_Ip_PutData/54 (Lpuart_Uart_Ip_PutData) @06d37a80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_SyncSend/32 (57207 (estimated locally),0.27 per call) Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (2046 (estimated locally),0.01 per call)
Calls: LPUART_Uart_Putchar10/15 (inlined) (418115066 (estimated locally),0.39 per call) LPUART_Uart_Putchar9/14 (inlined) (215392610 (estimated locally),0.20 per call)
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (Lpuart_Uart_Ip_CompleteReceiveDataUsingInt) @06d377e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_AbortReceivingData/40 (2717 (estimated locally),0.01 per call) Lpuart_Uart_Ip_RxIrqHandler/46 (4093 (estimated locally),0.02 per call) Lpuart_Uart_Ip_ErrIrqHandler/49 (3803 (estimated locally),0.02 per call)
Calls:
Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 (Lpuart_Uart_Ip_StartReceiveDataUsingInt) @06d37540
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Function Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 is inline copy in Lpuart_Uart_Ip_AsyncReceive/38
Availability: local
Function flags: count:224 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_AsyncReceive/38 (inlined) (224 (estimated locally),0.00 per call)
Calls: LPUART_Uart_ClearErrorFlags/187 (inlined) (224 (estimated locally),0.00 per call)
Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 (Lpuart_Uart_Ip_CompleteSendDataUsingInt) @06d372a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_AbortSendingData/35 (2717 (estimated locally),0.01 per call) Lpuart_Uart_Ip_TxCompleteIrqHandler/48 (628 (estimated locally),0.00 per call)
Calls:
Lpuart_Uart_Ip_StartSendDataUsingInt/50 (Lpuart_Uart_Ip_StartSendDataUsingInt) @06d37000
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Function Lpuart_Uart_Ip_StartSendDataUsingInt/50 is inline copy in Lpuart_Uart_Ip_AsyncSend/33
Availability: local
Function flags: count:224 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_AsyncSend/33 (inlined) (224 (estimated locally),0.00 per call)
Calls:
Lpuart_Uart_Ip_ErrIrqHandler/49 (Lpuart_Uart_Ip_ErrIrqHandler) @06d2cb60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Function Lpuart_Uart_Ip_ErrIrqHandler/49 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Availability: local
Function flags: count:75162 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_IRQHandler/45 (inlined) (75162 (estimated locally),0.35 per call)
Calls: Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (3803 (estimated locally),0.02 per call) LPUART_Uart_ClearStatusFlag.part.0/67 (inlined) (12402 (estimated locally),0.06 per call)
Indirect call(13153 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_TxCompleteIrqHandler/48 (Lpuart_Uart_Ip_TxCompleteIrqHandler) @06d2c620
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Function Lpuart_Uart_Ip_TxCompleteIrqHandler/48 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Availability: local
Function flags: count:6201 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_IRQHandler/45 (inlined) (6201 (estimated locally),0.03 per call)
Calls: Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 (628 (estimated locally),0.00 per call)
Indirect call(2170 (estimated locally),0.01 per call)
Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (Lpuart_Uart_Ip_TxEmptyIrqHandler) @06d2c0e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Function Lpuart_Uart_Ip_TxEmptyIrqHandler/47 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Availability: local
Function flags: count:6201 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_IRQHandler/45 (inlined) (6201 (estimated locally),0.03 per call)
Calls: Lpuart_Uart_Ip_PutData/54 (2046 (estimated locally),0.01 per call)
Indirect call(716 (estimated locally),0.00 per call)
Lpuart_Uart_Ip_RxIrqHandler/46 (Lpuart_Uart_Ip_RxIrqHandler) @06d2cd20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Function Lpuart_Uart_Ip_RxIrqHandler/46 is inline copy in Lpuart_Uart_Ip_IRQHandler/45
Availability: local
Function flags: count:12402 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_IRQHandler/45 (inlined) (12402 (estimated locally),0.06 per call)
Calls: Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (4093 (estimated locally),0.02 per call) Lpuart_Uart_Ip_GetData/55 (12402 (estimated locally),0.06 per call)
Indirect call(2865 (estimated locally),0.01 per call)
Indirect call(4341 (estimated locally),0.02 per call)
Lpuart_Uart_Ip_IRQHandler/45 (Lpuart_Uart_Ip_IRQHandler) @06d2ca80
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: Lpuart_Uart_Ip_TxCompleteIrqHandler/48 (inlined) (6201 (estimated locally),0.03 per call) Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (inlined) (6201 (estimated locally),0.03 per call) Lpuart_Uart_Ip_RxIrqHandler/46 (inlined) (12402 (estimated locally),0.06 per call) Lpuart_Uart_Ip_ErrIrqHandler/49 (inlined) (75162 (estimated locally),0.35 per call) LPUART_Uart_ClearErrorFlags/188 (inlined) (32212 (estimated locally),0.15 per call)
Lpuart_Uart_Ip_SetRxBuffer/44 (Lpuart_Uart_Ip_SetRxBuffer) @06d2c7e0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Lpuart_Uart_Ip_SetTxBuffer/43 (Lpuart_Uart_Ip_SetTxBuffer) @06d2c540
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Lpuart_Uart_Ip_GetBaudRate/42 (Lpuart_Uart_Ip_GetBaudRate) @06d2c2a0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Lpuart_Uart_Ip_SetBaudRate/41 (Lpuart_Uart_Ip_SetBaudRate) @06d2c000
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: LPUART_Uart_SetBaudRateDivisor/190 (inlined) (13422 (estimated locally),0.06 per call) LPUART_Uart_SetOversamplingRatio/191 (inlined) (13422 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_AbortReceivingData/40 (Lpuart_Uart_Ip_AbortReceivingData) @06c4c9a0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: LPUART_Uart_ClearErrorFlags/21 (inlined) (13422 (estimated locally),0.06 per call) Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (2717 (estimated locally),0.01 per call)
Lpuart_Uart_Ip_GetReceiveStatus/39 (Lpuart_Uart_Ip_GetReceiveStatus) @06c4c460
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Lpuart_Uart_Ip_AsyncReceive/38 (Lpuart_Uart_Ip_AsyncReceive) @06c4cee0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apUserConfig/28 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 (inlined) (224 (estimated locally),0.00 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03/66 (4429 (estimated locally),0.02 per call) SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03/65 (13422 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_StartGetData/37 (Lpuart_Uart_Ip_StartGetData) @06c4cb60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Function Lpuart_Uart_Ip_StartGetData/37 is inline copy in Lpuart_Uart_Ip_SyncReceive/36
Availability: local
Function flags: count:4429 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_SyncReceive/36 (inlined) (4429 (estimated locally),0.02 per call)
Calls: LPUART_Uart_CheckTimeout.constprop/186 (38021 (estimated locally),0.18 per call) Lpuart_Uart_Ip_GetData/55 (34368 (estimated locally),0.16 per call) LPUART_Uart_ClearStatusFlag.part.0/189 (inlined) (701 (estimated locally),0.00 per call) LPUART_Uart_CheckTimeout.constprop/186 (329156 (estimated locally),1.53 per call)
Lpuart_Uart_Ip_SyncReceive/36 (Lpuart_Uart_Ip_SyncReceive) @06c4c8c0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: OsIf_MicrosToTicks/57 (4429 (estimated locally),0.02 per call) OsIf_GetElapsed/64 (4429 (estimated locally),0.02 per call) Lpuart_Uart_Ip_StartGetData/37 (inlined) (4429 (estimated locally),0.02 per call) OsIf_GetCounter/56 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02/63 (4429 (estimated locally),0.02 per call) SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02/62 (13422 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_AbortSendingData/35 (Lpuart_Uart_Ip_AbortSendingData) @06c4c620
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 (2717 (estimated locally),0.01 per call)
Lpuart_Uart_Ip_GetTransmitStatus/34 (Lpuart_Uart_Ip_GetTransmitStatus) @06c4c380
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apUserConfig/28 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Lpuart_Uart_Ip_AsyncSend/33 (Lpuart_Uart_Ip_AsyncSend) @06c4c0e0
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apUserConfig/28 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: Lpuart_Uart_Ip_StartSendDataUsingInt/50 (inlined) (224 (estimated locally),0.00 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01/61 (4429 (estimated locally),0.02 per call) SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01/60 (13422 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_SyncSend/32 (Lpuart_Uart_Ip_SyncSend) @06b45b60
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: LPUART_Uart_CheckTimeout.constprop/186 (59380 (estimated locally),0.28 per call) LPUART_Uart_CheckTimeout.constprop/186 (505354 (estimated locally),2.35 per call) Lpuart_Uart_Ip_PutData/54 (57207 (estimated locally),0.27 per call) OsIf_GetCounter/56 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 (4429 (estimated locally),0.02 per call) SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00/59 (4429 (estimated locally),0.02 per call) SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00/58 (13422 (estimated locally),0.06 per call)
Lpuart_Uart_Ip_Deinit/31 (Lpuart_Uart_Ip_Deinit) @06b45e00
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: LPUART_Uart_CheckTimeout.constprop/186 (474262 (estimated locally),2.21 per call) OsIf_GetCounter/56 (53687 (estimated locally),0.25 per call)
Lpuart_Uart_Ip_Init/30 (Lpuart_Uart_Ip_Init) @06b45a80
Type: function definition analyzed
Visibility: externally_visible public
References: Lpuart_Uart_Ip_apStateStructuresArray/27 (read)Lpuart_Uart_Ip_apBases/29 (read)Lpuart_Uart_Ip_apStateStructuresArray/27 (write)Lpuart_Uart_Ip_apUserConfig/28 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: LPUART_Uart_SetStopBitCount/10 (inlined) (3355 (estimated locally),0.02 per call) LPUART_Uart_SetParityMode/9 (inlined) (3355 (estimated locally),0.02 per call) LPUART_Uart_SetBitCountPerChar/192 (inlined) (1678 (estimated locally),0.01 per call) LPUART_Uart_SetBitCountPerChar/8 (inlined) (1678 (estimated locally),0.01 per call) LPUART_Uart_SetBaudRateDivisor/3 (inlined) (3355 (estimated locally),0.02 per call) LPUART_Uart_SetOversamplingRatio/5 (inlined) (3355 (estimated locally),0.02 per call)
Lpuart_Uart_Ip_apBases/29 (Lpuart_Uart_Ip_apBases) @06b3f438
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (read)Lpuart_Uart_Ip_GetData/55 (read)Lpuart_Uart_Ip_Init/30 (read)Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (read)Lpuart_Uart_Ip_ErrIrqHandler/49 (read)Lpuart_Uart_Ip_Deinit/31 (read)Lpuart_Uart_Ip_SetBaudRate/41 (read)Lpuart_Uart_Ip_SyncSend/32 (read)Lpuart_Uart_Ip_PutData/54 (read)Lpuart_Uart_Ip_StartSendDataUsingInt/50 (read)Lpuart_Uart_Ip_AbortSendingData/35 (read)Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 (read)Lpuart_Uart_Ip_SyncReceive/36 (read)Lpuart_Uart_Ip_AbortReceivingData/40 (read)Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 (read)Lpuart_Uart_Ip_IRQHandler/45 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
Lpuart_Uart_Ip_apUserConfig/28 (Lpuart_Uart_Ip_apUserConfig) @06b3f360
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: Lpuart_Uart_Ip_GetData/55 (read)Lpuart_Uart_Ip_TxCompleteIrqHandler/48 (read)Lpuart_Uart_Ip_RxIrqHandler/46 (read)Lpuart_Uart_Ip_Init/30 (write)Lpuart_Uart_Ip_AsyncSend/33 (read)Lpuart_Uart_Ip_PutData/54 (read)Lpuart_Uart_Ip_GetTransmitStatus/34 (read)Lpuart_Uart_Ip_AbortSendingData/35 (read)Lpuart_Uart_Ip_AsyncReceive/38 (read)Lpuart_Uart_Ip_GetReceiveStatus/39 (read)Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (read)Lpuart_Uart_Ip_ErrIrqHandler/49 (read)Lpuart_Uart_Ip_AbortReceivingData/40 (read)
Availability: available
Varpool flags:
Lpuart_Uart_Ip_apStateStructuresArray/27 (Lpuart_Uart_Ip_apStateStructuresArray) @06b3f2d0
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: Lpuart_Uart_Ip_TxEmptyIrqHandler/47 (read)Lpuart_Uart_Ip_ErrIrqHandler/49 (read)Lpuart_Uart_Ip_RxIrqHandler/46 (read)Lpuart_Uart_Ip_Init/30 (read)Lpuart_Uart_Ip_StartGetData/37 (read)Lpuart_Uart_Ip_Init/30 (write)Lpuart_Uart_Ip_CompleteReceiveDataUsingInt/53 (read)Lpuart_Uart_Ip_Deinit/31 (write)Lpuart_Uart_Ip_StartSendDataUsingInt/50 (read)Lpuart_Uart_Ip_SyncSend/32 (read)Lpuart_Uart_Ip_AsyncSend/33 (read)Lpuart_Uart_Ip_SetRxBuffer/44 (read)Lpuart_Uart_Ip_GetTransmitStatus/34 (read)Lpuart_Uart_Ip_GetData/55 (read)Lpuart_Uart_Ip_PutData/54 (read)Lpuart_Uart_Ip_AbortSendingData/35 (read)Lpuart_Uart_Ip_CompleteSendDataUsingInt/51 (read)Lpuart_Uart_Ip_SyncReceive/36 (read)Lpuart_Uart_Ip_AsyncReceive/38 (read)Lpuart_Uart_Ip_TxCompleteIrqHandler/48 (read)Lpuart_Uart_Ip_GetReceiveStatus/39 (read)Lpuart_Uart_Ip_AbortReceivingData/40 (read)Lpuart_Uart_Ip_SetBaudRate/41 (read)Lpuart_Uart_Ip_GetBaudRate/42 (read)Lpuart_Uart_Ip_SetTxBuffer/43 (read)Lpuart_Uart_Ip_StartReceiveDataUsingInt/52 (read)Lpuart_Uart_Ip_Deinit/31 (read)Lpuart_Uart_Ip_IRQHandler/45 (read)
Availability: available
Varpool flags:
Lpuart_Uart_Ip_apStateStructure/26 (Lpuart_Uart_Ip_apStateStructure) @06b3f240
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Varpool flags:
LPUART_Uart_CheckTimeout/22 (LPUART_Uart_CheckTimeout) @06b2f9a0
Type: function
Body removed by symtab_remove_unreachable_nodes
Visibility: prevailing_def_ironly
References:
Referring:
Availability: not_available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
LPUART_Uart_ClearErrorFlags/21 (LPUART_Uart_ClearErrorFlags) @06b2f700
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 187
References:
Referring:
Function LPUART_Uart_ClearErrorFlags/21 is inline copy in Lpuart_Uart_Ip_AbortReceivingData/40
Availability: local
Function flags: count:13422 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_AbortReceivingData/40 (inlined) (13422 (estimated locally),0.06 per call)
Calls:
LPUART_Uart_Getchar10/18 (LPUART_Uart_Getchar10) @06b2aee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_Getchar10/18 is inline copy in Lpuart_Uart_Ip_GetData/55
Availability: local
Function flags: count:418115066 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_GetData/55 (inlined) (418115066 (estimated locally),0.39 per call)
Calls:
LPUART_Uart_Getchar9/17 (LPUART_Uart_Getchar9) @06b2ac40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_Getchar9/17 is inline copy in Lpuart_Uart_Ip_GetData/55
Availability: local
Function flags: count:215392610 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_GetData/55 (inlined) (215392610 (estimated locally),0.20 per call)
Calls:
LPUART_Uart_Putchar10/15 (LPUART_Uart_Putchar10) @06b2a700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_Putchar10/15 is inline copy in Lpuart_Uart_Ip_PutData/54
Availability: local
Function flags: count:418115066 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_PutData/54 (inlined) (418115066 (estimated locally),0.39 per call)
Calls:
LPUART_Uart_Putchar9/14 (LPUART_Uart_Putchar9) @06b2a460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_Putchar9/14 is inline copy in Lpuart_Uart_Ip_PutData/54
Availability: local
Function flags: count:215392610 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_PutData/54 (inlined) (215392610 (estimated locally),0.20 per call)
Calls:
LPUART_Uart_SetStopBitCount/10 (LPUART_Uart_SetStopBitCount) @06ac69a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_SetStopBitCount/10 is inline copy in Lpuart_Uart_Ip_Init/30
Availability: local
Function flags: count:3355 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (3355 (estimated locally),0.02 per call)
Calls:
LPUART_Uart_SetParityMode/9 (LPUART_Uart_SetParityMode) @06ac6700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPUART_Uart_SetParityMode/9 is inline copy in Lpuart_Uart_Ip_Init/30
Availability: local
Function flags: count:3355 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (3355 (estimated locally),0.02 per call)
Calls:
LPUART_Uart_SetBitCountPerChar/8 (LPUART_Uart_SetBitCountPerChar) @06ac6460
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 192
References:
Referring:
Function LPUART_Uart_SetBitCountPerChar/8 is inline copy in Lpuart_Uart_Ip_Init/30
Availability: local
Function flags: count:1678 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (1678 (estimated locally),0.01 per call)
Calls:
LPUART_Uart_SetOversamplingRatio/5 (LPUART_Uart_SetOversamplingRatio) @06ac3c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 191
References:
Referring:
Function LPUART_Uart_SetOversamplingRatio/5 is inline copy in Lpuart_Uart_Ip_Init/30
Availability: local
Function flags: count:3355 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (3355 (estimated locally),0.02 per call)
Calls:
LPUART_Uart_SetBaudRateDivisor/3 (LPUART_Uart_SetBaudRateDivisor) @06ac3620
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 190
References:
Referring:
Function LPUART_Uart_SetBaudRateDivisor/3 is inline copy in Lpuart_Uart_Ip_Init/30
Availability: local
Function flags: count:3355 (estimated locally) body local optimize_size
Called by: Lpuart_Uart_Ip_Init/30 (inlined) (3355 (estimated locally),0.02 per call)
Calls:
;; Function Lpuart_Uart_Ip_CompleteSendDataUsingInt (Lpuart_Uart_Ip_CompleteSendDataUsingInt, funcdef_no=47, decl_uid=4594, cgraph_uid=48, symbol_order=51)
Lpuart_Uart_Ip_CompleteSendDataUsingInt (uint32 u32Instance)
{
struct LPUART_Type * pBase;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
<unnamed type> _1;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_5 = Lpuart_Uart_Ip_apBases[u32Instance_4(D)];
# DEBUG pBase => pBase_5
# DEBUG BEGIN_STMT
pUartState_6 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
# DEBUG pUartState => pUartState_6
# DEBUG BEGIN_STMT
_1 ={v} pUartState_6->eTransmitStatus;
if (_1 == 2)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
pUartState_6->eTransmitStatus ={v} 0;
goto <bb 5>; [100.00%]
<bb 4> [local count: 708669605]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 23
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_9 ={v} pBase_5->CTRL;
_10 = _9 & 4286578687;
pBase_5->CTRL ={v} _10;
<bb 5> [local count: 1073741824]:
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_13 ={v} pBase_5->CTRL;
_14 = _13 & 4290772991;
pBase_5->CTRL ={v} _14;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
# DEBUG BEGIN_STMT
_11 ={v} pBase_5->CTRL;
_12 = _11 & 4294443007;
pBase_5->CTRL ={v} _12;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
pUartState_6->bIsTxBusy ={v} 0;
return;
}
;; Function Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (Lpuart_Uart_Ip_CompleteReceiveDataUsingInt, funcdef_no=49, decl_uid=4600, cgraph_uid=50, symbol_order=53)
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (uint32 u32Instance)
{
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
struct LPUART_Type * pBase;
<unnamed type> _1;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_5 = Lpuart_Uart_Ip_apBases[u32Instance_4(D)];
# DEBUG pBase => pBase_5
# DEBUG BEGIN_STMT
pUartState_6 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
# DEBUG pUartState => pUartState_6
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_20 ={v} pBase_5->CTRL;
_21 = _20 & 4294705151;
pBase_5->CTRL ={v} _21;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 27
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_18 ={v} pBase_5->CTRL;
_19 = _18 & 4160749567;
pBase_5->CTRL ={v} _19;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 24
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_16 ={v} pBase_5->CTRL;
_17 = _16 & 4278190079;
pBase_5->CTRL ={v} _17;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 26
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_14 ={v} pBase_5->CTRL;
_15 = _14 & 4227858431;
pBase_5->CTRL ={v} _15;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 25
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_12 ={v} pBase_5->CTRL;
_13 = _12 & 4261412863;
pBase_5->CTRL ={v} _13;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG intSrc => 21
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_10 ={v} pBase_5->CTRL;
_11 = _10 & 4292870143;
pBase_5->CTRL ={v} _11;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_5
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const struct LPUART_Type *)pBase_5].DATA;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
pUartState_6->bIsRxBusy ={v} 0;
# DEBUG BEGIN_STMT
_1 ={v} pUartState_6->eReceiveStatus;
if (_1 == 2)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
pUartState_6->eReceiveStatus ={v} 0;
<bb 4> [local count: 1073741824]:
return;
}
;; Function Lpuart_Uart_Ip_PutData (Lpuart_Uart_Ip_PutData, funcdef_no=50, decl_uid=4602, cgraph_uid=51, symbol_order=54)
Symbols to be put in SSA form
{ D.5140 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 15
Number of blocks to update: 14 ( 93%)
Removing basic block 8
Removing basic block 9
Removing basic block 11
Removing basic block 13
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10
;; 2 succs { 3 4 }
;; 3 succs { 10 }
;; 4 succs { 5 6 }
;; 5 succs { 7 }
;; 6 succs { 7 }
;; 7 succs { 8 9 }
;; 8 succs { 10 }
;; 9 succs { 10 }
;; 10 succs { 1 }
Lpuart_Uart_Ip_PutData (uint32 u32Instance)
{
uint8 ninthDataBit;
uint8 tenthDataBit;
uint32 ctrlRegVal;
uint8 ninthDataBit;
uint8 u8Data;
uint16 u16Data;
struct LPUART_Type * pBase;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
<unnamed type> _1;
const uint8 * _2;
const uint8 * _3;
long unsigned int _4;
long unsigned int _5;
const uint8 * _6;
unsigned char _7;
long unsigned int _8;
const uint8 * _9;
long unsigned int _10;
long unsigned int _11;
const uint8 * _12;
unsigned char _13;
short unsigned int _14;
short unsigned int _15;
const uint8 * _16;
long unsigned int _17;
long unsigned int _18;
short unsigned int _40;
unsigned char _41;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
unsigned char _48;
short unsigned int _49;
unsigned char _50;
short unsigned int _52;
unsigned char _53;
long unsigned int _56;
long unsigned int _57;
long unsigned int _58;
long unsigned int _60;
long unsigned int _61;
long unsigned int _62;
unsigned char _64;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_24 = Lpuart_Uart_Ip_apBases[u32Instance_23(D)];
# DEBUG pBase => pBase_24
# DEBUG BEGIN_STMT
pUartState_25 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_23(D)];
# DEBUG pUartState => pUartState_25
# DEBUG BEGIN_STMT
pUartUserCfg_26 = Lpuart_Uart_Ip_apUserConfig[u32Instance_23(D)];
# DEBUG pUartUserCfg => pUartUserCfg_26
# DEBUG BEGIN_STMT
_1 = pUartUserCfg_26->eBitCountPerChar;
if (_1 <= 1)
goto <bb 3>; [41.00%]
else
goto <bb 4>; [59.00%]
<bb 3> [local count: 440234148]:
# DEBUG BEGIN_STMT
_2 = pUartState_25->pTxBuff;
u8Data_36 = *_2;
# DEBUG u8Data => u8Data_36
# DEBUG BEGIN_STMT
_3 = _2 + 1;
pUartState_25->pTxBuff = _3;
# DEBUG BEGIN_STMT
_4 ={v} pUartState_25->u32TxSize;
_5 = _4 + 4294967295;
pUartState_25->u32TxSize ={v} _5;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_24
# DEBUG data => u8Data_36
# DEBUG INLINE_ENTRY LPUART_Uart_Putchar
# DEBUG BEGIN_STMT
# DEBUG D#1 => &pBase_24->DATA
# DEBUG dataRegBytes => D#1
# DEBUG BEGIN_STMT
MEM[(volatile uint8 *)pBase_24 + 28B] ={v} u8Data_36;
goto <bb 10>; [100.00%]
<bb 4> [local count: 633507677]:
# DEBUG BEGIN_STMT
_6 = pUartState_25->pTxBuff;
_7 = *_6;
u16Data_27 = (uint16) _7;
# DEBUG u16Data => u16Data_27
# DEBUG BEGIN_STMT
_8 ={v} pUartState_25->u32TxSize;
if (_8 == 1)
goto <bb 5>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 5> [local count: 215392610]:
# DEBUG BEGIN_STMT
_9 = _6 + 1;
pUartState_25->pTxBuff = _9;
# DEBUG BEGIN_STMT
_10 ={v} pUartState_25->u32TxSize;
_11 = _10 + 4294967295;
pUartState_25->u32TxSize ={v} _11;
goto <bb 7>; [100.00%]
<bb 6> [local count: 418115066]:
# DEBUG BEGIN_STMT
_12 = _6 + 1;
pUartState_25->pTxBuff = _12;
# DEBUG BEGIN_STMT
_13 = *_12;
_14 = (short unsigned int) _13;
_15 = _14 << 8;
u16Data_29 = _15 | u16Data_27;
# DEBUG u16Data => u16Data_29
# DEBUG BEGIN_STMT
_16 = _12 + 1;
pUartState_25->pTxBuff = _16;
# DEBUG BEGIN_STMT
_17 ={v} pUartState_25->u32TxSize;
_18 = _17 + 4294967294;
pUartState_25->u32TxSize ={v} _18;
<bb 7> [local count: 633507677]:
# u16Data_19 = PHI <u16Data_27(5), u16Data_29(6)>
# DEBUG u16Data => u16Data_19
# DEBUG BEGIN_STMT
if (_1 == 2)
goto <bb 8>; [34.00%]
else
goto <bb 9>; [66.00%]
<bb 8> [local count: 215392610]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_24
# DEBUG data => u16Data_19
# DEBUG INLINE_ENTRY LPUART_Uart_Putchar9
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG D#2 => &pBase_24->DATA
# DEBUG dataRegBytes => D#2
# DEBUG BEGIN_STMT
_40 = u16Data_19 >> 8;
_41 = (unsigned char) _40;
ninthDataBit_42 = _41 & 1;
# DEBUG ninthDataBit => ninthDataBit_42
# DEBUG BEGIN_STMT
_43 ={v} pBase_24->CTRL;
_44 = _43 & 3221225471;
_45 = (long unsigned int) ninthDataBit_42;
_46 = _45 << 30;
_47 = _44 | _46;
pBase_24->CTRL ={v} _47;
# DEBUG BEGIN_STMT
_48 = (unsigned char) u16Data_19;
MEM[(volatile uint8 *)pBase_24 + 28B] ={v} _48;
goto <bb 10>; [100.00%]
<bb 9> [local count: 418115066]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_24
# DEBUG data => u16Data_19
# DEBUG INLINE_ENTRY LPUART_Uart_Putchar10
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG D#3 => &pBase_24->DATA
# DEBUG dataRegBytes => D#3
# DEBUG BEGIN_STMT
_49 = u16Data_19 >> 8;
_50 = (unsigned char) _49;
ninthDataBit_51 = _50 & 1;
# DEBUG ninthDataBit => ninthDataBit_51
# DEBUG BEGIN_STMT
_52 = u16Data_19 >> 9;
_53 = (unsigned char) _52;
tenthDataBit_54 = _53 & 1;
# DEBUG tenthDataBit => tenthDataBit_54
# DEBUG BEGIN_STMT
ctrlRegVal_55 ={v} pBase_24->CTRL;
# DEBUG ctrlRegVal => ctrlRegVal_55
# DEBUG BEGIN_STMT
_56 = ctrlRegVal_55 & 3221225471;
_57 = (long unsigned int) ninthDataBit_51;
_58 = _57 << 30;
ctrlRegVal_59 = _56 | _58;
# DEBUG ctrlRegVal => ctrlRegVal_59
# DEBUG BEGIN_STMT
_60 = ctrlRegVal_59 & 2147483647;
_61 = (long unsigned int) tenthDataBit_54;
_62 = _61 << 31;
ctrlRegVal_63 = _60 | _62;
# DEBUG ctrlRegVal => ctrlRegVal_63
# DEBUG BEGIN_STMT
pBase_24->CTRL ={v} ctrlRegVal_63;
# DEBUG BEGIN_STMT
_64 = (unsigned char) u16Data_19;
MEM[(volatile uint8 *)pBase_24 + 28B] ={v} _64;
<bb 10> [local count: 1073741824]:
# DEBUG pBase => NULL
# DEBUG data => NULL
# DEBUG ctrlRegVal => NULL
# DEBUG tenthDataBit => NULL
# DEBUG ninthDataBit => NULL
# DEBUG pBase => NULL
# DEBUG data => NULL
# DEBUG ninthDataBit => NULL
# DEBUG pBase => NULL
# DEBUG data => NULL
return;
}
;; Function Lpuart_Uart_Ip_GetData (Lpuart_Uart_Ip_GetData, funcdef_no=51, decl_uid=4604, cgraph_uid=52, symbol_order=55)
Symbols to be put in SSA form
{ D.5142 D.5554 D.5557 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 17
Number of blocks to update: 16 ( 94%)
Removing basic block 7
Removing basic block 8
Merging blocks 14 and 13
Merging blocks 16 and 15
;; 1 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
;; 2 succs { 3 6 }
;; 3 succs { 4 5 }
;; 4 succs { 5 }
;; 5 succs { 12 }
;; 6 succs { 7 8 }
;; 7 succs { 9 }
;; 8 succs { 9 }
;; 9 succs { 10 11 }
;; 10 succs { 12 }
;; 11 succs { 12 }
;; 12 succs { 1 }
Lpuart_Uart_Ip_GetData (uint32 u32Instance)
{
uint16 readData;
uint16 D.5557;
uint16 readData;
uint16 D.5554;
uint16 u16Data;
struct LPUART_Type * pBase;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
<unnamed type> _1;
uint8 * _2;
<unnamed type> _3;
uint8 * _4;
unsigned char _5;
unsigned char _6;
uint8 * _7;
uint8 * _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
uint8 * _12;
unsigned char _13;
uint8 * _14;
uint8 * _15;
long unsigned int _16;
long unsigned int _17;
uint8 * _18;
unsigned char _19;
uint8 * _20;
uint8 * _21;
short unsigned int _22;
unsigned char _23;
uint8 * _24;
uint8 * _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _53;
unsigned char _54;
long unsigned int _55;
long unsigned int _56;
short unsigned int _57;
short unsigned int _58;
long unsigned int _59;
unsigned char _60;
short unsigned int _61;
long unsigned int _63;
long unsigned int _64;
short unsigned int _65;
short unsigned int _66;
long unsigned int _68;
long unsigned int _69;
short unsigned int _70;
short unsigned int _71;
long unsigned int _73;
unsigned char _74;
short unsigned int _75;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_34 = Lpuart_Uart_Ip_apBases[u32Instance_33(D)];
# DEBUG pBase => pBase_34
# DEBUG BEGIN_STMT
pUartState_35 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_33(D)];
# DEBUG pUartState => pUartState_35
# DEBUG BEGIN_STMT
pUartUserCfg_36 = Lpuart_Uart_Ip_apUserConfig[u32Instance_33(D)];
# DEBUG pUartUserCfg => pUartUserCfg_36
# DEBUG BEGIN_STMT
_1 = pUartUserCfg_36->eBitCountPerChar;
if (_1 <= 1)
goto <bb 3>; [41.00%]
else
goto <bb 6>; [59.00%]
<bb 3> [local count: 440234148]:
# DEBUG BEGIN_STMT
_2 = pUartState_35->pRxBuff;
# DEBUG pBase => pBase_34
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar
# DEBUG BEGIN_STMT
_53 ={v} MEM[(const struct LPUART_Type *)pBase_34].DATA;
_54 = (unsigned char) _53;
# DEBUG pBase => NULL
*_2 = _54;
# DEBUG BEGIN_STMT
_3 = pUartUserCfg_36->eBitCountPerChar;
if (_3 == 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 220117074]:
# DEBUG BEGIN_STMT
_4 = pUartState_35->pRxBuff;
_5 = *_4;
_6 = _5 & 127;
*_4 = _6;
<bb 5> [local count: 440234148]:
# DEBUG BEGIN_STMT
_7 = pUartState_35->pRxBuff;
_8 = _7 + 1;
pUartState_35->pRxBuff = _8;
# DEBUG BEGIN_STMT
_9 ={v} pUartState_35->u32RxSize;
_10 = _9 + 4294967295;
pUartState_35->u32RxSize ={v} _10;
goto <bb 12>; [100.00%]
<bb 6> [local count: 633507677]:
# DEBUG BEGIN_STMT
if (_1 == 2)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 215392610]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_34
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar9
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_55 ={v} MEM[(const struct LPUART_Type *)pBase_34].CTRL;
_56 = _55 >> 31;
_57 = (short unsigned int) _56;
_58 = _57 << 8;
# DEBUG readData => _58
# DEBUG BEGIN_STMT
_59 ={v} MEM[(const struct LPUART_Type *)pBase_34].DATA;
_60 = (unsigned char) _59;
_61 = (short unsigned int) _60;
readData_62 = _58 | _61;
# DEBUG readData => readData_62
# DEBUG BEGIN_STMT
_78 = readData_62;
# DEBUG pBase => NULL
# DEBUG readData => NULL
u16Data_40 = _78;
# DEBUG u16Data => u16Data_40
goto <bb 9>; [100.00%]
<bb 8> [local count: 418115066]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_34
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar10
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_63 ={v} MEM[(const struct LPUART_Type *)pBase_34].CTRL;
_64 = _63 >> 30;
_65 = (short unsigned int) _64;
_66 = _65 << 9;
readData_67 = _66 & 512;
# DEBUG readData => readData_67
# DEBUG BEGIN_STMT
_68 ={v} MEM[(const struct LPUART_Type *)pBase_34].CTRL;
_69 = _68 >> 31;
_70 = (short unsigned int) _69;
_71 = _70 << 8;
readData_72 = readData_67 | _71;
# DEBUG readData => readData_72
# DEBUG BEGIN_STMT
_73 ={v} MEM[(const struct LPUART_Type *)pBase_34].DATA;
_74 = (unsigned char) _73;
_75 = (short unsigned int) _74;
readData_76 = readData_72 | _75;
# DEBUG readData => readData_76
# DEBUG BEGIN_STMT
_77 = readData_76;
# DEBUG pBase => NULL
# DEBUG readData => NULL
u16Data_38 = _77;
# DEBUG u16Data => u16Data_38
<bb 9> [local count: 633507677]:
# u16Data_28 = PHI <u16Data_40(7), u16Data_38(8)>
# DEBUG u16Data => u16Data_28
# DEBUG BEGIN_STMT
_11 ={v} pUartState_35->u32RxSize;
if (_11 == 1)
goto <bb 10>; [34.00%]
else
goto <bb 11>; [66.00%]
<bb 10> [local count: 215392610]:
# DEBUG BEGIN_STMT
_12 = pUartState_35->pRxBuff;
_13 = (unsigned char) u16Data_28;
*_12 = _13;
# DEBUG BEGIN_STMT
_14 = pUartState_35->pRxBuff;
_15 = _14 + 1;
pUartState_35->pRxBuff = _15;
# DEBUG BEGIN_STMT
_16 ={v} pUartState_35->u32RxSize;
_17 = _16 + 4294967295;
pUartState_35->u32RxSize ={v} _17;
goto <bb 12>; [100.00%]
<bb 11> [local count: 418115066]:
# DEBUG BEGIN_STMT
_18 = pUartState_35->pRxBuff;
_19 = (unsigned char) u16Data_28;
*_18 = _19;
# DEBUG BEGIN_STMT
_20 = pUartState_35->pRxBuff;
_21 = _20 + 1;
pUartState_35->pRxBuff = _21;
# DEBUG BEGIN_STMT
_22 = u16Data_28 >> 8;
_23 = (unsigned char) _22;
*_21 = _23;
# DEBUG BEGIN_STMT
_24 = pUartState_35->pRxBuff;
_25 = _24 + 1;
pUartState_35->pRxBuff = _25;
# DEBUG BEGIN_STMT
_26 ={v} pUartState_35->u32RxSize;
_27 = _26 + 4294967294;
pUartState_35->u32RxSize ={v} _27;
<bb 12> [local count: 1073741824]:
return;
}
;; Function LPUART_Uart_CheckTimeout.constprop (LPUART_Uart_CheckTimeout.constprop.0, funcdef_no=53, decl_uid=5528, cgraph_uid=183, symbol_order=186)
LPUART_Uart_CheckTimeout.constprop (uint32 startTime)
{
uint32 timeoutTicks;
uint32 currentTime;
boolean retVal;
uint32 timeoutUs;
long unsigned int _4;
long unsigned int _6;
long unsigned int _7;
<bb 6> [local count: 1073741824]:
# DEBUG timeoutUs => 0
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
timeoutTicks_1 = OsIf_MicrosToTicks (0, 0);
# DEBUG timeoutTicks => timeoutTicks_1
# DEBUG BEGIN_STMT
currentTime_2 = OsIf_GetCounter (0);
# DEBUG currentTime => currentTime_2
# DEBUG BEGIN_STMT
if (currentTime_2 <= startTime_3(D))
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_4 = startTime_3(D) - currentTime_2;
retVal_5 = timeoutTicks_1 < _4;
# DEBUG retVal => retVal_5
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
_6 = startTime_3(D) - currentTime_2;
_7 = _6 + 16777215;
retVal_8 = timeoutTicks_1 < _7;
# DEBUG retVal => retVal_8
<bb 5> [local count: 1073741824]:
# retVal_9 = PHI <retVal_5(3), retVal_8(4)>
# DEBUG retVal => retVal_9
# DEBUG BEGIN_STMT
return retVal_9;
}
;; Function Lpuart_Uart_Ip_Init (Lpuart_Uart_Ip_Init, funcdef_no=26, decl_uid=4535, cgraph_uid=27, symbol_order=30)
Removing basic block 50
Removing basic block 56
Removing basic block 61
Symbols to be put in SSA form
{ D.5146 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 70
Number of blocks to update: 66 ( 94%)
Merging blocks 3 and 37
Merging blocks 5 and 36
Merging blocks 7 and 35
Merging blocks 9 and 34
Merging blocks 11 and 33
Merging blocks 16 and 32
Merging blocks 21 and 41
Merging blocks 22 and 43
Merging blocks 23 and 55
Merging blocks 24 and 69
Removing basic block 25
Removing basic block 26
Removing basic block 27
Removing basic block 28
Removing basic block 29
Removing basic block 30
Removing basic block 31
Removing basic block 42
Removing basic block 48
Removing basic block 54
Removing basic block 60
Merging blocks 21 and 40
Merging blocks 21 and 39
Merging blocks 21 and 38
Merging blocks 22 and 44
Merging blocks 22 and 45
Merging blocks 23 and 57
Merging blocks 24 and 68
Merging blocks 24 and 67
Merging blocks 24 and 66
;; 8 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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
;;
;; Loop 1
;; header 18, latch 17
;; depth 1, outer 0
;; nodes: 18 17
;;
;; Loop 7
;; header 16, latch 16
;; depth 1, outer 0
;; nodes: 16
;;
;; Loop 2
;; header 11, latch 11
;; depth 1, outer 0
;; nodes: 11
;;
;; Loop 3
;; header 9, latch 9
;; depth 1, outer 0
;; nodes: 9
;;
;; Loop 4
;; header 7, latch 7
;; depth 1, outer 0
;; nodes: 7
;;
;; Loop 5
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 6
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 9 }
;; 10 succs { 12 11 }
;; 11 succs { 11 }
;; 12 succs { 15 13 }
;; 13 succs { 15 14 }
;; 14 succs { 15 }
;; 15 succs { 18 16 }
;; 16 succs { 16 }
;; 17 succs { 18 }
;; 18 succs { 17 19 }
;; 19 succs { 20 21 }
;; 20 succs { 21 }
;; 21 succs { 22 29 }
;; 22 succs { 23 24 }
;; 23 succs { 28 }
;; 24 succs { 25 26 }
;; 25 succs { 27 }
;; 26 succs { 27 }
;; 27 succs { 28 }
;; 28 succs { 36 }
;; 29 succs { 30 31 }
;; 30 succs { 35 }
;; 31 succs { 32 33 }
;; 32 succs { 34 }
;; 33 succs { 34 }
;; 34 succs { 35 }
;; 35 succs { 36 }
;; 36 succs { 1 }
Lpuart_Uart_Ip_Init (uint32 u32Instance, const struct Lpuart_Uart_Ip_UserConfigType * pUserConfig)
{
uint32 tmpBitCountPerChar;
uint32 tmpBitCountPerChar;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
uint32 u32Index;
struct LPUART_Type * pBase;
_Bool _1;
_Bool _2;
struct Lpuart_Uart_Ip_StateStructureType * _3;
_Bool _4;
unsigned char _5;
_Bool _6;
long unsigned int _7;
long unsigned int _8;
_Bool _9;
struct Lpuart_Uart_Ip_StateStructureType * _10;
<unnamed type> _11;
<unnamed type> _12;
_Bool _13;
uint8 * _14;
unsigned char _15;
unsigned int _16;
unsigned int _17;
long unsigned int _18;
<unnamed type> _19;
<unnamed type> _20;
<unnamed type> _21;
<unnamed type> _22;
<unnamed type> _23;
long unsigned int _24;
int iftmp.0_26;
_Bool x.1_47;
_Bool x.1_48;
_Bool x.1_49;
_Bool x.1_50;
_Bool x.1_51;
_Bool x.1_52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
long unsigned int _68;
long unsigned int _69;
long unsigned int _70;
long unsigned int _71;
long unsigned int _72;
long unsigned int _73;
long unsigned int _77;
long unsigned int _78;
long unsigned int _79;
long unsigned int _80;
long unsigned int _84;
long unsigned int _85;
long unsigned int _86;
long unsigned int _87;
long unsigned int _88;
long unsigned int _89;
long unsigned int _93;
long unsigned int _94;
long unsigned int _97;
long unsigned int _98;
long unsigned int _100;
long unsigned int _101;
long unsigned int _102;
long unsigned int _103;
long unsigned int _104;
long unsigned int _105;
long unsigned int _106;
long unsigned int _107;
long unsigned int _108;
long unsigned int _109;
long unsigned int _110;
long unsigned int _111;
long unsigned int _112;
<unnamed type> _113;
long unsigned int _114;
long unsigned int _115;
long unsigned int _116;
long unsigned int _117;
long unsigned int _118;
<unnamed type> _119;
long unsigned int _120;
long unsigned int _121;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_30(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_51 ={v} x;
if (x.1_51 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pUserConfig_32(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_50 ={v} x;
if (x.1_50 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_30(D)];
_4 = _3 == 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_49 ={v} x;
if (x.1_49 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_5 = pUserConfig_32(D)->u8BaudOverSamplingRatio;
_6 = _5 <= 32;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_48 ={v} x;
if (x.1_48 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 10> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_7 = pUserConfig_32(D)->u32BaudRateDivisor;
_8 = _7 + 4294967295;
_9 = _8 <= 8190;
x ={v} _9;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_47 ={v} x;
if (x.1_47 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 67108864]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 11>; [100.00%]
<bb 12> [local count: 6711]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
pBase_33 = Lpuart_Uart_Ip_apBases[u32Instance_30(D)];
# DEBUG pBase => pBase_33
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_10 = pUserConfig_32(D)->pStateStruct;
Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_30(D)] = _10;
# DEBUG BEGIN_STMT
# DEBUG pUartStatePtr => _10
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_apUserConfig[u32Instance_30(D)] = pUserConfig_32(D);
# DEBUG BEGIN_STMT
_11 = pUserConfig_32(D)->eBitCountPerChar;
if (_11 != 3)
goto <bb 15>; [66.00%]
else
goto <bb 13>; [34.00%]
<bb 13> [local count: 2282]:
_12 = pUserConfig_32(D)->eParityMode;
if (_12 == 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 1141]:
<bb 15> [local count: 6711]:
# iftmp.0_26 = PHI <1(13), 0(14), 1(12)>
_13 = (_Bool) iftmp.0_26;
x ={v} _13;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_52 ={v} x;
if (x.1_52 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 33554432]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 17> [local count: 80531]:
# DEBUG BEGIN_STMT
_14 = _10 + u32Index_25;
*_14 = 0;
# DEBUG BEGIN_STMT
u32Index_46 = u32Index_25 + 1;
# DEBUG u32Index => u32Index_46
<bb 18> [local count: 83886]:
# u32Index_25 = PHI <u32Index_46(17), 0(15)>
# DEBUG x => NULL
# DEBUG pClearStructPtr => NULL
# DEBUG u32Index => u32Index_25
# DEBUG BEGIN_STMT
if (u32Index_25 != 24)
goto <bb 17>; [96.00%]
else
goto <bb 19>; [4.00%]
<bb 19> [local count: 3355]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_33
# DEBUG INLINE_ENTRY LPUART_Uart_Init
# DEBUG BEGIN_STMT
pBase_33->BAUD ={v} 251658244;
# DEBUG BEGIN_STMT
pBase_33->STAT ={v} 3223306240;
# DEBUG BEGIN_STMT
pBase_33->CTRL ={v} 0;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
_15 = pUserConfig_32(D)->u8BaudOverSamplingRatio;
if (_15 <= 7)
goto <bb 20>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 20> [local count: 1678]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_33
# DEBUG INLINE_ENTRY LPUART_Uart_EnableBothEdgeSamplingCmd
# DEBUG BEGIN_STMT
_53 ={v} pBase_33->BAUD;
_54 = _53 | 131072;
pBase_33->BAUD ={v} _54;
<bb 21> [local count: 3355]:
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
_16 = (unsigned int) _15;
_17 = _16 + 4294967295;
# DEBUG pBase => pBase_33
# DEBUG overSamplingRatio => _17
# DEBUG INLINE_ENTRY LPUART_Uart_SetOversamplingRatio
# DEBUG BEGIN_STMT
_69 ={v} pBase_33->BAUD;
_70 = _69 & 3774873599;
_71 = _17 << 24;
_72 = _71 & 520093696;
_73 = _70 | _72;
pBase_33->BAUD ={v} _73;
# DEBUG pBase => NULL
# DEBUG overSamplingRatio => NULL
# DEBUG BEGIN_STMT
_18 = pUserConfig_32(D)->u32BaudRateDivisor;
# DEBUG pBase => pBase_33
# DEBUG baudRateDivisor => _18
# DEBUG INLINE_ENTRY LPUART_Uart_SetBaudRateDivisor
# DEBUG BEGIN_STMT
_65 ={v} pBase_33->BAUD;
_66 = _65 & 4294959104;
_67 = _18 & 8191;
_68 = _66 | _67;
pBase_33->BAUD ={v} _68;
# DEBUG pBase => NULL
# DEBUG baudRateDivisor => NULL
# DEBUG BEGIN_STMT
_19 = pUserConfig_32(D)->eParityMode;
if (_19 != 0)
goto <bb 22>; [50.00%]
else
goto <bb 29>; [50.00%]
<bb 22> [local count: 1678]:
# DEBUG BEGIN_STMT
_20 = pUserConfig_32(D)->eBitCountPerChar;
# DEBUG pBase => pBase_33
# DEBUG bitCountPerChar => _20
# DEBUG parity => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetBitCountPerChar
# DEBUG BEGIN_STMT
tmpBitCountPerChar_74 = (uint32) _20;
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_74
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmpBitCountPerChar_75 = tmpBitCountPerChar_74 + 1;
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_75
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_75
# DEBUG BEGIN_STMT
if (tmpBitCountPerChar_75 == 3)
goto <bb 23>; [34.00%]
else
goto <bb 24>; [66.00%]
<bb 23> [local count: 570]:
# DEBUG BEGIN_STMT
_77 ={v} pBase_33->BAUD;
_78 = _77 | 536870912;
pBase_33->BAUD ={v} _78;
goto <bb 28>; [100.00%]
<bb 24> [local count: 1107]:
# DEBUG BEGIN_STMT
if (_20 == 0)
goto <bb 25>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 25> [local count: 554]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_79 ={v} pBase_33->CTRL;
_80 = _79 & 4294965231;
pBase_33->CTRL ={v} _80;
goto <bb 27>; [100.00%]
<bb 26> [local count: 554]:
# DEBUG BEGIN_STMT
tmpBitCountPerChar_83 = tmpBitCountPerChar_75 + 4294967295;
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_83
# DEBUG BEGIN_STMT
_84 ={v} pBase_33->CTRL;
_85 = _84 & 4294967279;
_86 = tmpBitCountPerChar_83 << 4;
_87 = _85 | _86;
pBase_33->CTRL ={v} _87;
<bb 27> [local count: 1107]:
# DEBUG BEGIN_STMT
_88 ={v} pBase_33->BAUD;
_89 = _88 & 3758096383;
pBase_33->BAUD ={v} _89;
<bb 28> [local count: 1678]:
goto <bb 36>; [100.00%]
<bb 29> [local count: 1678]:
# DEBUG BEGIN_STMT
_21 = pUserConfig_32(D)->eBitCountPerChar;
# DEBUG pBase => pBase_33
# DEBUG bitCountPerChar => _21
# DEBUG parity => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetBitCountPerChar
# DEBUG BEGIN_STMT
tmpBitCountPerChar_90 = (uint32) _21;
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_90
# DEBUG BEGIN_STMT
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_90
# DEBUG BEGIN_STMT
if (tmpBitCountPerChar_90 == 3)
goto <bb 30>; [34.00%]
else
goto <bb 31>; [66.00%]
<bb 30> [local count: 570]:
# DEBUG BEGIN_STMT
_93 ={v} pBase_33->BAUD;
_94 = _93 | 536870912;
pBase_33->BAUD ={v} _94;
goto <bb 35>; [100.00%]
<bb 31> [local count: 1107]:
# DEBUG BEGIN_STMT
if (_21 == 0)
goto <bb 32>; [50.00%]
else
goto <bb 33>; [50.00%]
<bb 32> [local count: 554]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_97 ={v} pBase_33->CTRL;
_98 = _97 | 2048;
pBase_33->CTRL ={v} _98;
goto <bb 34>; [100.00%]
<bb 33> [local count: 554]:
# DEBUG BEGIN_STMT
tmpBitCountPerChar_99 = tmpBitCountPerChar_90 + 4294967295;
# DEBUG tmpBitCountPerChar => tmpBitCountPerChar_99
# DEBUG BEGIN_STMT
_100 ={v} pBase_33->CTRL;
_101 = _100 & 4294967279;
_102 = tmpBitCountPerChar_99 << 4;
_103 = _101 | _102;
pBase_33->CTRL ={v} _103;
<bb 34> [local count: 1107]:
# DEBUG BEGIN_STMT
_104 ={v} pBase_33->BAUD;
_105 = _104 & 3758096383;
pBase_33->BAUD ={v} _105;
<bb 35> [local count: 1678]:
<bb 36> [local count: 3355]:
# DEBUG pBase => NULL
# DEBUG bitCountPerChar => NULL
# DEBUG parity => NULL
# DEBUG tmpBitCountPerChar => NULL
# DEBUG pBase => NULL
# DEBUG bitCountPerChar => NULL
# DEBUG parity => NULL
# DEBUG tmpBitCountPerChar => NULL
# DEBUG BEGIN_STMT
_22 = pUserConfig_32(D)->eParityMode;
# DEBUG pBase => pBase_33
# DEBUG parityModeType => _22
# DEBUG INLINE_ENTRY LPUART_Uart_SetParityMode
# DEBUG BEGIN_STMT
_111 ={v} pBase_33->CTRL;
_112 = _111 & 4294967293;
_113 = _22 >> 1;
_114 = (long unsigned int) _113;
_115 = _114 << 1;
_116 = _112 | _115;
pBase_33->CTRL ={v} _116;
# DEBUG BEGIN_STMT
_117 ={v} pBase_33->CTRL;
_118 = _117 & 4294967294;
_119 = _22 & 1;
_120 = (long unsigned int) _119;
_121 = _118 | _120;
pBase_33->CTRL ={v} _121;
# DEBUG pBase => NULL
# DEBUG parityModeType => NULL
# DEBUG BEGIN_STMT
_23 = pUserConfig_32(D)->eStopBitsCount;
# DEBUG pBase => pBase_33
# DEBUG stopBitCount => _23
# DEBUG INLINE_ENTRY LPUART_Uart_SetStopBitCount
# DEBUG BEGIN_STMT
_106 ={v} pBase_33->BAUD;
_107 = _106 & 4294959103;
_108 = (long unsigned int) _23;
_109 = _108 << 13;
_110 = _107 | _109;
pBase_33->BAUD ={v} _110;
# DEBUG pBase => NULL
# DEBUG stopBitCount => NULL
# DEBUG BEGIN_STMT
_10->eTransmitStatus ={v} 0;
# DEBUG BEGIN_STMT
_10->eReceiveStatus ={v} 0;
# DEBUG BEGIN_STMT
_24 = pUserConfig_32(D)->u32BaudRate;
_10->u32BaudRate = _24;
return;
}
;; Function Lpuart_Uart_Ip_Deinit (Lpuart_Uart_Ip_Deinit, funcdef_no=27, decl_uid=4537, cgraph_uid=28, symbol_order=31)
Lpuart_Uart_Ip_Deinit (uint32 u32Instance)
{
boolean retVal;
volatile boolean x;
volatile boolean x;
struct LPUART_Type * pBase;
uint32 u32StartTime;
_Bool _1;
struct Lpuart_Uart_Ip_StateStructureType * _2;
_Bool _3;
_Bool _4;
_Bool x.1_14;
_Bool x.1_15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_7(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_15 ={v} x;
if (x.1_15 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_9 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
# DEBUG pBase => pBase_9
# DEBUG BEGIN_STMT
_2 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
_3 = _2 != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_14 ={v} x;
if (x.1_14 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
u32StartTime_11 = OsIf_GetCounter (0);
# DEBUG u32StartTime => u32StartTime_11
# DEBUG BEGIN_STMT
<bb 7> [local count: 501865]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG eStatusFlag => 22
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_16 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
_17 = _16 >> 22;
retVal_18 = (boolean) _17;
# DEBUG retVal => retVal_18
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_18 != 0)
goto <bb 9>; [5.50%]
else
goto <bb 8>; [94.50%]
<bb 8> [local count: 474262]:
_4 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_11);
if (_4 != 0)
goto <bb 9>; [5.50%]
else
goto <bb 12>; [94.50%]
<bb 12> [local count: 448178]:
goto <bb 7>; [100.00%]
<bb 9> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 23
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_31 ={v} pBase_9->CTRL;
_32 = _31 & 4286578687;
pBase_9->CTRL ={v} _32;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_29 ={v} pBase_9->CTRL;
_30 = _29 & 4290772991;
pBase_9->CTRL ={v} _30;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 21
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_27 ={v} pBase_9->CTRL;
_28 = _27 & 4292870143;
pBase_9->CTRL ={v} _28;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 27
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_25 ={v} pBase_9->CTRL;
_26 = _25 & 4160749567;
pBase_9->CTRL ={v} _26;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 24
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_23 ={v} pBase_9->CTRL;
_24 = _23 & 4278190079;
pBase_9->CTRL ={v} _24;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 26
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_21 ={v} pBase_9->CTRL;
_22 = _21 & 4227858431;
pBase_9->CTRL ={v} _22;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 25
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_19 ={v} pBase_9->CTRL;
_20 = _19 & 4261412863;
pBase_9->CTRL ={v} _20;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)] = 0B;
return;
}
;; Function Lpuart_Uart_Ip_SyncSend (Lpuart_Uart_Ip_SyncSend, funcdef_no=28, decl_uid=4541, cgraph_uid=29, symbol_order=32)
Lpuart_Uart_Ip_SyncSend (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
boolean retVal;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
Lpuart_Uart_Ip_StatusType retVal;
boolean bIsReturn;
uint32 u32StartTime;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
struct LPUART_Type * pBase;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool _5;
_Bool _6;
long unsigned int _7;
_Bool _8;
long unsigned int _9;
_Bool x.1_41;
_Bool x.1_42;
_Bool x.1_43;
_Bool x.1_44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _53;
long unsigned int _54;
long unsigned int _56;
long unsigned int _57;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_19(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_44 ={v} x;
if (x.1_44 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 28> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 35> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pTxBuff_21(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_43 ={v} x;
if (x.1_43 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 27> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 34> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32TxSize_22(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_42 ={v} x;
if (x.1_42 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 26> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 33> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
pBase_23 = Lpuart_Uart_Ip_apBases[u32Instance_19(D)];
# DEBUG pBase => pBase_23
# DEBUG BEGIN_STMT
pUartState_24 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_19(D)];
# DEBUG pUartState => pUartState_24
# DEBUG BEGIN_STMT
_4 = pUartState_24 != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_41 ={v} x;
if (x.1_41 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 25> [local count: 13422]:
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 32> [local count: 134217728]:
goto <bb 9>; [100.00%]
<bb 10> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
_5 ={v} pUartState_24->bIsTxBusy;
if (_5 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 4429]:
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 12> [local count: 13422]:
# bIsReturn_10 = PHI <0(10), 1(11)>
# retVal_11 = PHI <0(10), 2(11)>
# DEBUG retVal => retVal_11
# DEBUG bIsReturn => bIsReturn_10
# DEBUG BEGIN_STMT
if (bIsReturn_10 != 0)
goto <bb 24>; [67.00%]
else
goto <bb 13>; [33.00%]
<bb 13> [local count: 4429]:
# DEBUG BEGIN_STMT
pUartState_24->bIsTxBusy ={v} 1;
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
pUartState_24->pTxBuff = pTxBuff_21(D);
# DEBUG BEGIN_STMT
pUartState_24->u32TxSize ={v} u32TxSize_22(D);
# DEBUG BEGIN_STMT
pUartState_24->eTransmitStatus ={v} 2;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_23
# DEBUG intSrc => 23
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_50 ={v} pBase_23->CTRL;
_51 = _50 & 4286578687;
pBase_23->CTRL ={v} _51;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_23
# DEBUG intSrc => 22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_48 ={v} pBase_23->CTRL;
_49 = _48 & 4290772991;
pBase_23->CTRL ={v} _49;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_23
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
# DEBUG BEGIN_STMT
_45 ={v} pBase_23->CTRL;
_46 = _45 & 4294443007;
_47 = _46 | 524288;
pBase_23->CTRL ={v} _47;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
u32StartTime_33 = OsIf_GetCounter (0);
# DEBUG u32StartTime => u32StartTime_33
# DEBUG BEGIN_STMT
goto <bb 17>; [100.00%]
<bb 14> [local count: 57207]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_PutData (u32Instance_19(D));
# DEBUG BEGIN_STMT
<bb 15> [local count: 534766]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_23
# DEBUG eStatusFlag => 23
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_53 ={v} MEM[(const struct LPUART_Type *)pBase_23].STAT;
_54 = _53 >> 23;
retVal_55 = (boolean) _54;
# DEBUG retVal => retVal_55
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_55 != 0)
goto <bb 30>; [5.50%]
else
goto <bb 16>; [94.50%]
<bb 30> [local count: 29412]:
goto <bb 18>; [100.00%]
<bb 16> [local count: 505354]:
_6 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_33);
if (_6 != 0)
goto <bb 29>; [5.50%]
else
goto <bb 31>; [94.50%]
<bb 31> [local count: 477560]:
goto <bb 15>; [100.00%]
<bb 29> [local count: 27794]:
<bb 17> [local count: 32224]:
<bb 18> [local count: 61636]:
# DEBUG BEGIN_STMT
_7 ={v} pUartState_24->u32TxSize;
if (_7 != 0)
goto <bb 19>; [96.34%]
else
goto <bb 20>; [3.66%]
<bb 19> [local count: 59380]:
_8 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_33);
if (_8 != 0)
goto <bb 20>; [3.66%]
else
goto <bb 14>; [96.34%]
<bb 20> [local count: 4429]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_23
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
# DEBUG BEGIN_STMT
_56 ={v} pBase_23->CTRL;
_57 = _56 & 4294443007;
pBase_23->CTRL ={v} _57;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_9 ={v} pUartState_24->u32TxSize;
if (_9 != 0)
goto <bb 21>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 21> [local count: 2215]:
# DEBUG BEGIN_STMT
pUartState_24->eTransmitStatus ={v} 3;
goto <bb 23>; [100.00%]
<bb 22> [local count: 2215]:
# DEBUG BEGIN_STMT
pUartState_24->eTransmitStatus ={v} 0;
<bb 23> [local count: 4429]:
# DEBUG BEGIN_STMT
pUartState_24->bIsTxBusy ={v} 0;
# DEBUG BEGIN_STMT
retVal_40 ={v} pUartState_24->eTransmitStatus;
# DEBUG retVal => retVal_40
<bb 24> [local count: 13422]:
# retVal_12 = PHI <retVal_11(12), retVal_40(23)>
# DEBUG retVal => retVal_12
# DEBUG BEGIN_STMT
return retVal_12;
}
;; Function Lpuart_Uart_Ip_AsyncSend (Lpuart_Uart_Ip_AsyncSend, funcdef_no=29, decl_uid=4545, cgraph_uid=30, symbol_order=33)
Symbols to be put in SSA form
{ D.5149 D.5603 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 34
Number of blocks to update: 33 ( 97%)
Merging blocks 3 and 31
Merging blocks 5 and 30
Merging blocks 7 and 29
Merging blocks 9 and 28
Merging blocks 14 and 27
Merging blocks 16 and 26
Removing basic block 18
Removing basic block 20
Removing basic block 21
Removing basic block 22
Removing basic block 23
Removing basic block 24
Removing basic block 25
Merging blocks 33 and 32
;; 7 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
;;
;; Loop 5
;; header 16, latch 16
;; depth 1, outer 0
;; nodes: 16
;;
;; Loop 6
;; header 14, latch 14
;; depth 1, outer 0
;; nodes: 14
;;
;; Loop 1
;; header 9, latch 9
;; depth 1, outer 0
;; nodes: 9
;;
;; Loop 2
;; header 7, latch 7
;; depth 1, outer 0
;; nodes: 7
;;
;; Loop 3
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 4
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 9 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 13 19 }
;; 13 succs { 15 14 }
;; 14 succs { 14 }
;; 15 succs { 17 16 }
;; 16 succs { 16 }
;; 17 succs { 18 19 }
;; 18 succs { 19 }
;; 19 succs { 1 }
Lpuart_Uart_Ip_AsyncSend (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
struct LPUART_Type * pBase;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
Lpuart_Uart_Ip_StatusType D.5603;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
boolean bIsReturn;
Lpuart_Uart_Ip_StatusType retVal;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool _5;
_Bool _6;
<unnamed type> _7;
_Bool _8;
_Bool x.1_26;
_Bool x.1_27;
_Bool x.1_28;
_Bool x.1_29;
_Bool x.1_30;
_Bool x.1_31;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_14(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_29 ={v} x;
if (x.1_29 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pTxBuff_16(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_28 ={v} x;
if (x.1_28 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32TxSize_17(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_27 ={v} x;
if (x.1_27 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
pUartUserCfg_18 = Lpuart_Uart_Ip_apUserConfig[u32Instance_14(D)];
# DEBUG pUartUserCfg => pUartUserCfg_18
# DEBUG BEGIN_STMT
pUartState_19 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
# DEBUG pUartState => pUartState_19
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
_4 = pUartState_19 != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_26 ={v} x;
if (x.1_26 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 10> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_5 ={v} pUartState_19->bIsTxBusy;
if (_5 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 4429]:
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 12> [local count: 13422]:
# retVal_9 = PHI <0(10), 2(11)>
# bIsReturn_11 = PHI <0(10), 1(11)>
# DEBUG bIsReturn => bIsReturn_11
# DEBUG retVal => retVal_9
# DEBUG BEGIN_STMT
if (bIsReturn_11 != 0)
goto <bb 19>; [67.00%]
else
goto <bb 13>; [33.00%]
<bb 13> [local count: 4429]:
# DEBUG BEGIN_STMT
pUartState_19->bIsTxBusy ={v} 1;
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_6 = pUartUserCfg_18 != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_31 ={v} x;
if (x.1_31 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 22145925]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 15> [local count: 2215]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_7 = pUartUserCfg_18->eTransferType;
_8 = _7 <= 1;
x ={v} _8;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_30 ={v} x;
if (x.1_30 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 11072963]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 17> [local count: 1107]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (_7 == 1)
goto <bb 18>; [20.24%]
else
goto <bb 19>; [79.76%]
<bb 18> [local count: 224]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_14(D)
# DEBUG pTxBuff => pTxBuff_16(D)
# DEBUG u32TxSize => u32TxSize_17(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_StartSendDataUsingInt
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_38 = Lpuart_Uart_Ip_apBases[u32Instance_14(D)];
# DEBUG pBase => pBase_38
# DEBUG BEGIN_STMT
pUartState_39 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
# DEBUG pUartState => pUartState_39
# DEBUG BEGIN_STMT
pUartState_39->pTxBuff = pTxBuff_16(D);
# DEBUG BEGIN_STMT
pUartState_39->u32TxSize ={v} u32TxSize_17(D);
# DEBUG BEGIN_STMT
pUartState_39->eTransmitStatus ={v} 2;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
# DEBUG BEGIN_STMT
_40 ={v} pBase_38->CTRL;
_41 = _40 & 4294443007;
_42 = _41 | 524288;
pBase_38->CTRL ={v} _42;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 23
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_43 ={v} pBase_38->CTRL;
_44 = _43 & 4286578687;
_45 = _44 | 8388608;
pBase_38->CTRL ={v} _45;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_51 = 0;
# DEBUG u32Instance => NULL
# DEBUG pTxBuff => NULL
# DEBUG u32TxSize => NULL
# DEBUG pUartState => NULL
# DEBUG pBase => NULL
retVal_25 = _51;
# DEBUG retVal => retVal_25
<bb 19> [local count: 10100]:
# retVal_10 = PHI <retVal_9(12), retVal_9(17), retVal_25(18)>
# DEBUG retVal => retVal_10
# DEBUG BEGIN_STMT
return retVal_10;
}
;; Function Lpuart_Uart_Ip_GetTransmitStatus (Lpuart_Uart_Ip_GetTransmitStatus, funcdef_no=30, decl_uid=4548, cgraph_uid=31, symbol_order=34)
Lpuart_Uart_Ip_GetTransmitStatus (uint32 u32Instance, uint32 * pBytesRemaining)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
<unnamed type> _5;
long unsigned int _6;
Lpuart_Uart_Ip_StatusType _15;
_Bool x.1_16;
_Bool x.1_17;
_Bool x.1_18;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_8(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_18 ={v} x;
if (x.1_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 19> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
# DEBUG pUartState => pUartState_10
# DEBUG BEGIN_STMT
pUartUserCfg_11 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
# DEBUG pUartUserCfg => pUartUserCfg_11
# DEBUG BEGIN_STMT
_2 = pUartState_10 != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_17 ={v} x;
if (x.1_17 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 18> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = pUartUserCfg_11 != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (pBytesRemaining_12(D) != 0B)
goto <bb 9>; [70.00%]
else
goto <bb 13>; [30.00%]
<bb 9> [local count: 18790]:
# DEBUG BEGIN_STMT
_4 ={v} pUartState_10->bIsTxBusy;
if (_4 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 10> [local count: 9395]:
# DEBUG BEGIN_STMT
_5 = pUartUserCfg_11->eTransferType;
if (_5 == 1)
goto <bb 11>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 11> [local count: 3194]:
# DEBUG BEGIN_STMT
_6 ={v} pUartState_10->u32TxSize;
*pBytesRemaining_12(D) = _6;
goto <bb 13>; [100.00%]
<bb 12> [local count: 9395]:
# DEBUG BEGIN_STMT
*pBytesRemaining_12(D) = 0;
<bb 13> [local count: 26844]:
# DEBUG BEGIN_STMT
_15 ={v} pUartState_10->eTransmitStatus;
return _15;
}
;; Function Lpuart_Uart_Ip_AbortSendingData (Lpuart_Uart_Ip_AbortSendingData, funcdef_no=31, decl_uid=4550, cgraph_uid=32, symbol_order=35)
Lpuart_Uart_Ip_AbortSendingData (uint32 u32Instance)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
struct LPUART_Type * pBase;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
<unnamed type> _5;
_Bool x.1_15;
_Bool x.1_16;
_Bool x.1_17;
long unsigned int _18;
long unsigned int _19;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_8(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_17 ={v} x;
if (x.1_17 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 18> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_10 = Lpuart_Uart_Ip_apBases[u32Instance_8(D)];
# DEBUG pBase => pBase_10
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
pUartState_11 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
# DEBUG pUartState => pUartState_11
# DEBUG BEGIN_STMT
pUartUserCfg_12 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
# DEBUG pUartUserCfg => pUartUserCfg_12
# DEBUG BEGIN_STMT
_2 = pUartState_11 != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = pUartUserCfg_12 != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_15 ={v} x;
if (x.1_15 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 16> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 ={v} pUartState_11->bIsTxBusy;
if (_4 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 9> [local count: 13422]:
# DEBUG retVal => 0
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_11->eTransmitStatus ={v} 6;
# DEBUG BEGIN_STMT
_5 = pUartUserCfg_12->eTransferType;
if (_5 == 1)
goto <bb 10>; [20.24%]
else
goto <bb 11>; [79.76%]
<bb 10> [local count: 2717]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_8(D));
<bb 11> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_10
# DEBUG INLINE_ENTRY LPUART_Uart_FlushTxBuffer
# DEBUG BEGIN_STMT
_18 ={v} pBase_10->FIFO;
_19 = _18 | 32768;
pBase_10->FIFO ={v} _19;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
<bb 12> [local count: 26844]:
# DEBUG bIsReturn => NULL
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpuart_Uart_Ip_SyncReceive (Lpuart_Uart_Ip_SyncReceive, funcdef_no=32, decl_uid=4554, cgraph_uid=33, symbol_order=36)
Symbols to be put in SSA form
{ D.5152 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 52
Number of blocks to update: 51 ( 98%)
Merging blocks 3 and 29
Merging blocks 5 and 28
Merging blocks 7 and 27
Merging blocks 9 and 26
Merging blocks 13 and 31
Removing basic block 22
Removing basic block 23
Removing basic block 24
Removing basic block 25
Removing basic block 35
Merging blocks 43 and 49
Merging blocks 47 and 30
Removing basic block 48
Removing basic block 51
Merging blocks 43 and 50
;; 7 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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
;;
;; Loop 5
;; header 26, latch 25
;; depth 1, outer 0
;; nodes: 26 25 23 21 19 17 15 16 14 27
;;
;; Loop 6
;; header 15, latch 16
;; depth 2, outer 5
;; nodes: 15 16
;;
;; Loop 1
;; header 9, latch 9
;; depth 1, outer 0
;; nodes: 9
;;
;; Loop 2
;; header 7, latch 7
;; depth 1, outer 0
;; nodes: 7
;;
;; Loop 3
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 4
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 9 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 13 36 }
;; 13 succs { 26 }
;; 14 succs { 15 }
;; 15 succs { 16 17 }
;; 16 succs { 15 17 }
;; 17 succs { 18 19 }
;; 18 succs { 28 }
;; 19 succs { 20 21 }
;; 20 succs { 28 }
;; 21 succs { 22 23 }
;; 22 succs { 28 }
;; 23 succs { 24 25 }
;; 24 succs { 28 }
;; 25 succs { 26 }
;; 26 succs { 27 28 }
;; 27 succs { 14 28 }
;; 28 succs { 29 30 }
;; 29 succs { 30 }
;; 30 succs { 31 32 }
;; 31 succs { 32 }
;; 32 succs { 33 35 }
;; 33 succs { 34 35 }
;; 34 succs { 35 }
;; 35 succs { 36 }
;; 36 succs { 1 }
Lpuart_Uart_Ip_SyncReceive (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
Lpuart_Uart_Ip_StatusType retVal;
boolean bIsReturn;
uint32 u32TimeoutTicks;
uint32 u32ElapsedTime;
uint32 u32StartTime;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
struct LPUART_Type * pBase;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool _5;
long unsigned int _6;
<unnamed type> _7;
long unsigned int _8;
<unnamed type> _9;
_Bool x.1_44;
_Bool x.1_45;
_Bool x.1_46;
_Bool x.1_47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _64;
long unsigned int _65;
_Bool _67;
long unsigned int _68;
long unsigned int _69;
long unsigned int _71;
long unsigned int _72;
long unsigned int _73;
long unsigned int _74;
long unsigned int _75;
long unsigned int _76;
long unsigned int _77;
long unsigned int _79;
long unsigned int _80;
long unsigned int _81;
long unsigned int _82;
long unsigned int _83;
long unsigned int _84;
long unsigned int _85;
long unsigned int _87;
long unsigned int _88;
long unsigned int _89;
long unsigned int _90;
long unsigned int _91;
long unsigned int _92;
long unsigned int _93;
long unsigned int _95;
long unsigned int _96;
long unsigned int _97;
_Bool _98;
long unsigned int _99;
long unsigned int _100;
long unsigned int _101;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_18(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_47 ={v} x;
if (x.1_47 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pRxBuff_20(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_46 ={v} x;
if (x.1_46 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32RxSize_21(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_45 ={v} x;
if (x.1_45 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
pBase_22 = Lpuart_Uart_Ip_apBases[u32Instance_18(D)];
# DEBUG pBase => pBase_22
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
pUartState_23 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_18(D)];
# DEBUG pUartState => pUartState_23
# DEBUG BEGIN_STMT
_4 = pUartState_23 != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_44 ={v} x;
if (x.1_44 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 10> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
_5 ={v} pUartState_23->bIsRxBusy;
if (_5 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 4429]:
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 12> [local count: 13422]:
# bIsReturn_10 = PHI <0(10), 1(11)>
# retVal_11 = PHI <0(10), 2(11)>
# DEBUG retVal => retVal_11
# DEBUG bIsReturn => bIsReturn_10
# DEBUG BEGIN_STMT
if (bIsReturn_10 != 0)
goto <bb 36>; [67.00%]
else
goto <bb 13>; [33.00%]
<bb 13> [local count: 4429]:
# DEBUG BEGIN_STMT
pUartState_23->bIsRxBusy ={v} 1;
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
pUartState_23->pRxBuff = pRxBuff_20(D);
# DEBUG BEGIN_STMT
pUartState_23->u32RxSize ={v} u32RxSize_21(D);
# DEBUG BEGIN_STMT
pUartState_23->eReceiveStatus ={v} 2;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG intSrc => 21
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_51 ={v} pBase_22->CTRL;
_52 = _51 & 4292870143;
pBase_22->CTRL ={v} _52;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_48 ={v} pBase_22->CTRL;
_49 = _48 & 4294705151;
_50 = _49 | 262144;
pBase_22->CTRL ={v} _50;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_6 = OsIf_GetCounter (0);
u32StartTime = _6;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG u32Instance => u32Instance_18(D)
# DEBUG u32StartTime => _6
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_StartGetData
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_63 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_18(D)];
# DEBUG pUartState => pUartState_63
# DEBUG BEGIN_STMT
goto <bb 26>; [100.00%]
<bb 14> [local count: 37262]:
<bb 15> [local count: 348328]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG eStatusFlag => 21
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_64 ={v} MEM[(const struct LPUART_Type *)pBase_22].STAT;
_65 = _64 >> 21;
retVal_66 = (boolean) _65;
# DEBUG retVal => retVal_66
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_66 != 0)
goto <bb 17>; [5.50%]
else
goto <bb 16>; [94.50%]
<bb 16> [local count: 329170]:
_67 = LPUART_Uart_CheckTimeout.constprop (_6);
if (_67 != 0)
goto <bb 17>; [5.50%]
else
goto <bb 15>; [94.50%]
<bb 17> [local count: 37262]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG eStatusFlag => 19
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_68 ={v} MEM[(const struct LPUART_Type *)pBase_22].STAT;
_69 = _68 >> 19;
retVal_70 = (boolean) _69;
# DEBUG retVal => retVal_70
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_70 != 0)
goto <bb 18>; [2.00%]
else
goto <bb 19>; [98.00%]
<bb 18> [local count: 745]:
# DEBUG BEGIN_STMT
pUartState_63->eReceiveStatus ={v} 5;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_71 ={v} pBase_22->CTRL;
_72 = _71 & 4294705151;
pBase_22->CTRL ={v} _72;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG statusFlag => 19
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_73 ={v} pBase_22->STAT;
_74 = _73 & 1071661055;
_75 = _74 | 524288;
pBase_22->STAT ={v} _75;
# DEBUG BEGIN_STMT
goto <bb 28>; [100.00%]
<bb 19> [local count: 36517]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG eStatusFlag => 17
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_76 ={v} MEM[(const struct LPUART_Type *)pBase_22].STAT;
_77 = _76 >> 17;
retVal_78 = (boolean) _77;
# DEBUG retVal => retVal_78
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_78 != 0)
goto <bb 20>; [2.00%]
else
goto <bb 21>; [98.00%]
<bb 20> [local count: 730]:
# DEBUG BEGIN_STMT
pUartState_63->eReceiveStatus ={v} 7;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_79 ={v} pBase_22->CTRL;
_80 = _79 & 4294705151;
pBase_22->CTRL ={v} _80;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG statusFlag => 17
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_81 ={v} pBase_22->STAT;
_82 = _81 & 1071661055;
_83 = _82 | 131072;
pBase_22->STAT ={v} _83;
# DEBUG BEGIN_STMT
goto <bb 28>; [100.00%]
<bb 21> [local count: 35787]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG eStatusFlag => 18
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_84 ={v} MEM[(const struct LPUART_Type *)pBase_22].STAT;
_85 = _84 >> 18;
retVal_86 = (boolean) _85;
# DEBUG retVal => retVal_86
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_86 != 0)
goto <bb 22>; [2.00%]
else
goto <bb 23>; [98.00%]
<bb 22> [local count: 716]:
# DEBUG BEGIN_STMT
pUartState_63->eReceiveStatus ={v} 9;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_87 ={v} pBase_22->CTRL;
_88 = _87 & 4294705151;
pBase_22->CTRL ={v} _88;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG statusFlag => 18
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_89 ={v} pBase_22->STAT;
_90 = _89 & 1071661055;
_91 = _90 | 262144;
pBase_22->STAT ={v} _91;
# DEBUG BEGIN_STMT
goto <bb 28>; [100.00%]
<bb 23> [local count: 35071]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG eStatusFlag => 16
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_92 ={v} MEM[(const struct LPUART_Type *)pBase_22].STAT;
_93 = _92 >> 16;
retVal_94 = (boolean) _93;
# DEBUG retVal => retVal_94
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_94 != 0)
goto <bb 24>; [2.00%]
else
goto <bb 25>; [98.00%]
<bb 24> [local count: 701]:
# DEBUG BEGIN_STMT
pUartState_63->eReceiveStatus ={v} 8;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_95 ={v} pBase_22->CTRL;
_96 = _95 & 4294705151;
pBase_22->CTRL ={v} _96;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG statusFlag => 16
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG D#4 => 16
# DEBUG pBase => pBase_22
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG D#5 => D#4
# DEBUG statusFlag => D#5
# DEBUG BEGIN_STMT
_99 ={v} pBase_22->STAT;
_100 = _99 & 1071661055;
_101 = _100 | 65536;
pBase_22->STAT ={v} _101;
# DEBUG BEGIN_STMT
goto <bb 28>; [100.00%]
<bb 25> [local count: 34370]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_GetData (u32Instance_18(D));
<bb 26> [local count: 38799]:
# DEBUG BEGIN_STMT
_97 ={v} pUartState_63->u32RxSize;
if (_97 != 0)
goto <bb 27>; [98.00%]
else
goto <bb 28>; [2.00%]
<bb 27> [local count: 38023]:
_98 = LPUART_Uart_CheckTimeout.constprop (_6);
if (_98 != 0)
goto <bb 28>; [2.00%]
else
goto <bb 14>; [98.00%]
<bb 28> [local count: 4429]:
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG u32Instance => NULL
# DEBUG u32StartTime => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG pUartState => NULL
# DEBUG BEGIN_STMT
u32ElapsedTime_35 = OsIf_GetElapsed (&u32StartTime, 0);
# DEBUG u32ElapsedTime => u32ElapsedTime_35
# DEBUG BEGIN_STMT
u32TimeoutTicks_37 = OsIf_MicrosToTicks (0, 0);
# DEBUG u32TimeoutTicks => u32TimeoutTicks_37
# DEBUG BEGIN_STMT
if (u32ElapsedTime_35 >= u32TimeoutTicks_37)
goto <bb 29>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 29> [local count: 2215]:
# DEBUG BEGIN_STMT
pUartState_23->eReceiveStatus ={v} 3;
<bb 30> [local count: 4429]:
# DEBUG BEGIN_STMT
_7 ={v} pUartState_23->eReceiveStatus;
if (_7 == 2)
goto <bb 31>; [34.00%]
else
goto <bb 32>; [66.00%]
<bb 31> [local count: 1506]:
# DEBUG BEGIN_STMT
pUartState_23->eReceiveStatus ={v} 0;
<bb 32> [local count: 4429]:
# DEBUG BEGIN_STMT
_8 ={v} pUartState_23->u32RxSize;
if (_8 == 0)
goto <bb 33>; [50.00%]
else
goto <bb 35>; [50.00%]
<bb 33> [local count: 2215]:
_9 ={v} pUartState_23->eReceiveStatus;
if (_9 == 5)
goto <bb 34>; [34.00%]
else
goto <bb 35>; [66.00%]
<bb 34> [local count: 753]:
# DEBUG BEGIN_STMT
pUartState_23->eReceiveStatus ={v} 0;
<bb 35> [local count: 4429]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_54 ={v} pBase_22->CTRL;
_55 = _54 & 4294705151;
pBase_22->CTRL ={v} _55;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
pUartState_23->bIsRxBusy ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_22
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar
# DEBUG BEGIN_STMT
_53 ={v} MEM[(const struct LPUART_Type *)pBase_22].DATA;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
retVal_42 ={v} pUartState_23->eReceiveStatus;
# DEBUG retVal => retVal_42
<bb 36> [local count: 13422]:
# retVal_12 = PHI <retVal_11(12), retVal_42(35)>
# DEBUG retVal => retVal_12
# DEBUG BEGIN_STMT
u32StartTime ={v} {CLOBBER};
return retVal_12;
}
;; Function Lpuart_Uart_Ip_AsyncReceive (Lpuart_Uart_Ip_AsyncReceive, funcdef_no=34, decl_uid=4558, cgraph_uid=35, symbol_order=38)
Symbols to be put in SSA form
{ D.5153 D.5674 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 36
Number of blocks to update: 35 ( 97%)
Merging blocks 3 and 31
Merging blocks 5 and 30
Merging blocks 7 and 29
Merging blocks 9 and 28
Merging blocks 14 and 27
Merging blocks 16 and 26
Removing basic block 18
Removing basic block 20
Removing basic block 21
Removing basic block 22
Removing basic block 23
Removing basic block 24
Removing basic block 25
Merging blocks 33 and 35
Merging blocks 33 and 34
Merging blocks 33 and 32
;; 7 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
;;
;; Loop 5
;; header 16, latch 16
;; depth 1, outer 0
;; nodes: 16
;;
;; Loop 6
;; header 14, latch 14
;; depth 1, outer 0
;; nodes: 14
;;
;; Loop 1
;; header 9, latch 9
;; depth 1, outer 0
;; nodes: 9
;;
;; Loop 2
;; header 7, latch 7
;; depth 1, outer 0
;; nodes: 7
;;
;; Loop 3
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 4
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 10 9 }
;; 9 succs { 9 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 13 19 }
;; 13 succs { 15 14 }
;; 14 succs { 14 }
;; 15 succs { 17 16 }
;; 16 succs { 16 }
;; 17 succs { 18 19 }
;; 18 succs { 19 }
;; 19 succs { 1 }
Lpuart_Uart_Ip_AsyncReceive (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
struct LPUART_Type * pBase;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
Lpuart_Uart_Ip_StatusType D.5674;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
volatile boolean x;
boolean bIsReturn;
Lpuart_Uart_Ip_StatusType retVal;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool _5;
_Bool _6;
<unnamed type> _7;
_Bool _8;
_Bool x.1_26;
_Bool x.1_27;
_Bool x.1_28;
_Bool x.1_29;
_Bool x.1_30;
_Bool x.1_31;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _58;
long unsigned int _59;
long unsigned int _60;
long unsigned int _61;
long unsigned int _62;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_14(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_29 ={v} x;
if (x.1_29 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pRxBuff_16(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_28 ={v} x;
if (x.1_28 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32RxSize_17(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_27 ={v} x;
if (x.1_27 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
pUartUserCfg_18 = Lpuart_Uart_Ip_apUserConfig[u32Instance_14(D)];
# DEBUG pUartUserCfg => pUartUserCfg_18
# DEBUG BEGIN_STMT
pUartState_19 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
# DEBUG pUartState => pUartState_19
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
_4 = pUartState_19 != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_26 ={v} x;
if (x.1_26 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 10> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
_5 ={v} pUartState_19->bIsRxBusy;
if (_5 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 4429]:
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 12> [local count: 13422]:
# retVal_9 = PHI <0(10), 2(11)>
# bIsReturn_11 = PHI <0(10), 1(11)>
# DEBUG bIsReturn => bIsReturn_11
# DEBUG retVal => retVal_9
# DEBUG BEGIN_STMT
if (bIsReturn_11 != 0)
goto <bb 19>; [67.00%]
else
goto <bb 13>; [33.00%]
<bb 13> [local count: 4429]:
# DEBUG BEGIN_STMT
pUartState_19->bIsRxBusy ={v} 1;
# DEBUG BEGIN_STMT
SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
_6 = pUartUserCfg_18 != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_31 ={v} x;
if (x.1_31 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 22145925]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 15> [local count: 2215]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_7 = pUartUserCfg_18->eTransferType;
_8 = _7 <= 1;
x ={v} _8;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_30 ={v} x;
if (x.1_30 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 11072963]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 17> [local count: 1107]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (_7 == 1)
goto <bb 18>; [20.24%]
else
goto <bb 19>; [79.76%]
<bb 18> [local count: 224]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_14(D)
# DEBUG pRxBuff => pRxBuff_16(D)
# DEBUG u32RxSize => u32RxSize_17(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_StartReceiveDataUsingInt
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_38 = Lpuart_Uart_Ip_apBases[u32Instance_14(D)];
# DEBUG pBase => pBase_38
# DEBUG BEGIN_STMT
pUartState_39 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
# DEBUG pUartState => pUartState_39
# DEBUG BEGIN_STMT
pUartState_39->bIsRxBusy ={v} 1;
# DEBUG BEGIN_STMT
pUartState_39->pRxBuff = pRxBuff_16(D);
# DEBUG BEGIN_STMT
pUartState_39->u32RxSize ={v} u32RxSize_17(D);
# DEBUG BEGIN_STMT
pUartState_39->eReceiveStatus ={v} 2;
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG INLINE_ENTRY LPUART_Uart_ClearErrorFlags
# DEBUG BEGIN_STMT
# DEBUG mask => 983040
# DEBUG BEGIN_STMT
_60 ={v} pBase_38->STAT;
_61 = _60 & 1071661055;
_62 = _61 | 983040;
pBase_38->STAT ={v} _62;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG INLINE_ENTRY LPUART_Uart_FlushRxBuffer
# DEBUG BEGIN_STMT
_40 ={v} pBase_38->FIFO;
_41 = _40 | 16384;
pBase_38->FIFO ={v} _41;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
# DEBUG BEGIN_STMT
_42 ={v} pBase_38->CTRL;
_43 = _42 & 4294705151;
_44 = _43 | 262144;
pBase_38->CTRL ={v} _44;
# DEBUG pBase => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 27
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_45 ={v} pBase_38->CTRL;
_46 = _45 & 4160749567;
_47 = _46 | 134217728;
pBase_38->CTRL ={v} _47;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 24
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_48 ={v} pBase_38->CTRL;
_49 = _48 & 4278190079;
_50 = _49 | 16777216;
pBase_38->CTRL ={v} _50;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 26
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_51 ={v} pBase_38->CTRL;
_52 = _51 & 4227858431;
_53 = _52 | 67108864;
pBase_38->CTRL ={v} _53;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 25
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_54 ={v} pBase_38->CTRL;
_55 = _54 & 4261412863;
_56 = _55 | 33554432;
pBase_38->CTRL ={v} _56;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_38
# DEBUG intSrc => 21
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_57 ={v} pBase_38->CTRL;
_58 = _57 & 4292870143;
_59 = _58 | 2097152;
pBase_38->CTRL ={v} _59;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_75 = 0;
# DEBUG u32Instance => NULL
# DEBUG pRxBuff => NULL
# DEBUG u32RxSize => NULL
# DEBUG pUartState => NULL
# DEBUG pBase => NULL
retVal_25 = _75;
# DEBUG retVal => retVal_25
<bb 19> [local count: 10100]:
# retVal_10 = PHI <retVal_9(12), retVal_9(17), retVal_25(18)>
# DEBUG retVal => retVal_10
# DEBUG BEGIN_STMT
return retVal_10;
}
;; Function Lpuart_Uart_Ip_GetReceiveStatus (Lpuart_Uart_Ip_GetReceiveStatus, funcdef_no=35, decl_uid=4561, cgraph_uid=36, symbol_order=39)
Lpuart_Uart_Ip_GetReceiveStatus (uint32 u32Instance, uint32 * pBytesRemaining)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
<unnamed type> _5;
long unsigned int _6;
Lpuart_Uart_Ip_StatusType _15;
_Bool x.1_16;
_Bool x.1_17;
_Bool x.1_18;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_8(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_18 ={v} x;
if (x.1_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 19> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
# DEBUG pUartState => pUartState_10
# DEBUG BEGIN_STMT
pUartUserCfg_11 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
# DEBUG pUartUserCfg => pUartUserCfg_11
# DEBUG BEGIN_STMT
_2 = pUartState_10 != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_17 ={v} x;
if (x.1_17 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 18> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = pUartUserCfg_11 != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (pBytesRemaining_12(D) != 0B)
goto <bb 9>; [70.00%]
else
goto <bb 13>; [30.00%]
<bb 9> [local count: 18790]:
# DEBUG BEGIN_STMT
_4 ={v} pUartState_10->bIsRxBusy;
if (_4 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 10> [local count: 9395]:
# DEBUG BEGIN_STMT
_5 = pUartUserCfg_11->eTransferType;
if (_5 == 1)
goto <bb 11>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 11> [local count: 3194]:
# DEBUG BEGIN_STMT
_6 ={v} pUartState_10->u32RxSize;
*pBytesRemaining_12(D) = _6;
goto <bb 13>; [100.00%]
<bb 12> [local count: 9395]:
# DEBUG BEGIN_STMT
*pBytesRemaining_12(D) = 0;
<bb 13> [local count: 26844]:
# DEBUG BEGIN_STMT
_15 ={v} pUartState_10->eReceiveStatus;
return _15;
}
;; Function Lpuart_Uart_Ip_AbortReceivingData (Lpuart_Uart_Ip_AbortReceivingData, funcdef_no=36, decl_uid=4563, cgraph_uid=37, symbol_order=40)
Symbols to be put in SSA form
{ D.5155 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 23
Number of blocks to update: 22 ( 96%)
Merging blocks 3 and 20
Merging blocks 5 and 19
Merging blocks 7 and 18
Merging blocks 13 and 22
Removing basic block 15
Removing basic block 16
Removing basic block 17
Merging blocks 13 and 21
;; 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 12 13 14
;;
;; Loop 1
;; header 7, latch 7
;; depth 1, outer 0
;; nodes: 7
;;
;; Loop 2
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 3
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 8 7 }
;; 7 succs { 7 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 11 14 }
;; 11 succs { 12 13 }
;; 12 succs { 13 }
;; 13 succs { 14 }
;; 14 succs { 1 }
Lpuart_Uart_Ip_AbortReceivingData (uint32 u32Instance)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
Lpuart_Uart_Ip_StatusType retVal;
boolean bIsReturn;
struct LPUART_Type * pBase;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
<unnamed type> _5;
_Bool x.1_19;
_Bool x.1_20;
_Bool x.1_21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_11(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_21 ={v} x;
if (x.1_21 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_13 = Lpuart_Uart_Ip_apBases[u32Instance_11(D)];
# DEBUG pBase => pBase_13
# DEBUG BEGIN_STMT
pUartState_14 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_11(D)];
# DEBUG pUartState => pUartState_14
# DEBUG BEGIN_STMT
pUartUserCfg_15 = Lpuart_Uart_Ip_apUserConfig[u32Instance_11(D)];
# DEBUG pUartUserCfg => pUartUserCfg_15
# DEBUG BEGIN_STMT
_2 = pUartState_14 != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_20 ={v} x;
if (x.1_20 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = pUartUserCfg_15 != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_19 ={v} x;
if (x.1_19 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG retVal => 1
# DEBUG BEGIN_STMT
_4 ={v} pUartState_14->bIsRxBusy;
if (_4 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 10> [local count: 26844]:
# bIsReturn_6 = PHI <0(8), 1(9)>
# retVal_7 = PHI <1(8), 0(9)>
# DEBUG retVal => retVal_7
# DEBUG bIsReturn => bIsReturn_6
# DEBUG BEGIN_STMT
if (bIsReturn_6 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 13422]:
# DEBUG BEGIN_STMT
pUartState_14->eReceiveStatus ={v} 6;
# DEBUG BEGIN_STMT
_5 = pUartUserCfg_15->eTransferType;
if (_5 == 1)
goto <bb 12>; [20.24%]
else
goto <bb 13>; [79.76%]
<bb 12> [local count: 2717]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_11(D));
<bb 13> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_13
# DEBUG INLINE_ENTRY LPUART_Uart_ClearErrorFlags
# DEBUG BEGIN_STMT
# DEBUG mask => 983040
# DEBUG BEGIN_STMT
_28 ={v} pBase_13->STAT;
_29 = _28 & 1071661055;
_30 = _29 | 983040;
pBase_13->STAT ={v} _30;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_13
# DEBUG INLINE_ENTRY LPUART_Uart_FlushRxBuffer
# DEBUG BEGIN_STMT
_22 ={v} pBase_13->FIFO;
_23 = _22 | 16384;
pBase_13->FIFO ={v} _23;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
<bb 14> [local count: 26844]:
# retVal_8 = PHI <retVal_7(10), 0(13)>
# DEBUG retVal => retVal_8
# DEBUG BEGIN_STMT
return retVal_8;
}
;; Function Lpuart_Uart_Ip_SetBaudRate (Lpuart_Uart_Ip_SetBaudRate, funcdef_no=37, decl_uid=4567, cgraph_uid=38, symbol_order=41)
Symbols to be put in SSA form
{ D.5156 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 42
Number of blocks to update: 41 ( 98%)
Merging blocks 3 and 37
Merging blocks 12 and 36
Merging blocks 14 and 35
Merging blocks 30 and 41
Removing basic block 32
Removing basic block 33
Removing basic block 34
Merging blocks 30 and 40
Merging blocks 30 and 39
Merging blocks 30 and 38
;; 5 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 21 22 23 24 25 26 27 28 29 30 31
;;
;; Loop 1
;; header 27, latch 25
;; depth 1, outer 0
;; nodes: 27 25 23 24 21 22 20
;;
;; Loop 3
;; header 14, latch 14
;; depth 1, outer 0
;; nodes: 14
;;
;; Loop 4
;; header 12, latch 12
;; depth 1, outer 0
;; nodes: 12
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 10 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 8 10 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 11 31 }
;; 11 succs { 13 12 }
;; 12 succs { 12 }
;; 13 succs { 15 14 }
;; 14 succs { 14 }
;; 15 succs { 16 17 }
;; 16 succs { 18 }
;; 17 succs { 18 }
;; 18 succs { 26 19 }
;; 19 succs { 26 28 }
;; 20 succs { 21 22 }
;; 21 succs { 23 }
;; 22 succs { 23 }
;; 23 succs { 24 25 }
;; 24 succs { 25 }
;; 25 succs { 27 }
;; 26 succs { 27 }
;; 27 succs { 20 28 }
;; 28 succs { 29 30 }
;; 29 succs { 30 }
;; 30 succs { 31 }
;; 31 succs { 1 }
Lpuart_Uart_Ip_SetBaudRate (uint32 u32Instance, Lpuart_Uart_Ip_BaudrateType u32DesiredBaudrate, uint32 u32ClockFrequency)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
Lpuart_Uart_Ip_StatusType retVal;
boolean bIsReturn;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
struct LPUART_Type * pBase;
uint32 maxOsr;
uint32 baudDiff;
uint32 calculatedBaud;
uint32 tempDiff;
uint32 osr;
uint16 i;
uint16 sbrTemp;
uint16 sbr;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool _4;
unsigned int _5;
_Bool _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
unsigned int _10;
long unsigned int _11;
int _12;
int _13;
int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _43;
long unsigned int _44;
_Bool x.1_61;
_Bool x.1_62;
_Bool x.1_63;
long unsigned int _64;
long unsigned int _65;
long unsigned int _70;
long unsigned int _71;
long unsigned int _72;
long unsigned int _73;
long unsigned int _74;
long unsigned int _75;
long unsigned int _76;
long unsigned int _77;
long unsigned int _78;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_39(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_61 ={v} x;
if (x.1_61 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_41 = Lpuart_Uart_Ip_apBases[u32Instance_39(D)];
# DEBUG pBase => pBase_41
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_42 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_39(D)];
# DEBUG pUartState => pUartState_42
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
# DEBUG retVal => 1
# DEBUG BEGIN_STMT
if (pUartState_42 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 10>; [30.00%]
<bb 5> [local count: 75162]:
# DEBUG BEGIN_STMT
_2 ={v} pUartState_42->bIsTxBusy;
if (_2 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 37581]:
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 7> [local count: 75162]:
# bIsReturn_32 = PHI <0(5), 1(6)>
# retVal_34 = PHI <1(5), 2(6)>
# DEBUG retVal => retVal_34
# DEBUG bIsReturn => bIsReturn_32
# DEBUG BEGIN_STMT
_3 ={v} pUartState_42->bIsRxBusy;
if (_3 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 37581]:
if (bIsReturn_32 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 18790]:
# DEBUG BEGIN_STMT
# DEBUG retVal => 2
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 1
<bb 10> [local count: 107374]:
# bIsReturn_33 = PHI <0(4), bIsReturn_32(7), bIsReturn_32(8), 1(9)>
# retVal_35 = PHI <1(4), retVal_34(7), retVal_34(8), 2(9)>
# DEBUG retVal => retVal_35
# DEBUG bIsReturn => bIsReturn_33
# DEBUG BEGIN_STMT
if (bIsReturn_33 != 0)
goto <bb 31>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 53687]:
# DEBUG BEGIN_STMT
_4 = u32ClockFrequency_45(D) != 0;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_63 ={v} x;
if (x.1_63 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 12>; [100.00%]
<bb 13> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_5 = u32DesiredBaudrate_46(D) * 5;
_6 = _5 <= u32ClockFrequency_45(D);
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_62 ={v} x;
if (x.1_62 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 15> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG osr => 4
# DEBUG BEGIN_STMT
_7 = u32DesiredBaudrate_46(D) * 4;
_8 = u32ClockFrequency_45(D) / _7;
sbr_47 = (uint16) _8;
# DEBUG sbr => sbr_47
# DEBUG BEGIN_STMT
_43 = _8 & 65535;
_9 = _43 * 4;
calculatedBaud_48 = u32ClockFrequency_45(D) / _9;
# DEBUG calculatedBaud => calculatedBaud_48
# DEBUG BEGIN_STMT
if (u32DesiredBaudrate_46(D) < calculatedBaud_48)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 6711]:
# DEBUG BEGIN_STMT
baudDiff_50 = calculatedBaud_48 - u32DesiredBaudrate_46(D);
# DEBUG baudDiff => baudDiff_50
goto <bb 18>; [100.00%]
<bb 17> [local count: 6711]:
# DEBUG BEGIN_STMT
baudDiff_49 = u32DesiredBaudrate_46(D) - calculatedBaud_48;
# DEBUG baudDiff => baudDiff_49
<bb 18> [local count: 13422]:
# baudDiff_29 = PHI <baudDiff_50(16), baudDiff_49(17)>
# DEBUG baudDiff => baudDiff_29
# DEBUG BEGIN_STMT
maxOsr_51 = u32ClockFrequency_45(D) / u32DesiredBaudrate_46(D);
# DEBUG maxOsr => maxOsr_51
# DEBUG BEGIN_STMT
if (maxOsr_51 > 32)
goto <bb 26>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 19> [local count: 6711]:
# DEBUG maxOsr => maxOsr_51
# DEBUG BEGIN_STMT
if (maxOsr_51 > 4)
goto <bb 26>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 20> [local count: 81446]:
# DEBUG BEGIN_STMT
_10 = _16 * u32DesiredBaudrate_46(D);
_11 = u32ClockFrequency_45(D) / _10;
sbrTemp_53 = (uint16) _11;
# DEBUG sbrTemp => sbrTemp_53
# DEBUG BEGIN_STMT
_12 = (int) i_22;
_44 = _11 & 65535;
_13 = (int) _44;
_14 = _12 * _13;
_15 = (long unsigned int) _14;
calculatedBaud_54 = u32ClockFrequency_45(D) / _15;
# DEBUG calculatedBaud => calculatedBaud_54
# DEBUG BEGIN_STMT
if (u32DesiredBaudrate_46(D) < calculatedBaud_54)
goto <bb 21>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 21> [local count: 40723]:
# DEBUG BEGIN_STMT
tempDiff_56 = calculatedBaud_54 - u32DesiredBaudrate_46(D);
# DEBUG tempDiff => tempDiff_56
goto <bb 23>; [100.00%]
<bb 22> [local count: 40723]:
# DEBUG BEGIN_STMT
tempDiff_55 = u32DesiredBaudrate_46(D) - calculatedBaud_54;
# DEBUG tempDiff => tempDiff_55
<bb 23> [local count: 81446]:
# tempDiff_26 = PHI <tempDiff_56(21), tempDiff_55(22)>
# DEBUG tempDiff => tempDiff_26
# DEBUG BEGIN_STMT
if (tempDiff_26 <= baudDiff_31)
goto <bb 24>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 24> [local count: 40723]:
# DEBUG BEGIN_STMT
# DEBUG baudDiff => tempDiff_26
# DEBUG BEGIN_STMT
# DEBUG osr => _16
# DEBUG BEGIN_STMT
# DEBUG sbr => sbrTemp_53
<bb 25> [local count: 81446]:
# sbr_19 = PHI <sbr_20(23), sbrTemp_53(24)>
# osr_23 = PHI <osr_24(23), _16(24)>
# baudDiff_30 = PHI <baudDiff_31(23), tempDiff_26(24)>
# DEBUG baudDiff => baudDiff_30
# DEBUG osr => osr_23
# DEBUG sbr => sbr_19
# DEBUG BEGIN_STMT
i_57 = i_22 + 1;
# DEBUG i => i_57
goto <bb 27>; [100.00%]
<bb 26> [local count: 10066]:
# maxOsr_52 = PHI <maxOsr_51(19), 32(18)>
# DEBUG maxOsr => NULL
<bb 27> [local count: 91512]:
# sbr_20 = PHI <sbr_47(26), sbr_19(25)>
# i_22 = PHI <5(26), i_57(25)>
# osr_24 = PHI <4(26), osr_23(25)>
# calculatedBaud_27 = PHI <calculatedBaud_48(26), calculatedBaud_54(25)>
# baudDiff_31 = PHI <baudDiff_29(26), baudDiff_30(25)>
# DEBUG baudDiff => baudDiff_31
# DEBUG calculatedBaud => calculatedBaud_27
# DEBUG osr => osr_24
# DEBUG i => i_22
# DEBUG sbr => sbr_20
# DEBUG BEGIN_STMT
_16 = (long unsigned int) i_22;
if (_16 <= maxOsr_52)
goto <bb 20>; [89.00%]
else
goto <bb 28>; [11.00%]
<bb 28> [local count: 13422]:
# sbr_21 = PHI <sbr_47(19), sbr_20(27)>
# osr_25 = PHI <4(19), osr_24(27)>
# calculatedBaud_28 = PHI <calculatedBaud_48(19), calculatedBaud_27(27)>
# DEBUG calculatedBaud => calculatedBaud_28
# DEBUG osr => osr_25
# DEBUG sbr => sbr_21
# DEBUG BEGIN_STMT
if (osr_25 <= 7)
goto <bb 29>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 29> [local count: 6711]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG INLINE_ENTRY LPUART_Uart_EnableBothEdgeSamplingCmd
# DEBUG BEGIN_STMT
_64 ={v} pBase_41->BAUD;
_65 = _64 | 131072;
pBase_41->BAUD ={v} _65;
<bb 30> [local count: 13422]:
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
_17 = osr_25 + 4294967295;
# DEBUG pBase => pBase_41
# DEBUG overSamplingRatio => _17
# DEBUG INLINE_ENTRY LPUART_Uart_SetOversamplingRatio
# DEBUG BEGIN_STMT
_74 ={v} pBase_41->BAUD;
_75 = _74 & 3774873599;
_76 = _17 << 24;
_77 = _76 & 520093696;
_78 = _75 | _77;
pBase_41->BAUD ={v} _78;
# DEBUG pBase => NULL
# DEBUG overSamplingRatio => NULL
# DEBUG BEGIN_STMT
_18 = (long unsigned int) sbr_21;
# DEBUG pBase => pBase_41
# DEBUG baudRateDivisor => _18
# DEBUG INLINE_ENTRY LPUART_Uart_SetBaudRateDivisor
# DEBUG BEGIN_STMT
_70 ={v} pBase_41->BAUD;
_71 = _70 & 4294959104;
_72 = _18 & 8191;
_73 = _71 | _72;
pBase_41->BAUD ={v} _73;
# DEBUG pBase => NULL
# DEBUG baudRateDivisor => NULL
# DEBUG BEGIN_STMT
pUartState_42->u32BaudRate = calculatedBaud_28;
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
<bb 31> [local count: 67109]:
# retVal_36 = PHI <retVal_35(10), 0(30)>
# DEBUG retVal => retVal_36
# DEBUG BEGIN_STMT
return retVal_36;
}
;; Function Lpuart_Uart_Ip_GetBaudRate (Lpuart_Uart_Ip_GetBaudRate, funcdef_no=38, decl_uid=4570, cgraph_uid=39, symbol_order=42)
Lpuart_Uart_Ip_GetBaudRate (uint32 u32Instance, uint32 * pConfiguredBaudRate)
{
volatile boolean x;
volatile boolean x;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
long unsigned int _3;
_Bool x.1_9;
_Bool x.1_10;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_4(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_10 ={v} x;
if (x.1_10 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pConfiguredBaudRate_6(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_9 ={v} x;
if (x.1_9 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_7 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
# DEBUG pUartState => pUartState_7
# DEBUG BEGIN_STMT
_3 = pUartState_7->u32BaudRate;
*pConfiguredBaudRate_6(D) = _3;
return;
}
;; Function Lpuart_Uart_Ip_SetTxBuffer (Lpuart_Uart_Ip_SetTxBuffer, funcdef_no=39, decl_uid=4574, cgraph_uid=40, symbol_order=43)
Lpuart_Uart_Ip_SetTxBuffer (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool x.1_11;
_Bool x.1_12;
_Bool x.1_13;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_4(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_13 ={v} x;
if (x.1_13 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pTxBuff_6(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_12 ={v} x;
if (x.1_12 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32TxSize_7(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_11 ={v} x;
if (x.1_11 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_8 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
# DEBUG pUartState => pUartState_8
# DEBUG BEGIN_STMT
pUartState_8->pTxBuff = pTxBuff_6(D);
# DEBUG BEGIN_STMT
pUartState_8->u32TxSize ={v} u32TxSize_7(D);
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpuart_Uart_Ip_SetRxBuffer (Lpuart_Uart_Ip_SetRxBuffer, funcdef_no=40, decl_uid=4578, cgraph_uid=41, symbol_order=44)
Lpuart_Uart_Ip_SetRxBuffer (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
_Bool _1;
_Bool _2;
_Bool _3;
_Bool x.1_11;
_Bool x.1_12;
_Bool x.1_13;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_4(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_13 ={v} x;
if (x.1_13 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pRxBuff_6(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_12 ={v} x;
if (x.1_12 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = u32RxSize_7(D) != 0;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_11 ={v} x;
if (x.1_11 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_8 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
# DEBUG pUartState => pUartState_8
# DEBUG BEGIN_STMT
pUartState_8->pRxBuff = pRxBuff_6(D);
# DEBUG BEGIN_STMT
pUartState_8->u32RxSize ={v} u32RxSize_7(D);
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpuart_Uart_Ip_IRQHandler (Lpuart_Uart_Ip_IRQHandler, funcdef_no=41, decl_uid=4580, cgraph_uid=42, symbol_order=45)
Symbols to be put in SSA form
{ D.5160 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 73
Number of blocks to update: 72 ( 99%)
Merging blocks 3 and 20
Merging blocks 5 and 22
Removing basic block 6
Removing basic block 8
Removing basic block 13
Removing basic block 17
Removing basic block 19
Removing basic block 21
Removing basic block 33
Merging blocks 45 and 23
Removing basic block 47
Merging blocks 48 and 49
Removing basic block 50
Removing basic block 58
Removing basic block 66
Merging blocks 48 and 46
;; 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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 6 }
;; 5 succs { 56 }
;; 6 succs { 7 9 }
;; 7 succs { 9 8 }
;; 8 succs { 9 }
;; 9 succs { 10 13 }
;; 10 succs { 11 13 }
;; 11 succs { 13 12 }
;; 12 succs { 13 }
;; 13 succs { 14 17 }
;; 14 succs { 15 17 }
;; 15 succs { 17 16 }
;; 16 succs { 17 }
;; 17 succs { 18 21 }
;; 18 succs { 19 21 }
;; 19 succs { 21 20 }
;; 20 succs { 21 }
;; 21 succs { 22 27 }
;; 22 succs { 23 27 }
;; 23 succs { 24 25 }
;; 24 succs { 25 }
;; 25 succs { 26 27 }
;; 26 succs { 27 }
;; 27 succs { 28 37 }
;; 28 succs { 29 36 }
;; 29 succs { 30 32 }
;; 30 succs { 31 32 }
;; 31 succs { 32 }
;; 32 succs { 33 35 }
;; 33 succs { 34 35 }
;; 34 succs { 35 }
;; 35 succs { 37 }
;; 36 succs { 37 }
;; 37 succs { 38 47 }
;; 38 succs { 39 47 }
;; 39 succs { 40 47 }
;; 40 succs { 41 46 }
;; 41 succs { 42 44 }
;; 42 succs { 43 44 }
;; 43 succs { 44 }
;; 44 succs { 45 46 }
;; 45 succs { 46 }
;; 46 succs { 47 }
;; 47 succs { 48 56 }
;; 48 succs { 49 56 }
;; 49 succs { 50 56 }
;; 50 succs { 51 55 }
;; 51 succs { 52 53 }
;; 52 succs { 53 }
;; 53 succs { 54 55 }
;; 54 succs { 55 }
;; 55 succs { 56 }
;; 56 succs { 1 }
Lpuart_Uart_Ip_IRQHandler (uint32 u32Instance)
{
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct LPUART_Type * pBase;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
struct LPUART_Type * pBase;
boolean bIsError;
boolean bIsReturn;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
boolean retVal;
volatile boolean x;
boolean bIsReturn;
struct Lpuart_Uart_Ip_StateStructureType * pUartState;
struct LPUART_Type * pBase;
_Bool _1;
_Bool x.1_16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _21;
long unsigned int _22;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _28;
long unsigned int _29;
long unsigned int _31;
long unsigned int _32;
long unsigned int _34;
long unsigned int _35;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _44;
long unsigned int _45;
long unsigned int _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _53;
long unsigned int _54;
long unsigned int _57;
long unsigned int _58;
long unsigned int _59;
long unsigned int _60;
long unsigned int _61;
long unsigned int _63;
long unsigned int _64;
long unsigned int _67;
long unsigned int _68;
long unsigned int _70;
long unsigned int _71;
long unsigned int _74;
long unsigned int _75;
long unsigned int _76;
long unsigned int _77;
long unsigned int _78;
<unnamed type> _82;
void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _83;
void * _84;
long unsigned int _88;
long unsigned int _89;
long unsigned int _90;
long unsigned int _93;
void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _94;
void * _95;
long unsigned int _96;
void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _97;
void * _98;
long unsigned int _102;
long unsigned int _103;
void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _104;
void * _105;
long unsigned int _106;
long unsigned int _107;
long unsigned int _108;
long unsigned int _109;
long unsigned int _110;
long unsigned int _111;
long unsigned int _114;
<unnamed type> _115;
void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _116;
void * _117;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u32Instance_7(D) <= 15;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_9 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
# DEBUG pBase => pBase_9
# DEBUG BEGIN_STMT
pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
# DEBUG pUartState => pUartState_10
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
if (pUartState_10 == 0B)
goto <bb 5>; [30.00%]
else
goto <bb 6>; [70.00%]
<bb 5> [local count: 32212]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar
# DEBUG BEGIN_STMT
_17 ={v} MEM[(const struct LPUART_Type *)pBase_9].DATA;
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG INLINE_ENTRY LPUART_Uart_ClearErrorFlags
# DEBUG BEGIN_STMT
# DEBUG mask => 983040
# DEBUG BEGIN_STMT
_38 ={v} pBase_9->STAT;
_39 = _38 & 1071661055;
_40 = _39 | 983040;
pBase_9->STAT ={v} _40;
goto <bb 56>; [100.00%]
<bb 6> [local count: 75162]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_7(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_ErrIrqHandler
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bIsError => 0
# DEBUG BEGIN_STMT
# DEBUG bIsReturn => 0
# DEBUG BEGIN_STMT
pBase_41 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
# DEBUG pBase => pBase_41
# DEBUG BEGIN_STMT
pUartState_42 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
# DEBUG pUartState => pUartState_42
# DEBUG BEGIN_STMT
pUartUserCfg_43 = Lpuart_Uart_Ip_apUserConfig[u32Instance_7(D)];
# DEBUG pUartUserCfg => pUartUserCfg_43
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG eStatusFlag => 19
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_44 ={v} MEM[(const struct LPUART_Type *)pBase_41].STAT;
_45 = _44 >> 19;
retVal_46 = (boolean) _45;
# DEBUG retVal => retVal_46
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_46 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 37581]:
<L22>:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG statusFlag => 19
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_47 ={v} pBase_41->STAT;
_48 = _47 & 1071661055;
_49 = _48 | 524288;
pBase_41->STAT ={v} _49;
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG intSrc => 27
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_50 ={v} MEM[(const struct LPUART_Type *)pBase_41].CTRL;
_51 = _50 >> 27;
retVal_52 = (boolean) _51;
# DEBUG retVal => retVal_52
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_52 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 18790]:
# DEBUG BEGIN_STMT
# DEBUG bIsError => 1
# DEBUG BEGIN_STMT
pUartState_42->eReceiveStatus ={v} 5;
<bb 9> [local count: 75162]:
# bIsError_85 = PHI <0(6), 0(7), 1(8)>
# bIsReturn_56 = PHI <0(6), 1(7), 0(8)>
# DEBUG bIsReturn => bIsReturn_56
# DEBUG bIsError => bIsError_85
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG eStatusFlag => 17
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_53 ={v} MEM[(const struct LPUART_Type *)pBase_41].STAT;
_54 = _53 >> 17;
retVal_55 = (boolean) _54;
# DEBUG retVal => retVal_55
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_55 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 10> [local count: 37581]:
if (bIsReturn_56 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 18790]:
<L23>:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG statusFlag => 17
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_57 ={v} pBase_41->STAT;
_58 = _57 & 1071661055;
_59 = _58 | 131072;
pBase_41->STAT ={v} _59;
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG intSrc => 25
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_60 ={v} MEM[(const struct LPUART_Type *)pBase_41].CTRL;
_61 = _60 >> 25;
retVal_62 = (boolean) _61;
# DEBUG retVal => retVal_62
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_62 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 9395]:
# DEBUG BEGIN_STMT
# DEBUG bIsError => 1
# DEBUG BEGIN_STMT
pUartState_42->eReceiveStatus ={v} 7;
<bb 13> [local count: 75162]:
# bIsError_86 = PHI <bIsError_85(9), bIsError_85(10), bIsError_85(11), 1(12)>
# bIsReturn_66 = PHI <bIsReturn_56(9), bIsReturn_56(10), 1(11), 0(12)>
# DEBUG bIsReturn => bIsReturn_66
# DEBUG bIsError => bIsError_86
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG eStatusFlag => 16
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_63 ={v} MEM[(const struct LPUART_Type *)pBase_41].STAT;
_64 = _63 >> 16;
retVal_65 = (boolean) _64;
# DEBUG retVal => retVal_65
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_65 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 14> [local count: 37581]:
if (bIsReturn_66 != 0)
goto <bb 17>; [67.00%]
else
goto <bb 15>; [33.00%]
<bb 15> [local count: 12402]:
<L26>:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG statusFlag => 16
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG D#4 => 16
# DEBUG pBase => pBase_41
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG D#5 => D#4
# DEBUG statusFlag => D#5
# DEBUG BEGIN_STMT
_88 ={v} pBase_41->STAT;
_89 = _88 & 1071661055;
_90 = _89 | 65536;
pBase_41->STAT ={v} _90;
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG intSrc => 24
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_67 ={v} MEM[(const struct LPUART_Type *)pBase_41].CTRL;
_68 = _67 >> 24;
retVal_69 = (boolean) _68;
# DEBUG retVal => retVal_69
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_69 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 6201]:
# DEBUG BEGIN_STMT
# DEBUG bIsError => 1
# DEBUG BEGIN_STMT
pUartState_42->eReceiveStatus ={v} 8;
<bb 17> [local count: 75162]:
# bIsError_87 = PHI <bIsError_86(13), bIsError_86(14), bIsError_86(15), 1(16)>
# bIsReturn_73 = PHI <bIsReturn_66(13), bIsReturn_66(14), 1(15), 0(16)>
# DEBUG bIsReturn => bIsReturn_73
# DEBUG bIsError => bIsError_87
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG eStatusFlag => 18
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_70 ={v} MEM[(const struct LPUART_Type *)pBase_41].STAT;
_71 = _70 >> 18;
retVal_72 = (boolean) _71;
# DEBUG retVal => retVal_72
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_72 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 18> [local count: 37581]:
if (bIsReturn_73 != 0)
goto <bb 21>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 19> [local count: 18790]:
<L25>:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG statusFlag => 18
# DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_74 ={v} pBase_41->STAT;
_75 = _74 & 1071661055;
_76 = _75 | 262144;
pBase_41->STAT ={v} _76;
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG statusFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_41
# DEBUG intSrc => 26
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_77 ={v} MEM[(const struct LPUART_Type *)pBase_41].CTRL;
_78 = _77 >> 26;
retVal_79 = (boolean) _78;
# DEBUG retVal => retVal_79
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_79 != 0)
goto <bb 20>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 20> [local count: 9395]:
# DEBUG BEGIN_STMT
# DEBUG bIsError => 1
# DEBUG BEGIN_STMT
pUartState_42->eReceiveStatus ={v} 9;
<bb 21> [local count: 75162]:
# bIsError_81 = PHI <bIsError_87(17), bIsError_87(18), bIsError_87(19), 1(20)>
# bIsReturn_80 = PHI <bIsReturn_73(17), bIsReturn_73(18), 1(19), 0(20)>
# DEBUG bIsReturn => bIsReturn_80
# DEBUG bIsError => bIsError_81
# DEBUG BEGIN_STMT
if (bIsReturn_80 != 0)
goto <bb 27>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 22> [local count: 37581]:
# DEBUG BEGIN_STMT
if (bIsError_81 != 0)
goto <bb 23>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 23> [local count: 18790]:
# DEBUG BEGIN_STMT
_82 = pUartUserCfg_43->eTransferType;
if (_82 == 1)
goto <bb 24>; [20.24%]
else
goto <bb 25>; [79.76%]
<bb 24> [local count: 3803]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_7(D));
<bb 25> [local count: 18790]:
# DEBUG BEGIN_STMT
_83 = pUartUserCfg_43->pfErrorCallback;
if (_83 != 0B)
goto <bb 26>; [70.00%]
else
goto <bb 27>; [30.00%]
<bb 26> [local count: 13153]:
# DEBUG BEGIN_STMT
_84 = pUartUserCfg_43->pErrorCallbackParam;
_83 (u32Instance_7(D), pUartState_42, 3, _84);
<bb 27> [local count: 75162]:
# DEBUG u32Instance => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG retVal => NULL
# DEBUG bIsReturn => NULL
# DEBUG bIsError => NULL
# DEBUG pBase => NULL
# DEBUG pUartUserCfg => NULL
# DEBUG pUartState => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG eStatusFlag => 21
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
_19 = _18 >> 21;
retVal_20 = (boolean) _19;
# DEBUG retVal => retVal_20
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_20 != 0)
goto <bb 28>; [50.00%]
else
goto <bb 37>; [50.00%]
<bb 28> [local count: 37581]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 21
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
_22 = _21 >> 21;
retVal_23 = (boolean) _22;
# DEBUG retVal => retVal_23
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_23 != 0)
goto <bb 29>; [33.00%]
else
goto <bb 36>; [67.00%]
<bb 29> [local count: 12402]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_7(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_RxIrqHandler
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_91 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
# DEBUG pUartState => pUartState_91
# DEBUG BEGIN_STMT
pUartUserCfg_92 = Lpuart_Uart_Ip_apUserConfig[u32Instance_7(D)];
# DEBUG pUartUserCfg => pUartUserCfg_92
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_GetData (u32Instance_7(D));
# DEBUG BEGIN_STMT
_93 ={v} pUartState_91->u32RxSize;
if (_93 == 0)
goto <bb 30>; [50.00%]
else
goto <bb 32>; [50.00%]
<bb 30> [local count: 6201]:
# DEBUG BEGIN_STMT
_94 = pUartUserCfg_92->pfRxCallback;
if (_94 != 0B)
goto <bb 31>; [70.00%]
else
goto <bb 32>; [30.00%]
<bb 31> [local count: 4341]:
# DEBUG BEGIN_STMT
_95 = pUartUserCfg_92->pRxCallbackParam;
_94 (u32Instance_7(D), pUartState_91, 0, _95);
<bb 32> [local count: 12402]:
# DEBUG BEGIN_STMT
_96 ={v} pUartState_91->u32RxSize;
if (_96 == 0)
goto <bb 33>; [33.00%]
else
goto <bb 35>; [67.00%]
<bb 33> [local count: 4093]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_7(D));
# DEBUG BEGIN_STMT
_97 = pUartUserCfg_92->pfRxCallback;
if (_97 != 0B)
goto <bb 34>; [70.00%]
else
goto <bb 35>; [30.00%]
<bb 34> [local count: 2865]:
# DEBUG BEGIN_STMT
_98 = pUartUserCfg_92->pRxCallbackParam;
_97 (u32Instance_7(D), pUartState_91, 2, _98);
<bb 35> [local count: 12402]:
goto <bb 37>; [100.00%]
<bb 36> [local count: 25179]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG INLINE_ENTRY LPUART_Uart_Getchar
# DEBUG BEGIN_STMT
_24 ={v} MEM[(const struct LPUART_Type *)pBase_9].DATA;
<bb 37> [local count: 75162]:
# bIsReturn_2 = PHI <0(27), 1(36), 1(35)>
# DEBUG u32Instance => NULL
# DEBUG pUartUserCfg => NULL
# DEBUG pUartState => NULL
# DEBUG pBase => NULL
# DEBUG bIsReturn => bIsReturn_2
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG eStatusFlag => 23
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_25 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
_26 = _25 >> 23;
retVal_27 = (boolean) _26;
# DEBUG retVal => retVal_27
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_27 != 0)
goto <bb 38>; [50.00%]
else
goto <bb 47>; [50.00%]
<bb 38> [local count: 37581]:
if (bIsReturn_2 != 0)
goto <bb 47>; [50.00%]
else
goto <bb 39>; [50.00%]
<bb 39> [local count: 18790]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 23
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_28 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
_29 = _28 >> 23;
retVal_30 = (boolean) _29;
# DEBUG retVal => retVal_30
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_30 != 0)
goto <bb 40>; [33.00%]
else
goto <bb 47>; [67.00%]
<bb 40> [local count: 6201]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_7(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_TxEmptyIrqHandler
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pBase_99 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
# DEBUG pBase => pBase_99
# DEBUG BEGIN_STMT
pUartState_100 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
# DEBUG pUartState => pUartState_100
# DEBUG BEGIN_STMT
pUartUserCfg_101 = Lpuart_Uart_Ip_apUserConfig[u32Instance_7(D)];
# DEBUG pUartUserCfg => pUartUserCfg_101
# DEBUG BEGIN_STMT
_102 ={v} pUartState_100->u32TxSize;
if (_102 != 0)
goto <bb 41>; [33.00%]
else
goto <bb 46>; [67.00%]
<bb 41> [local count: 2046]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_PutData (u32Instance_7(D));
# DEBUG BEGIN_STMT
_103 ={v} pUartState_100->u32TxSize;
if (_103 == 0)
goto <bb 42>; [50.00%]
else
goto <bb 44>; [50.00%]
<bb 42> [local count: 1023]:
_104 = pUartUserCfg_101->pfTxCallback;
if (_104 != 0B)
goto <bb 43>; [70.00%]
else
goto <bb 44>; [30.00%]
<bb 43> [local count: 716]:
# DEBUG BEGIN_STMT
_105 = pUartUserCfg_101->pTxCallbackParam;
_104 (u32Instance_7(D), pUartState_100, 1, _105);
<bb 44> [local count: 2046]:
# DEBUG BEGIN_STMT
_106 ={v} pUartState_100->u32TxSize;
if (_106 == 0)
goto <bb 45>; [50.00%]
else
goto <bb 46>; [50.00%]
<bb 45> [local count: 1023]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_99
# DEBUG intSrc => 23
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_107 ={v} pBase_99->CTRL;
_108 = _107 & 4286578687;
pBase_99->CTRL ={v} _108;
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_99
# DEBUG intSrc => 22
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
# DEBUG BEGIN_STMT
_109 ={v} pBase_99->CTRL;
_110 = _109 & 4290772991;
_111 = _110 | 4194304;
pBase_99->CTRL ={v} _111;
<bb 46> [local count: 6201]:
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG enable => NULL
<bb 47> [local count: 75162]:
# bIsReturn_3 = PHI <bIsReturn_2(37), bIsReturn_2(38), 0(39), 1(46)>
# DEBUG u32Instance => NULL
# DEBUG pBase => NULL
# DEBUG pUartUserCfg => NULL
# DEBUG pUartState => NULL
# DEBUG bIsReturn => NULL
# DEBUG bIsReturn => bIsReturn_3
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG eStatusFlag => 22
# DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_31 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
_32 = _31 >> 22;
retVal_33 = (boolean) _32;
# DEBUG retVal => retVal_33
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG eStatusFlag => NULL
# DEBUG retVal => NULL
if (retVal_33 != 0)
goto <bb 48>; [50.00%]
else
goto <bb 56>; [50.00%]
<bb 48> [local count: 37581]:
if (bIsReturn_3 != 0)
goto <bb 56>; [50.00%]
else
goto <bb 49>; [50.00%]
<bb 49> [local count: 18790]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG intSrc => 22
# DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
# DEBUG BEGIN_STMT
# DEBUG retVal => 0
# DEBUG BEGIN_STMT
_34 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
_35 = _34 >> 22;
retVal_36 = (boolean) _35;
# DEBUG retVal => retVal_36
# DEBUG BEGIN_STMT
# DEBUG pBase => NULL
# DEBUG intSrc => NULL
# DEBUG retVal => NULL
if (retVal_36 != 0)
goto <bb 50>; [33.00%]
else
goto <bb 56>; [67.00%]
<bb 50> [local count: 6201]:
# DEBUG BEGIN_STMT
# DEBUG u32Instance => u32Instance_7(D)
# DEBUG INLINE_ENTRY Lpuart_Uart_Ip_TxCompleteIrqHandler
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
pUartState_112 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
# DEBUG pUartState => pUartState_112
# DEBUG BEGIN_STMT
pUartUserCfg_113 = Lpuart_Uart_Ip_apUserConfig[u32Instance_7(D)];
# DEBUG pUartUserCfg => pUartUserCfg_113
# DEBUG BEGIN_STMT
_114 ={v} pUartState_112->u32TxSize;
if (_114 == 0)
goto <bb 51>; [50.00%]
else
goto <bb 55>; [50.00%]
<bb 51> [local count: 3100]:
# DEBUG BEGIN_STMT
_115 = pUartUserCfg_113->eTransferType;
if (_115 == 1)
goto <bb 52>; [20.24%]
else
goto <bb 53>; [79.76%]
<bb 52> [local count: 628]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_7(D));
<bb 53> [local count: 3100]:
# DEBUG BEGIN_STMT
_116 = pUartUserCfg_113->pfTxCallback;
if (_116 != 0B)
goto <bb 54>; [70.00%]
else
goto <bb 55>; [30.00%]
<bb 54> [local count: 2170]:
# DEBUG BEGIN_STMT
_117 = pUartUserCfg_113->pTxCallbackParam;
_116 (u32Instance_7(D), pUartState_112, 2, _117);
<bb 55> [local count: 6201]:
<bb 56> [local count: 107374]:
# DEBUG u32Instance => NULL
# DEBUG pUartUserCfg => NULL
# DEBUG pUartState => NULL
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
return;
}