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) @068cde00 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) @068ca000 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) @075ffb60 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) @06940e00 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) @068cd0e0 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) @06940b60 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) @075ff620 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) @068ca7e0 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) @06b25000 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) @06a97ee0 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) @06a97700 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) @06a97620 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) @06a97540 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) @06b17ee0 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) @06b17e00 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) @06b177e0 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) @06b17700 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) @06b17460 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) @06b171c0 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) @06b057e0 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) @06b05540 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) @06b052a0 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) @06b05000 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) @06a70b60 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) @06a70620 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) @06a700e0 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) @06a70d20 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) @06a70a80 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) @06a707e0 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) @06a70540 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) @06a702a0 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) @06a70000 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) @06a5db60 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) @06a5d540 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) @06a5d000 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) @06a5dd20 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) @06a5da80 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) @06a5d700 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) @06a5d460 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) @06a5d1c0 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) @06952e00 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) @069527e0 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) @06952d20 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) @06952a80 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) @06952700 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) @0694e168 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) @0694e090 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) @0694e000 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) @069fcf30 Type: variable definition analyzed Visibility: externally_visible public References: Referring: Availability: available Varpool flags: LPUART_Uart_CheckTimeout/22 (LPUART_Uart_CheckTimeout) @069408c0 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) @06940620 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) @0693be00 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) @0693bb60 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) @0693b620 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) @0693b380 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) @068cd8c0 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) @068cd620 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) @068cd380 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) @068cab60 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) @068ca540 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=4575, cgraph_uid=48, symbol_order=51) Lpuart_Uart_Ip_CompleteSendDataUsingInt (uint32 u32Instance) { struct LPUART_Type * pBase; struct Lpuart_Uart_Ip_StateStructureType * pUartState; _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; [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 ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT pUartState_6->eTransmitStatus ={v} 0; goto ; [100.00%] [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; [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=4581, cgraph_uid=50, symbol_order=53) Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (uint32 u32Instance) { struct Lpuart_Uart_Ip_StateStructureType * pUartState; struct LPUART_Type * pBase; _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; [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 ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT pUartState_6->eReceiveStatus ={v} 0; [local count: 1073741824]: return; } ;; Function Lpuart_Uart_Ip_PutData (Lpuart_Uart_Ip_PutData, funcdef_no=50, decl_uid=4583, cgraph_uid=51, symbol_order=54) Symbols to be put in SSA form { D.5121 } 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; _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; [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 ; [41.00%] else goto ; [59.00%] [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 ; [100.00%] [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 ; [34.00%] else goto ; [66.00%] [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 ; [100.00%] [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; [local count: 633507677]: # u16Data_19 = PHI # DEBUG u16Data => u16Data_19 # DEBUG BEGIN_STMT if (_1 == 2) goto ; [34.00%] else goto ; [66.00%] [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 ; [100.00%] [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; [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=4585, cgraph_uid=52, symbol_order=55) Symbols to be put in SSA form { D.5123 D.5535 D.5538 } 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.5538; uint16 readData; uint16 D.5535; uint16 u16Data; struct LPUART_Type * pBase; const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg; struct Lpuart_Uart_Ip_StateStructureType * pUartState; _1; uint8 * _2; _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; [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 ; [41.00%] else goto ; [59.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 220117074]: # DEBUG BEGIN_STMT _4 = pUartState_35->pRxBuff; _5 = *_4; _6 = _5 & 127; *_4 = _6; [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 ; [100.00%] [local count: 633507677]: # DEBUG BEGIN_STMT if (_1 == 2) goto ; [34.00%] else goto ; [66.00%] [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 ; [100.00%] [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 [local count: 633507677]: # u16Data_28 = PHI # DEBUG u16Data => u16Data_28 # DEBUG BEGIN_STMT _11 ={v} pUartState_35->u32RxSize; if (_11 == 1) goto ; [34.00%] else goto ; [66.00%] [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 ; [100.00%] [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; [local count: 1073741824]: return; } ;; Function LPUART_Uart_CheckTimeout.constprop (LPUART_Uart_CheckTimeout.constprop.0, funcdef_no=53, decl_uid=5509, 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; [local count: 1073741824]: # DEBUG timeoutUs => 0 [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _4 = startTime_3(D) - currentTime_2; retVal_5 = timeoutTicks_1 < _4; # DEBUG retVal => retVal_5 goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _6 = startTime_3(D) - currentTime_2; _7 = _6 + 16777215; retVal_8 = timeoutTicks_1 < _7; # DEBUG retVal => retVal_8 [local count: 1073741824]: # retVal_9 = PHI # DEBUG retVal => retVal_9 # DEBUG BEGIN_STMT return retVal_9; } ;; Function Lpuart_Uart_Ip_Init (Lpuart_Uart_Ip_Init, funcdef_no=26, decl_uid=4516, 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.5127 } 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; _11; _12; _Bool _13; uint8 * _14; unsigned char _15; unsigned int _16; unsigned int _17; long unsigned int _18; _19; _20; _21; _22; _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; _113; long unsigned int _114; long unsigned int _115; long unsigned int _116; long unsigned int _117; long unsigned int _118; _119; long unsigned int _120; long unsigned int _121; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 67108864]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [66.00%] else goto ; [34.00%] [local count: 2282]: _12 = pUserConfig_32(D)->eParityMode; if (_12 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1141]: [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 ; [50.00%] else goto ; [50.00%] [local count: 33554432]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 80531]: # DEBUG BEGIN_STMT _14 = _10 + u32Index_25; *_14 = 0; # DEBUG BEGIN_STMT u32Index_46 = u32Index_25 + 1; # DEBUG u32Index => u32Index_46 [local count: 83886]: # u32Index_25 = PHI # DEBUG x => NULL # DEBUG pClearStructPtr => NULL # DEBUG u32Index => u32Index_25 # DEBUG BEGIN_STMT if (u32Index_25 != 24) goto ; [96.00%] else goto ; [4.00%] [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 ; [50.00%] else goto ; [50.00%] [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; [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 ; [50.00%] else goto ; [50.00%] [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 ; [34.00%] else goto ; [66.00%] [local count: 570]: # DEBUG BEGIN_STMT _77 ={v} pBase_33->BAUD; _78 = _77 | 536870912; pBase_33->BAUD ={v} _78; goto ; [100.00%] [local count: 1107]: # DEBUG BEGIN_STMT if (_20 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 554]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _79 ={v} pBase_33->CTRL; _80 = _79 & 4294965231; pBase_33->CTRL ={v} _80; goto ; [100.00%] [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; [local count: 1107]: # DEBUG BEGIN_STMT _88 ={v} pBase_33->BAUD; _89 = _88 & 3758096383; pBase_33->BAUD ={v} _89; [local count: 1678]: goto ; [100.00%] [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 ; [34.00%] else goto ; [66.00%] [local count: 570]: # DEBUG BEGIN_STMT _93 ={v} pBase_33->BAUD; _94 = _93 | 536870912; pBase_33->BAUD ={v} _94; goto ; [100.00%] [local count: 1107]: # DEBUG BEGIN_STMT if (_21 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 554]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _97 ={v} pBase_33->CTRL; _98 = _97 | 2048; pBase_33->CTRL ={v} _98; goto ; [100.00%] [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; [local count: 1107]: # DEBUG BEGIN_STMT _104 ={v} pBase_33->BAUD; _105 = _104 & 3758096383; pBase_33->BAUD ={v} _105; [local count: 1678]: [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=4518, 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT u32StartTime_11 = OsIf_GetCounter (0); # DEBUG u32StartTime => u32StartTime_11 # DEBUG BEGIN_STMT [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 ; [5.50%] else goto ; [94.50%] [local count: 474262]: _4 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_11); if (_4 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 448178]: goto ; [100.00%] [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=4522, 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 13422]: [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 134217728]: goto ; [100.00%] [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 ; [33.00%] else goto ; [67.00%] [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 [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 ; [67.00%] else goto ; [33.00%] [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 ; [100.00%] [local count: 57207]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_PutData (u32Instance_19(D)); # DEBUG BEGIN_STMT [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 ; [5.50%] else goto ; [94.50%] [local count: 29412]: goto ; [100.00%] [local count: 505354]: _6 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_33); if (_6 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 477560]: goto ; [100.00%] [local count: 27794]: [local count: 32224]: [local count: 61636]: # DEBUG BEGIN_STMT _7 ={v} pUartState_24->u32TxSize; if (_7 != 0) goto ; [96.34%] else goto ; [3.66%] [local count: 59380]: _8 = LPUART_Uart_CheckTimeout.constprop (u32StartTime_33); if (_8 != 0) goto ; [3.66%] else goto ; [96.34%] [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 ; [50.00%] else goto ; [50.00%] [local count: 2215]: # DEBUG BEGIN_STMT pUartState_24->eTransmitStatus ={v} 3; goto ; [100.00%] [local count: 2215]: # DEBUG BEGIN_STMT pUartState_24->eTransmitStatus ={v} 0; [local count: 4429]: # DEBUG BEGIN_STMT pUartState_24->bIsTxBusy ={v} 0; # DEBUG BEGIN_STMT retVal_40 ={v} pUartState_24->eTransmitStatus; # DEBUG retVal => retVal_40 [local count: 13422]: # retVal_12 = PHI # DEBUG retVal => retVal_12 # DEBUG BEGIN_STMT return retVal_12; } ;; Function Lpuart_Uart_Ip_AsyncSend (Lpuart_Uart_Ip_AsyncSend, funcdef_no=29, decl_uid=4526, cgraph_uid=30, symbol_order=33) Symbols to be put in SSA form { D.5130 D.5584 } 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.5584; 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; _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; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [33.00%] else goto ; [67.00%] [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 [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 ; [67.00%] else goto ; [33.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 22145925]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 11072963]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1107]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (_7 == 1) goto ; [20.24%] else goto ; [79.76%] [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 [local count: 10100]: # retVal_10 = PHI # DEBUG retVal => retVal_10 # DEBUG BEGIN_STMT return retVal_10; } ;; Function Lpuart_Uart_Ip_GetTransmitStatus (Lpuart_Uart_Ip_GetTransmitStatus, funcdef_no=30, decl_uid=4529, 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; _5; long unsigned int _6; Lpuart_Uart_Ip_StatusType _15; _Bool x.1_16; _Bool x.1_17; _Bool x.1_18; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (pBytesRemaining_12(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 18790]: # DEBUG BEGIN_STMT _4 ={v} pUartState_10->bIsTxBusy; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9395]: # DEBUG BEGIN_STMT _5 = pUartUserCfg_11->eTransferType; if (_5 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 3194]: # DEBUG BEGIN_STMT _6 ={v} pUartState_10->u32TxSize; *pBytesRemaining_12(D) = _6; goto ; [100.00%] [local count: 9395]: # DEBUG BEGIN_STMT *pBytesRemaining_12(D) = 0; [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=4531, 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; _5; _Bool x.1_15; _Bool x.1_16; _Bool x.1_17; long unsigned int _18; long unsigned int _19; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 ={v} pUartState_11->bIsTxBusy; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [20.24%] else goto ; [79.76%] [local count: 2717]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_8(D)); [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 [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=4535, cgraph_uid=33, symbol_order=36) Symbols to be put in SSA form { D.5133 } 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; _7; long unsigned int _8; _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; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [33.00%] else goto ; [67.00%] [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 [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 ; [67.00%] else goto ; [33.00%] [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 ; [100.00%] [local count: 37262]: [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 ; [5.50%] else goto ; [94.50%] [local count: 329170]: _67 = LPUART_Uart_CheckTimeout.constprop (_6); if (_67 != 0) goto ; [5.50%] else goto ; [94.50%] [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 ; [2.00%] else goto ; [98.00%] [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 ; [100.00%] [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 ; [2.00%] else goto ; [98.00%] [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 ; [100.00%] [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 ; [2.00%] else goto ; [98.00%] [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 ; [100.00%] [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 ; [2.00%] else goto ; [98.00%] [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 ; [100.00%] [local count: 34370]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_GetData (u32Instance_18(D)); [local count: 38799]: # DEBUG BEGIN_STMT _97 ={v} pUartState_63->u32RxSize; if (_97 != 0) goto ; [98.00%] else goto ; [2.00%] [local count: 38023]: _98 = LPUART_Uart_CheckTimeout.constprop (_6); if (_98 != 0) goto ; [2.00%] else goto ; [98.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 2215]: # DEBUG BEGIN_STMT pUartState_23->eReceiveStatus ={v} 3; [local count: 4429]: # DEBUG BEGIN_STMT _7 ={v} pUartState_23->eReceiveStatus; if (_7 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 1506]: # DEBUG BEGIN_STMT pUartState_23->eReceiveStatus ={v} 0; [local count: 4429]: # DEBUG BEGIN_STMT _8 ={v} pUartState_23->u32RxSize; if (_8 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 2215]: _9 ={v} pUartState_23->eReceiveStatus; if (_9 == 5) goto ; [34.00%] else goto ; [66.00%] [local count: 753]: # DEBUG BEGIN_STMT pUartState_23->eReceiveStatus ={v} 0; [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 [local count: 13422]: # retVal_12 = PHI # 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=4539, cgraph_uid=35, symbol_order=38) Symbols to be put in SSA form { D.5134 D.5655 } 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.5655; 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; _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; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [33.00%] else goto ; [67.00%] [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 [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 ; [67.00%] else goto ; [33.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 22145925]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 11072963]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1107]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (_7 == 1) goto ; [20.24%] else goto ; [79.76%] [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 [local count: 10100]: # retVal_10 = PHI # DEBUG retVal => retVal_10 # DEBUG BEGIN_STMT return retVal_10; } ;; Function Lpuart_Uart_Ip_GetReceiveStatus (Lpuart_Uart_Ip_GetReceiveStatus, funcdef_no=35, decl_uid=4542, 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; _5; long unsigned int _6; Lpuart_Uart_Ip_StatusType _15; _Bool x.1_16; _Bool x.1_17; _Bool x.1_18; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (pBytesRemaining_12(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 18790]: # DEBUG BEGIN_STMT _4 ={v} pUartState_10->bIsRxBusy; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9395]: # DEBUG BEGIN_STMT _5 = pUartUserCfg_11->eTransferType; if (_5 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 3194]: # DEBUG BEGIN_STMT _6 ={v} pUartState_10->u32RxSize; *pBytesRemaining_12(D) = _6; goto ; [100.00%] [local count: 9395]: # DEBUG BEGIN_STMT *pBytesRemaining_12(D) = 0; [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=4544, cgraph_uid=37, symbol_order=40) Symbols to be put in SSA form { D.5136 } 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; _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; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 13422]: # DEBUG BEGIN_STMT # DEBUG retVal => 0 # DEBUG BEGIN_STMT # DEBUG bIsReturn => 1 [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 ; [50.00%] else goto ; [50.00%] [local count: 13422]: # DEBUG BEGIN_STMT pUartState_14->eReceiveStatus ={v} 6; # DEBUG BEGIN_STMT _5 = pUartUserCfg_15->eTransferType; if (_5 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 2717]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_11(D)); [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 [local count: 26844]: # retVal_8 = PHI # DEBUG retVal => retVal_8 # DEBUG BEGIN_STMT return retVal_8; } ;; Function Lpuart_Uart_Ip_SetBaudRate (Lpuart_Uart_Ip_SetBaudRate, funcdef_no=37, decl_uid=4548, cgraph_uid=38, symbol_order=41) Symbols to be put in SSA form { D.5137 } 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [70.00%] else goto ; [30.00%] [local count: 75162]: # DEBUG BEGIN_STMT _2 ={v} pUartState_42->bIsTxBusy; if (_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT # DEBUG retVal => 2 # DEBUG BEGIN_STMT # DEBUG bIsReturn => 1 [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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_32 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT # DEBUG retVal => 2 # DEBUG BEGIN_STMT # DEBUG bIsReturn => 1 [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 ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 6711]: # DEBUG BEGIN_STMT baudDiff_50 = calculatedBaud_48 - u32DesiredBaudrate_46(D); # DEBUG baudDiff => baudDiff_50 goto ; [100.00%] [local count: 6711]: # DEBUG BEGIN_STMT baudDiff_49 = u32DesiredBaudrate_46(D) - calculatedBaud_48; # DEBUG baudDiff => baudDiff_49 [local count: 13422]: # baudDiff_29 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 6711]: # DEBUG maxOsr => maxOsr_51 # DEBUG BEGIN_STMT if (maxOsr_51 > 4) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 40723]: # DEBUG BEGIN_STMT tempDiff_56 = calculatedBaud_54 - u32DesiredBaudrate_46(D); # DEBUG tempDiff => tempDiff_56 goto ; [100.00%] [local count: 40723]: # DEBUG BEGIN_STMT tempDiff_55 = u32DesiredBaudrate_46(D) - calculatedBaud_54; # DEBUG tempDiff => tempDiff_55 [local count: 81446]: # tempDiff_26 = PHI # DEBUG tempDiff => tempDiff_26 # DEBUG BEGIN_STMT if (tempDiff_26 <= baudDiff_31) goto ; [50.00%] else goto ; [50.00%] [local count: 40723]: # DEBUG BEGIN_STMT # DEBUG baudDiff => tempDiff_26 # DEBUG BEGIN_STMT # DEBUG osr => _16 # DEBUG BEGIN_STMT # DEBUG sbr => sbrTemp_53 [local count: 81446]: # sbr_19 = PHI # osr_23 = PHI # baudDiff_30 = PHI # 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 ; [100.00%] [local count: 10066]: # maxOsr_52 = PHI # DEBUG maxOsr => NULL [local count: 91512]: # sbr_20 = PHI # i_22 = PHI <5(26), i_57(25)> # osr_24 = PHI <4(26), osr_23(25)> # calculatedBaud_27 = PHI # baudDiff_31 = PHI # 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 ; [89.00%] else goto ; [11.00%] [local count: 13422]: # sbr_21 = PHI # osr_25 = PHI <4(19), osr_24(27)> # calculatedBaud_28 = PHI # DEBUG calculatedBaud => calculatedBaud_28 # DEBUG osr => osr_25 # DEBUG sbr => sbr_21 # DEBUG BEGIN_STMT if (osr_25 <= 7) goto ; [50.00%] else goto ; [50.00%] [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; [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 [local count: 67109]: # retVal_36 = PHI # DEBUG retVal => retVal_36 # DEBUG BEGIN_STMT return retVal_36; } ;; Function Lpuart_Uart_Ip_GetBaudRate (Lpuart_Uart_Ip_GetBaudRate, funcdef_no=38, decl_uid=4551, 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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=4555, 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [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=4559, 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; [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 ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 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 ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [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=4561, cgraph_uid=42, symbol_order=45) Symbols to be put in SSA form { D.5141 } 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; _82; void (*) (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 (*) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _94; void * _95; long unsigned int _96; void (*) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _97; void * _98; long unsigned int _102; long unsigned int _103; void (*) (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; _115; void (*) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _116; void * _117; [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 ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [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 ; [30.00%] else goto ; [70.00%] [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 ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: : # 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 ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT # DEBUG bIsError => 1 # DEBUG BEGIN_STMT pUartState_42->eReceiveStatus ={v} 5; [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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_56 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: : # 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 ; [50.00%] else goto ; [50.00%] [local count: 9395]: # DEBUG BEGIN_STMT # DEBUG bIsError => 1 # DEBUG BEGIN_STMT pUartState_42->eReceiveStatus ={v} 7; [local count: 75162]: # bIsError_86 = PHI # bIsReturn_66 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_66 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 12402]: : # 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 ; [50.00%] else goto ; [50.00%] [local count: 6201]: # DEBUG BEGIN_STMT # DEBUG bIsError => 1 # DEBUG BEGIN_STMT pUartState_42->eReceiveStatus ={v} 8; [local count: 75162]: # bIsError_87 = PHI # bIsReturn_73 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_73 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: : # 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 ; [50.00%] else goto ; [50.00%] [local count: 9395]: # DEBUG BEGIN_STMT # DEBUG bIsError => 1 # DEBUG BEGIN_STMT pUartState_42->eReceiveStatus ={v} 9; [local count: 75162]: # bIsError_81 = PHI # bIsReturn_80 = PHI # DEBUG bIsReturn => bIsReturn_80 # DEBUG bIsError => bIsError_81 # DEBUG BEGIN_STMT if (bIsReturn_80 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: # DEBUG BEGIN_STMT if (bIsError_81 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT _82 = pUartUserCfg_43->eTransferType; if (_82 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 3803]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_7(D)); [local count: 18790]: # DEBUG BEGIN_STMT _83 = pUartUserCfg_43->pfErrorCallback; if (_83 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 13153]: # DEBUG BEGIN_STMT _84 = pUartUserCfg_43->pErrorCallbackParam; _83 (u32Instance_7(D), pUartState_42, 3, _84); [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 ; [50.00%] else goto ; [50.00%] [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 ; [33.00%] else goto ; [67.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 6201]: # DEBUG BEGIN_STMT _94 = pUartUserCfg_92->pfRxCallback; if (_94 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 4341]: # DEBUG BEGIN_STMT _95 = pUartUserCfg_92->pRxCallbackParam; _94 (u32Instance_7(D), pUartState_91, 0, _95); [local count: 12402]: # DEBUG BEGIN_STMT _96 ={v} pUartState_91->u32RxSize; if (_96 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4093]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_7(D)); # DEBUG BEGIN_STMT _97 = pUartUserCfg_92->pfRxCallback; if (_97 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2865]: # DEBUG BEGIN_STMT _98 = pUartUserCfg_92->pRxCallbackParam; _97 (u32Instance_7(D), pUartState_91, 2, _98); [local count: 12402]: goto ; [100.00%] [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; [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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_2 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [33.00%] else goto ; [67.00%] [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 ; [33.00%] else goto ; [67.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 1023]: _104 = pUartUserCfg_101->pfTxCallback; if (_104 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 716]: # DEBUG BEGIN_STMT _105 = pUartUserCfg_101->pTxCallbackParam; _104 (u32Instance_7(D), pUartState_100, 1, _105); [local count: 2046]: # DEBUG BEGIN_STMT _106 ={v} pUartState_100->u32TxSize; if (_106 == 0) goto ; [50.00%] else goto ; [50.00%] [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; [local count: 6201]: # DEBUG pBase => NULL # DEBUG intSrc => NULL # DEBUG enable => NULL [local count: 75162]: # bIsReturn_3 = PHI # 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 ; [50.00%] else goto ; [50.00%] [local count: 37581]: if (bIsReturn_3 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [33.00%] else goto ; [67.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 3100]: # DEBUG BEGIN_STMT _115 = pUartUserCfg_113->eTransferType; if (_115 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 628]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_7(D)); [local count: 3100]: # DEBUG BEGIN_STMT _116 = pUartUserCfg_113->pfTxCallback; if (_116 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2170]: # DEBUG BEGIN_STMT _117 = pUartUserCfg_113->pTxCallbackParam; _116 (u32Instance_7(D), pUartState_112, 2, _117); [local count: 6201]: [local count: 107374]: # DEBUG u32Instance => NULL # DEBUG pUartUserCfg => NULL # DEBUG pUartState => NULL # DEBUG pBase => NULL # DEBUG BEGIN_STMT return; }