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

8561 lines
298 KiB
Plaintext

IPA function summary for Lpi2c_Ip_MasterInitSendTransfer.constprop/190 inlinable
global time: 30.000000
self size: 13
global size: 13
min size: 28
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:4.000000, time:3.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterSendAddress/85 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterQueueData/86 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size:13 stack: 0
IPA function summary for Lpi2c_Ip_SetMasterHighSpeedMode/140 inlinable
global time: 6.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(op1 == 0)
size:1.000000, time:0.500000, executed if:(op1 != 0)
calls:
IPA function summary for Lpi2c_Ip_SetSlaveCallback/139 inlinable
global time: 4.000000
self size: 5
global size: 5
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_SetMasterCallback/138 inlinable
global time: 4.000000
self size: 5
global size: 5
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_ModuleIRQHandler/137 inlinable
global time: 26.540625
self size: 40
global size: 40
min size: 8
self stack: 0
global stack: 0
size:33.000000, time:20.161250
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveIRQHandler/136 function not considered for inlining
loop depth: 0 freq:0.28 size: 2 time: 11callee size:18 stack: 0
Lpi2c_Ip_MasterIRQHandler/121 function not considered for inlining
loop depth: 0 freq:0.12 size: 2 time: 11callee size:12 stack: 0
IPA function summary for Lpi2c_Ip_SlaveIRQHandler/136 inlinable
global time: 51.077500
self size: 37
global size: 37
min size: 20
self stack: 0
global stack: 0
size:24.000000, time:16.097500
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveCheckErrorEvent/135 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
op0 change 99.990000% of time
op1 change 99.990000% of time
Lpi2c_Ip_SlaveStopDetectHandler/133 function not considered for inlining
loop depth: 0 freq:0.67 size: 3 time: 12callee size: 7 stack: 0
Lpi2c_Ip_SlaveCheckDataEvent/132 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:16 stack: 0
IPA function summary for Lpi2c_Ip_SlaveCheckErrorEvent/135 inlinable
global time: 9.960000
self size: 10
global size: 10
min size: 6
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: 2208] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 2208] changed)
calls:
Lpi2c_Ip_SlaveBitErrorEventHandler/134 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for Lpi2c_Ip_SlaveBitErrorEventHandler/134 inlinable
global time: 19.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:5.000000, time:4.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveEndTransferHandler/131 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 8 stack: 0
IPA function summary for Lpi2c_Ip_SlaveStopDetectHandler/133 inlinable
global time: 22.340000
self size: 15
global size: 15
min size: 6
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:5.000000, time:4.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 0] == 2) && (not inlined)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 0] == 2)
calls:
Lpi2c_Ip_SlaveEndTransferHandler/131 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 8 stack: 0
IPA function summary for Lpi2c_Ip_SlaveCheckDataEvent/132 inlinable
global time: 27.290000
self size: 32
global size: 32
min size: 20
self stack: 0
global stack: 0
size:13.000000, time:9.500000
size:5.000000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 2208] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op1[ref offset: 2208] changed)
calls:
Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 function not considered for inlining
loop depth: 0 freq:0.25 size: 3 time: 12callee size:14 stack: 0
Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 function not considered for inlining
loop depth: 0 freq:0.25 size: 3 time: 12callee size:15 stack: 0
Lpi2c_Ip_SlaveHandleAddressValidEvent/93 function not considered for inlining
loop depth: 0 freq:0.33 size: 4 time: 13callee size:18 stack: 0
IPA function summary for Lpi2c_Ip_SlaveEndTransferHandler/131 inlinable
global time: 24.230000
self size: 17
global size: 17
min size: 10
self stack: 0
global stack: 0
size:3.000000, time:2.850000
size:4.000000, time:2.850000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 120] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 120] changed)
calls:
Lpi2c_Ip_SlaveEndTransfer/130 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 4 stack: 0 predicate: (op0[ref offset: 120] == 0)
indirect call loop depth: 0 freq:0.70 size: 5 time: 17
IPA function summary for Lpi2c_Ip_SlaveEndTransfer/130 inlinable
global time: 8.000000
self size: 9
global size: 9
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:2.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: 2240] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2240] changed)
calls:
IPA function summary for Lpi2c_Ip_SlaveGetTransferStatus/129 inlinable
global time: 8.576000
self size: 12
global size: 12
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:4.500000, time:2.457000, executed if:(op1 != 0B)
size:0.500000, time:0.119000, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpi2c_Ip_SlaveSetBuffer/128 inlinable
global time: 5.000000
self size: 6
global size: 6
min size: 0
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_SlaveDeinit/127 inlinable
global time: 14.000000
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:18.000000, time:12.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_StartListening/126 inlinable
global time: 13.000000
self size: 5
global size: 5
min size: 4
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveActivateEvents/122 function not considered for inlining
loop depth: 0 freq:1.00 size: 2 time: 11callee size:10 stack: 0
IPA function summary for Lpi2c_Ip_SlaveInit/125 inlinable
global time: 85.630000
self size: 49
global size: 49
min size: 30
self stack: 0
global stack: 0
size:20.500000, time:20.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 256] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 256] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 192] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 224] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 40] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 40] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 128] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 160] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 160] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 16] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 24] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 24] changed)
calls:
Lpi2c_Ip_SlaveActivateEvents/122 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size:10 stack: 0
Lpi2c_Ip_SlaveConfigureGlitchFilter/124 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 4 stack: 0
Lpi2c_Ip_SlaveSetOperatingMode/90 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 6 stack: 0
Lpi2c_Ip_SlaveConigureAddress/123 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 7 stack: 0
LPI2C_Init/141 function body not available
loop depth: 0 freq:1.00 size: 2 time: 11
IPA function summary for Lpi2c_Ip_SlaveConfigureGlitchFilter/124 inlinable
global time: 26.000000
self size: 9
global size: 9
min size: 12
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
LPI2C_Set_SlaveGlitchFilterSCL/23 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_SlaveGlitchFilterSDA/22 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpi2c_Ip_SlaveConigureAddress/123 inlinable
global time: 19.500000
self size: 15
global size: 15
min size: 6
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, executed if:(op2 == 0) && (not inlined)
size:2.000000, time:1.000000, executed if:(op2 == 0)
size:1.000000, time:0.500000, executed if:(op2 != 0) && (not inlined)
size:3.000000, time:1.500000, executed if:(op2 != 0)
calls:
LPI2C_Set_SlaveAddr0/71 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpi2c_Ip_SlaveActivateEvents/122 inlinable
global time: 15.520000
self size: 20
global size: 20
min size: 0
self stack: 0
global stack: 0
size:17.000000, time:13.520000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterIRQHandler/121 inlinable
global time: 40.300000
self size: 25
global size: 25
min size: 22
self stack: 0
global stack: 0
size:11.000000, time:8.350000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterCheckErrorEvents/99 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size:12 stack: 0
Lpi2c_Ip_MasterCheckDataTxRxEvent/120 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 8 stack: 0
indirect call loop depth: 0 freq:0.35 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterCheckDataTxRxEvent/120 inlinable
global time: 16.920000
self size: 16
global size: 16
min size: 12
self stack: 0
global stack: 0
size:3.500000, time:3.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:
Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size:24 stack: 0
Lpi2c_Ip_MasterHandleTransmitDataRequest/91 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size:20 stack: 0
IPA function summary for Lpi2c_Ip_MasterGetTransferStatus/119 inlinable
global time: 8.576000
self size: 12
global size: 12
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:4.500000, time:2.457000, executed if:(op1 != 0B)
size:0.500000, time:0.119000, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterReceiveDataBlocking/118 inlinable
global time: 174.420851
self size: 42
global size: 42
min size: 32
self stack: 4
global stack: 4
size:23.000000, time:40.783347
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_GetElapsed/144 function body not available
loop depth: 1 freq:4.47 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpi2c_Ip_MasterReceive/102 function not considered for inlining
loop depth: 1 freq:4.47 size: 2 time: 11callee size:21 stack: 0
op0 change 22.390000% of time
OsIf_GetCounter/143 function body not available
loop depth: 0 freq:0.48 size: 3 time: 12
op0 is compile time invariant
Lpi2c_Ip_MasterInterruptReceiveInit/116 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size:12 stack: 0
OsIf_MicrosToTicks/142 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterReceiveData/117 inlinable
global time: 18.942500
self size: 27
global size: 27
min size: 6
self stack: 0
global stack: 0
size:21.000000, time:11.210100
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterInterruptReceiveInit/116 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size:12 stack: 0
IPA function summary for Lpi2c_Ip_MasterInterruptReceiveInit/116 inlinable
global time: 59.000000
self size: 24
global size: 24
min size: 30
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
LPI2C_Set_MasterRxFIFOWatermark/42 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Get_MasterRxFIFOSize/0 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 3 stack: 0
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:1.00 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterSendAddress/85 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendDataBlocking/115 inlinable
global time: 175.420851
self size: 43
global size: 43
min size: 32
self stack: 4
global stack: 4
size:24.000000, time:41.783347
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_GetElapsed/144 function body not available
loop depth: 1 freq:4.47 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpi2c_Ip_MasterSend/100 function not considered for inlining
loop depth: 1 freq:4.47 size: 2 time: 11callee size:21 stack: 0
op0 change 22.390000% of time
OsIf_GetCounter/143 function body not available
loop depth: 0 freq:0.48 size: 3 time: 12
op0 is compile time invariant
Lpi2c_Ip_MasterInitSendTransfer.constprop/190 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 6 stack: 0
OsIf_MicrosToTicks/142 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendData/113 inlinable
global time: 24.674900
self size: 27
global size: 27
min size: 14
self stack: 0
global stack: 0
size:17.000000, time:10.732400
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterQueueData/86 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
Lpi2c_Ip_MasterSendAddress/85 function not considered for inlining
loop depth: 0 freq:0.48 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSetSlaveAddr/112 inlinable
global time: 5.000000
self size: 6
global size: 6
min size: 0
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterGetBaudRate/111 inlinable
global time: 34.460000
self size: 30
global size: 30
min size: 0
self stack: 0
global stack: 0
size:26.000000, time:31.790000
size:4.000000, time:2.670000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterDeinit/110 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterInit/109 inlinable
global time: 78.000000
self size: 52
global size: 52
min size: 18
self stack: 0
global stack: 0
size:28.500000, time:28.500000
size:4.500000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 352] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 352] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 16] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 200] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 200] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 224] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 256] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 256] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 288] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 288] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 320] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 320] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 192] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed)
calls:
Lpi2c_Ip_MasterSetBaudRateInit/106 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
Lpi2c_Ip_MasterConfigFeatures/108 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size:11 stack: 0
LPI2C_Init/141 function body not available
loop depth: 0 freq:1.00 size: 2 time: 11
IPA function summary for Lpi2c_Ip_MasterConfigFeatures/108 inlinable
global time: 58.000000
self size: 23
global size: 23
min size: 24
self stack: 0
global stack: 0
size:4.500000, time:4.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 128] changed)
calls:
LPI2C_Set_MasterPinLowTimeout/24 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterBusIdleTimeout/26 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterGlitchFilterSCL/21 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterGlitchFilterSDA/20 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpi2c_Ip_MasterSetBaudRateInit/106 inlinable
global time: 27.541100
self size: 24
global size: 24
min size: 18
self stack: 0
global stack: 0
size:12.000000, time:8.343900
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterSetOperatingMode/88 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 6 stack: 0
Lpi2c_Ip_HSBaudRateConfig/104 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 9 stack: 0
Lpi2c_Ip_BaudRateConfig/103 function not considered for inlining
loop depth: 0 freq:0.48 size: 3 time: 12callee size:11 stack: 0
IPA function summary for Lpi2c_Ip_MasterSetBaudRate/105 inlinable
global time: 56.860192
self size: 55
global size: 55
min size: 12
self stack: 36
global stack: 36
size:28.000000, time:18.625625
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:1.300000, nonconst if:(op2 changed)
size:1.000000, time:0.325000, executed if:(op2 != 0), nonconst if:(op3 changed) && (op2 != 0)
size:1.000000, time:0.325000, executed if:(op2 != 0), nonconst if:(op2 changed) && (op2 != 0)
size:2.000000, time:3.575000, executed if:(op2 != 0), nonconst if:(op2 changed || op3 changed) && (op2 != 0)
size:12.000000, time:15.109567, executed if:(op2 != 0)
calls:
Lpi2c_Ip_MasterSetOperatingMode/88 function not considered for inlining
loop depth: 0 freq:0.65 size: 3 time: 12callee size: 6 stack: 0
Lpi2c_Ip_BaudRateConfig/103 function not considered for inlining
loop depth: 0 freq:0.65 size: 3 time: 12callee size:11 stack: 0
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_HSBaudRateConfig/104 inlinable
global time: 54.000000
self size: 19
global size: 19
min size: 24
self stack: 0
global stack: 0
size:1.500000, time:1.500000
size:4.500000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 224] changed)
calls:
LPI2C_Set_MasterClockLowPeriodHS/40 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterClockHighPeriodHS/38 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterSetupHoldDelayHS/37 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterDataValidDelayHS/36 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpi2c_Ip_BaudRateConfig/103 inlinable
global time: 67.000000
self size: 23
global size: 23
min size: 30
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:5.000000, time:4.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed)
calls:
LPI2C_Set_MasterClockLowPeriod/34 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterClockHighPeriod/31 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterDataValidDelay/32 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterSetupHoldDelay/33 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
LPI2C_Set_MasterPrescaler/28 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for Lpi2c_Ip_MasterReceive/102 inlinable
global time: 30.445259
self size: 43
global size: 43
min size: 38
self stack: 0
global stack: 0
size:21.000000, time:8.789193
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterCheckErrorEvents/99 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size:12 stack: 0
LPI2C_Set_MasterRxFIFOWatermark/42 function not considered for inlining
loop depth: 0 freq:0.07 size: 3 time: 12callee size: 4 stack: 0
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:0.11 size: 5 time: 14callee size: 9 stack: 0
op3 is compile time invariant
Lpi2c_Ip_MasterGetReceivedData/101 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size:10 stack: 0
indirect call loop depth: 0 freq:0.08 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterGetReceivedData/101 inlinable
global time: 150.373218
self size: 20
global size: 20
min size: 0
self stack: 0
global stack: 0
size:13.000000, time:114.238374
size:7.000000, time:36.134845, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterSend/100 inlinable
global time: 29.136816
self size: 43
global size: 43
min size: 38
self stack: 0
global stack: 0
size:21.000000, time:8.813482
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterCheckErrorEvents/99 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size:12 stack: 0
Lpi2c_Ip_MasterQueueData/86 function not considered for inlining
loop depth: 0 freq:0.09 size: 3 time: 12callee size:13 stack: 0
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:0.09 size: 5 time: 14callee size: 9 stack: 0
op3 is compile time invariant
Lpi2c_Ip_MasterSendQueuedCmd/84 function not considered for inlining
loop depth: 0 freq:0.24 size: 3 time: 12callee size:13 stack: 0
indirect call loop depth: 0 freq:0.06 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterCheckErrorEvents/99 inlinable
global time: 25.880000
self size: 24
global size: 24
min size: 18
self stack: 0
global stack: 0
size:7.000000, time:7.000000
size:4.000000, time:3.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 160] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 160] changed)
calls:
LPI2C_Get_MasterNACKDetectEventHandler/97 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size:10 stack: 0
LPI2C_Get_MasterArbitrationLostEventHandler/98 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 9 stack: 0
LPI2C_Get_MasterFIFOErrorEventHandler/96 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size:11 stack: 0
IPA function summary for LPI2C_Get_MasterArbitrationLostEventHandler/98 inlinable
global time: 33.600000
self size: 19
global size: 19
min size: 20
self stack: 0
global stack: 0
size:4.000000, time:3.850000
size:5.000000, time:3.850000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:1.00 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.70 size: 5 time: 17
IPA function summary for LPI2C_Get_MasterNACKDetectEventHandler/97 inlinable
global time: 34.600000
self size: 20
global size: 20
min size: 20
self stack: 0
global stack: 0
size:4.500000, time:4.350000
size:5.500000, time:4.350000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:1.00 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.70 size: 5 time: 17
IPA function summary for LPI2C_Get_MasterFIFOErrorEventHandler/96 inlinable
global time: 36.940000
self size: 23
global size: 23
min size: 20
self stack: 0
global stack: 0
size:4.000000, time:3.850000
size:5.000000, time:3.850000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 176] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 176] changed)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 176] == 3) && (not inlined)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 176] == 3)
calls:
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:1.00 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.70 size: 5 time: 17
IPA function summary for Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 inlinable
global time: 21.300000
self size: 29
global size: 29
min size: 0
self stack: 0
global stack: 0
size:9.500000, time:6.000000
size:7.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.250000, executed if:(op1[ref offset: 32] == 0) && (not inlined), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 32] == 0) && (not inlined)
size:2.500000, time:1.250000, executed if:(op1[ref offset: 32] == 0), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 32] == 0)
size:0.500000, time:0.175000, executed if:(op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0) && (not inlined), nonconst if:(op1[ref offset: 256] changed) && (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0) && (not inlined)
size:0.500000, time:0.175000, executed if:(op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0), nonconst if:(op1[ref offset: 256] changed) && (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0)
calls:
indirect call loop depth: 0 freq:0.35 size: 5 time: 17predicate: (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0)
IPA function summary for Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 inlinable
global time: 23.800000
self size: 31
global size: 31
min size: 0
self stack: 0
global stack: 0
size:8.500000, time:5.500000
size:6.500000, time:4.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed)
size:0.500000, time:0.250000, executed if:(op1[ref offset: 128] != 0) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1[ref offset: 128] != 0)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.250000, executed if:(op1[ref offset: 32] == 0) && (not inlined), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 32] == 0) && (not inlined)
size:2.500000, time:1.250000, executed if:(op1[ref offset: 32] == 0), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 32] == 0)
size:0.500000, time:0.175000, executed if:(op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0) && (not inlined), nonconst if:(op1[ref offset: 256] changed) && (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0) && (not inlined)
size:0.500000, time:0.175000, executed if:(op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0), nonconst if:(op1[ref offset: 256] changed) && (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0)
calls:
indirect call loop depth: 0 freq:0.35 size: 5 time: 17predicate: (op1[ref offset: 224] != 0B) && (op1[ref offset: 32] == 0)
IPA function summary for Lpi2c_Ip_SlaveHandleAddressValidEvent/93 inlinable
global time: 26.280000
self size: 36
global size: 36
min size: 0
self stack: 0
global stack: 0
size:8.500000, time:3.180000
size:5.500000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 2688] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op1[ref offset: 2688] changed)
size:1.000000, time:0.500000, executed if:(not inlined), nonconst if:(op2[ref offset: 224] changed) && (not inlined)
size:5.000000, time:2.500000, nonconst if:(op2[ref offset: 224] changed)
size:1.000000, time:0.350000, executed if:(op2[ref offset: 224] != 0B) && (not inlined), nonconst if:(op2[ref offset: 256] changed) && (op2[ref offset: 224] != 0B) && (not inlined)
size:1.000000, time:0.350000, executed if:(op2[ref offset: 224] != 0B), nonconst if:(op2[ref offset: 256] changed) && (op2[ref offset: 224] != 0B)
calls:
indirect call loop depth: 0 freq:0.35 size: 5 time: 17predicate: (op2[ref offset: 224] != 0B)
indirect call loop depth: 0 freq:0.35 size: 5 time: 17predicate: (op2[ref offset: 224] != 0B)
IPA function summary for Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 inlinable
global time: 170.025518
self size: 48
global size: 48
min size: 26
self stack: 0
global stack: 0
size:25.000000, time:121.244973
size:10.000000, time:37.580344, executed if:(not inlined)
calls:
LPI2C_Set_MasterRxFIFOWatermark/42 function not considered for inlining
loop depth: 0 freq:0.22 size: 3 time: 12callee size: 4 stack: 0
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:0.33 size: 5 time: 14callee size: 9 stack: 0
op3 is compile time invariant
indirect call loop depth: 0 freq:0.23 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterHandleTransmitDataRequest/91 inlinable
global time: 19.906776
self size: 41
global size: 41
min size: 6
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:(op1[ref offset: 80] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 80] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 88] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 88] changed)
size:2.000000, time:2.000000, nonconst if:(op1[ref offset: 80] changed || op1[ref offset: 88] changed)
size:0.500000, time:0.255600, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined)
size:2.500000, time:1.278000, nonconst if:(op1[ref offset: 128] changed)
size:0.500000, time:0.178920, executed if:(op1[ref offset: 128] != 0B) && (not inlined), nonconst if:(op1[ref offset: 160] changed) && (op1[ref offset: 128] != 0B) && (not inlined)
size:2.500000, time:0.894600, executed if:(op1[ref offset: 128] != 0B), nonconst if:(op1[ref offset: 160] changed) && (op1[ref offset: 128] != 0B)
size:0.500000, time:0.166140, executed if:(op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0) && (not inlined), nonconst if:(op0[ref offset: 192] changed) && (op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0) && (not inlined)
size:1.500000, time:0.498420, executed if:(op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0), nonconst if:(op0[ref offset: 192] changed) && (op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0)
size:0.500000, time:0.166140, executed if:(op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0) && (not inlined)
size:0.500000, time:0.166140, executed if:(op1[ref offset: 128] == 0B || op1[ref offset: 160] != 0)
size:0.500000, time:0.089460, executed if:(op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B) && (not inlined), nonconst if:(op1[ref offset: 96] changed) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B) && (not inlined)
size:2.500000, time:0.447300, executed if:(op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B), nonconst if:(op1[ref offset: 96] changed) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B)
size:2.000000, time:0.165501, executed if:(op1[ref offset: 96] == 0) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B) && (not inlined)
size:4.000000, time:0.344421, executed if:(op1[ref offset: 96] == 0) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B)
calls:
Lpi2c_Ip_MasterQueueData/86 function not considered for inlining
loop depth: 0 freq:0.09 size: 3 time: 12callee size:13 stack: 0 predicate: (op1[ref offset: 96] != 0) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B)
Lpi2c_Ip_MasterEndTransfer/87 function not considered for inlining
loop depth: 0 freq:0.09 size: 5 time: 14callee size: 9 stack: 0 predicate: (op1[ref offset: 96] == 0) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B)
op3 is compile time invariant
Lpi2c_Ip_MasterSendQueuedCmd/84 function not considered for inlining
loop depth: 0 freq:0.49 size: 3 time: 12callee size:13 stack: 0
indirect call loop depth: 0 freq:0.06 size: 5 time: 17predicate: (op1[ref offset: 96] == 0) && (op1[ref offset: 160] == 0) && (op1[ref offset: 128] != 0B)
IPA function summary for Lpi2c_Ip_SlaveSetOperatingMode/90 inlinable
global time: 30.000000
self size: 13
global size: 13
min size: 10
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
calls:
LPI2C_Set_SlaveHighSpeedModeDetect/65 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Lpi2c_Ip_SlaveConfigureNormalMode/89 function not considered for inlining
loop depth: 0 freq:1.00 size: 2 time: 11callee size:12 stack: 0
IPA function summary for Lpi2c_Ip_SlaveConfigureNormalMode/89 inlinable
global time: 23.000000
self size: 24
global size: 24
min size: 0
self stack: 0
global stack: 0
size:13.500000, time:13.500000
size:8.500000, time:7.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 2336] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2336] changed)
calls:
IPA function summary for Lpi2c_Ip_MasterSetOperatingMode/88 inlinable
global time: 11.000000
self size: 12
global size: 12
min size: 0
self stack: 0
global stack: 0
size:9.000000, time:9.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterEndTransfer/87 inlinable
global time: 20.260000
self size: 19
global size: 19
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:5.000000, time:4.000000, executed if:(not inlined)
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:2.000000, time:2.000000, nonconst if:(op3 changed)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, executed if:(op2 != 0) && (not inlined)
size:1.000000, time:0.500000, executed if:(op2 != 0)
calls:
LPI2C_Reset_MasterRxFIFOCmd/2 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 3 stack: 0 predicate: (op3 != 0)
LPI2C_Reset_MasterTxFIFOCmd/3 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 3 stack: 0 predicate: (op3 != 0)
IPA function summary for Lpi2c_Ip_MasterQueueData/86 inlinable
global time: 52.086763
self size: 26
global size: 26
min size: 0
self stack: 0
global stack: 0
size:11.000000, time:32.401825
size:6.000000, time:10.684938, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 80] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 88] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 88] changed)
size:2.000000, time:2.000000, nonconst if:(op1[ref offset: 80] changed || op1[ref offset: 88] changed)
calls:
IPA function summary for Lpi2c_Ip_MasterSendAddress/85 inlinable
global time: 42.785200
self size: 56
global size: 56
min size: 30
self stack: 0
global stack: 0
size:11.500000, time:8.250000
size:5.500000, time:3.750000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 176] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 176] changed)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 176] == 3) && (not inlined), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 176] == 3) && (not inlined)
size:2.500000, time:0.850000, executed if:(op1[ref offset: 176] == 3), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 176] == 3)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined), nonconst if:(op1[ref offset: 216] changed) && (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3), nonconst if:(op1[ref offset: 216] changed) && (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
size:2.000000, time:1.000000, nonconst if:(op2 changed)
size:0.500000, time:0.082500, executed if:(op2 != 0) && (not inlined)
size:3.500000, time:0.577500, executed if:(op2 != 0)
calls:
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:0.17 size: 5 time: 14callee size: 9 stack: 0 predicate: (op2 != 0)
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
Lpi2c_Ip_MasterQueueCmd/83 function not considered for inlining
loop depth: 0 freq:0.11 size: 5 time: 14callee size: 9 stack: 0 predicate: (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendQueuedCmd/84 inlinable
global time: 139.871400
self size: 27
global size: 27
min size: 0
self stack: 0
global stack: 0
size:14.000000, time:97.639486
size:7.000000, time:27.883935, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:0.500000, time:4.673989, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:0.500000, time:4.673989, nonconst if:(op1[ref offset: 80] changed)
calls:
IPA function summary for Lpi2c_Ip_MasterQueueCmd/83 inlinable
global time: 13.000000
self size: 18
global size: 18
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:1.000000
size:5.000000, time:3.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 736] changed || op0[ref offset: 32] changed)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 80] changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed || op3 changed)
array index:(op1[ref offset: 80] changed)
calls:
IPA function summary for LPI2C_Set_SlaveAddr0/71 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: 2560] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2560] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 2560] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_SlaveHighSpeedModeDetect/65 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: 2336] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2336] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 2336] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterRxFIFOWatermark/42 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: 704] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 704] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 704] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterClockLowPeriodHS/40 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: 640] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 640] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterClockHighPeriodHS/38 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: 640] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 640] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterSetupHoldDelayHS/37 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: 640] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 640] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterDataValidDelayHS/36 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: 640] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 640] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterClockLowPeriod/34 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: 576] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 576] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 576] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterSetupHoldDelay/33 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: 576] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 576] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 576] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterDataValidDelay/32 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: 576] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 576] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 576] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterClockHighPeriod/31 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: 576] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 576] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 576] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterPrescaler/28 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: 288] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 288] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 288] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterBusIdleTimeout/26 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: 320] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 320] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 320] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterPinLowTimeout/24 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: 352] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 352] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 352] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_SlaveGlitchFilterSCL/23 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: 2368] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2368] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 2368] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_SlaveGlitchFilterSDA/22 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: 2368] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 2368] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 2368] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterGlitchFilterSCL/21 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: 320] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 320] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 320] changed || op1 changed)
calls:
IPA function summary for LPI2C_Set_MasterGlitchFilterSDA/20 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: 320] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 320] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 320] changed || op1 changed)
calls:
IPA function summary for LPI2C_Reset_MasterTxFIFOCmd/3 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: 128] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 128] changed)
calls:
IPA function summary for LPI2C_Reset_MasterRxFIFOCmd/2 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: 128] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 128] changed)
calls:
IPA function summary for LPI2C_Get_MasterRxFIFOSize/0 inlinable
global time: 6.000000
self size: 7
global size: 7
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: 32] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 32] changed)
calls:
Flattening functions:
Overall time estimate: 2418.071472 weighted by profile: 0.000000
Deciding on inlining of small functions. Starting with size 0.
Enqueueing calls in Lpi2c_Ip_MasterInitSendTransfer.constprop/190.
Enqueueing calls in Lpi2c_Ip_SetMasterHighSpeedMode/140.
Enqueueing calls in Lpi2c_Ip_SetSlaveCallback/139.
Enqueueing calls in Lpi2c_Ip_SetMasterCallback/138.
Enqueueing calls in Lpi2c_Ip_ModuleIRQHandler/137.
Enqueueing calls in Lpi2c_Ip_SlaveIRQHandler/136.
Enqueueing calls in Lpi2c_Ip_SlaveCheckErrorEvent/135.
Enqueueing calls in Lpi2c_Ip_SlaveBitErrorEventHandler/134.
Enqueueing calls in Lpi2c_Ip_SlaveStopDetectHandler/133.
Enqueueing calls in Lpi2c_Ip_SlaveCheckDataEvent/132.
Enqueueing calls in Lpi2c_Ip_SlaveEndTransferHandler/131.
Enqueueing calls in Lpi2c_Ip_SlaveEndTransfer/130.
Enqueueing calls in Lpi2c_Ip_SlaveGetTransferStatus/129.
Enqueueing calls in Lpi2c_Ip_SlaveSetBuffer/128.
Enqueueing calls in Lpi2c_Ip_SlaveDeinit/127.
Enqueueing calls in Lpi2c_Ip_StartListening/126.
Enqueueing calls in Lpi2c_Ip_SlaveInit/125.
Enqueueing calls in Lpi2c_Ip_SlaveConfigureGlitchFilter/124.
Enqueueing calls in Lpi2c_Ip_SlaveConigureAddress/123.
Enqueueing calls in Lpi2c_Ip_SlaveActivateEvents/122.
Enqueueing calls in Lpi2c_Ip_MasterIRQHandler/121.
Enqueueing calls in Lpi2c_Ip_MasterCheckDataTxRxEvent/120.
Enqueueing calls in Lpi2c_Ip_MasterGetTransferStatus/119.
Enqueueing calls in Lpi2c_Ip_MasterReceiveDataBlocking/118.
Enqueueing calls in Lpi2c_Ip_MasterReceiveData/117.
Enqueueing calls in Lpi2c_Ip_MasterInterruptReceiveInit/116.
Enqueueing calls in Lpi2c_Ip_MasterSendDataBlocking/115.
Enqueueing calls in Lpi2c_Ip_MasterSendData/113.
Enqueueing calls in Lpi2c_Ip_MasterSetSlaveAddr/112.
Enqueueing calls in Lpi2c_Ip_MasterGetBaudRate/111.
Enqueueing calls in Lpi2c_Ip_MasterDeinit/110.
Enqueueing calls in Lpi2c_Ip_MasterInit/109.
Enqueueing calls in Lpi2c_Ip_MasterConfigFeatures/108.
Enqueueing calls in Lpi2c_Ip_MasterSetBaudRateInit/106.
Enqueueing calls in Lpi2c_Ip_MasterSetBaudRate/105.
Enqueueing calls in Lpi2c_Ip_HSBaudRateConfig/104.
Enqueueing calls in Lpi2c_Ip_BaudRateConfig/103.
Enqueueing calls in Lpi2c_Ip_MasterReceive/102.
Enqueueing calls in Lpi2c_Ip_MasterGetReceivedData/101.
Enqueueing calls in Lpi2c_Ip_MasterSend/100.
Enqueueing calls in Lpi2c_Ip_MasterCheckErrorEvents/99.
Enqueueing calls in LPI2C_Get_MasterArbitrationLostEventHandler/98.
Enqueueing calls in LPI2C_Get_MasterNACKDetectEventHandler/97.
Enqueueing calls in LPI2C_Get_MasterFIFOErrorEventHandler/96.
Enqueueing calls in Lpi2c_Ip_SlaveHandleReceiveDataEvent/95.
Enqueueing calls in Lpi2c_Ip_SlaveHandleTransmitDataEvent/94.
Enqueueing calls in Lpi2c_Ip_SlaveHandleAddressValidEvent/93.
Enqueueing calls in Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92.
Enqueueing calls in Lpi2c_Ip_MasterHandleTransmitDataRequest/91.
Enqueueing calls in Lpi2c_Ip_SlaveSetOperatingMode/90.
Enqueueing calls in Lpi2c_Ip_SlaveConfigureNormalMode/89.
Enqueueing calls in Lpi2c_Ip_MasterSetOperatingMode/88.
Enqueueing calls in Lpi2c_Ip_MasterEndTransfer/87.
Enqueueing calls in Lpi2c_Ip_MasterQueueData/86.
Enqueueing calls in Lpi2c_Ip_MasterSendAddress/85.
Enqueueing calls in Lpi2c_Ip_MasterSendQueuedCmd/84.
Enqueueing calls in Lpi2c_Ip_MasterQueueCmd/83.
Enqueueing calls in LPI2C_Set_SlaveAddr0/71.
Enqueueing calls in LPI2C_Set_SlaveHighSpeedModeDetect/65.
Enqueueing calls in LPI2C_Set_MasterRxFIFOWatermark/42.
Enqueueing calls in LPI2C_Set_MasterClockLowPeriodHS/40.
Enqueueing calls in LPI2C_Set_MasterClockHighPeriodHS/38.
Enqueueing calls in LPI2C_Set_MasterSetupHoldDelayHS/37.
Enqueueing calls in LPI2C_Set_MasterDataValidDelayHS/36.
Enqueueing calls in LPI2C_Set_MasterClockLowPeriod/34.
Enqueueing calls in LPI2C_Set_MasterSetupHoldDelay/33.
Enqueueing calls in LPI2C_Set_MasterDataValidDelay/32.
Enqueueing calls in LPI2C_Set_MasterClockHighPeriod/31.
Enqueueing calls in LPI2C_Set_MasterPrescaler/28.
Enqueueing calls in LPI2C_Set_MasterBusIdleTimeout/26.
Enqueueing calls in LPI2C_Set_MasterPinLowTimeout/24.
Enqueueing calls in LPI2C_Set_SlaveGlitchFilterSCL/23.
Enqueueing calls in LPI2C_Set_SlaveGlitchFilterSDA/22.
Enqueueing calls in LPI2C_Set_MasterGlitchFilterSCL/21.
Enqueueing calls in LPI2C_Set_MasterGlitchFilterSDA/20.
Enqueueing calls in LPI2C_Reset_MasterTxFIFOCmd/3.
Enqueueing calls in LPI2C_Reset_MasterRxFIFOCmd/2.
Enqueueing calls in LPI2C_Get_MasterRxFIFOSize/0.
Considering LPI2C_Set_MasterClockLowPeriodHS/40 with 8 size
to be inlined into Lpi2c_Ip_HSBaudRateConfig/104 in ../RTD/src/Lpi2c_Ip.c:1318
Estimated badness is -24.000000, frequency 1.00.
Considering LPI2C_Set_SlaveGlitchFilterSDA/22 with 9 size
to be inlined into Lpi2c_Ip_SlaveConfigureGlitchFilter/124 in ../RTD/src/Lpi2c_Ip.c:2345
Estimated badness is -21.818182, frequency 1.00.
Considering LPI2C_Set_SlaveGlitchFilterSCL/23 with 9 size
to be inlined into Lpi2c_Ip_SlaveConfigureGlitchFilter/124 in ../RTD/src/Lpi2c_Ip.c:2347
Estimated badness is -21.818182, frequency 1.00.
Considering LPI2C_Set_MasterBusIdleTimeout/26 with 8 size
to be inlined into Lpi2c_Ip_MasterConfigFeatures/108 in ../RTD/src/Lpi2c_Ip.c:1648
Estimated badness is -20.000000, frequency 1.00.
Considering LPI2C_Set_MasterPrescaler/28 with 8 size
to be inlined into Lpi2c_Ip_BaudRateConfig/103 in ../RTD/src/Lpi2c_Ip.c:1292
Estimated badness is -20.000000, frequency 1.00.
Considering LPI2C_Set_MasterClockLowPeriod/34 with 8 size
to be inlined into Lpi2c_Ip_BaudRateConfig/103 in ../RTD/src/Lpi2c_Ip.c:1300
Estimated badness is -20.000000, frequency 1.00.
Considering LPI2C_Get_MasterRxFIFOSize/0 with 7 size
to be inlined into Lpi2c_Ip_MasterInterruptReceiveInit/116 in ../RTD/src/Lpi2c_Ip.c:2006
Estimated badness is -18.560000, frequency 1.00.
Considering LPI2C_Set_SlaveHighSpeedModeDetect/65 with 9 size
to be inlined into Lpi2c_Ip_SlaveSetOperatingMode/90 in ../RTD/src/Lpi2c_Ip.c:587
Estimated badness is -16.000000, frequency 1.00.
Considering LPI2C_Set_SlaveAddr0/71 with 9 size
to be inlined into Lpi2c_Ip_SlaveConigureAddress/123 in ../RTD/src/Lpi2c_Ip.c:2325
Estimated badness is -14.117647, frequency 1.00.
Considering LPI2C_Set_MasterDataValidDelayHS/36 with 9 size
to be inlined into Lpi2c_Ip_HSBaudRateConfig/104 in ../RTD/src/Lpi2c_Ip.c:1312
Estimated badness is -11.428571, frequency 1.00.
Considering LPI2C_Set_MasterSetupHoldDelayHS/37 with 9 size
to be inlined into Lpi2c_Ip_HSBaudRateConfig/104 in ../RTD/src/Lpi2c_Ip.c:1314
Estimated badness is -11.428571, frequency 1.00.
Considering LPI2C_Set_MasterClockHighPeriodHS/38 with 9 size
to be inlined into Lpi2c_Ip_HSBaudRateConfig/104 in ../RTD/src/Lpi2c_Ip.c:1316
Estimated badness is -11.428571, frequency 1.00.
Considering LPI2C_Set_MasterPinLowTimeout/24 with 9 size
to be inlined into Lpi2c_Ip_MasterConfigFeatures/108 in ../RTD/src/Lpi2c_Ip.c:1654
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterGlitchFilterSDA/20 with 9 size
to be inlined into Lpi2c_Ip_MasterConfigFeatures/108 in ../RTD/src/Lpi2c_Ip.c:1644
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterGlitchFilterSCL/21 with 9 size
to be inlined into Lpi2c_Ip_MasterConfigFeatures/108 in ../RTD/src/Lpi2c_Ip.c:1645
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterSetupHoldDelay/33 with 9 size
to be inlined into Lpi2c_Ip_BaudRateConfig/103 in ../RTD/src/Lpi2c_Ip.c:1294
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterDataValidDelay/32 with 9 size
to be inlined into Lpi2c_Ip_BaudRateConfig/103 in ../RTD/src/Lpi2c_Ip.c:1296
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterClockHighPeriod/31 with 9 size
to be inlined into Lpi2c_Ip_BaudRateConfig/103 in ../RTD/src/Lpi2c_Ip.c:1298
Estimated badness is -9.600000, frequency 1.00.
Considering LPI2C_Set_MasterRxFIFOWatermark/42 with 9 size
to be inlined into Lpi2c_Ip_MasterInterruptReceiveInit/116 in ../RTD/src/Lpi2c_Ip.c:2013
Estimated badness is -9.230769, frequency 1.00.
Considering LPI2C_Reset_MasterRxFIFOCmd/2 with 7 size
to be inlined into Lpi2c_Ip_MasterEndTransfer/87 in ../RTD/src/Lpi2c_Ip.c:461
Estimated badness is -7.392000, frequency 0.33.
Considering LPI2C_Reset_MasterTxFIFOCmd/3 with 7 size
to be inlined into Lpi2c_Ip_MasterEndTransfer/87 in ../RTD/src/Lpi2c_Ip.c:460
Estimated badness is -7.392000, frequency 0.33.
Considering LPI2C_Set_MasterRxFIFOWatermark/42 with 9 size
to be inlined into Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 in ../RTD/src/Lpi2c_Ip.c:865
Estimated badness is -1.061280, frequency 0.22.
Considering Lpi2c_Ip_SlaveBitErrorEventHandler/134 with 11 size
to be inlined into Lpi2c_Ip_SlaveCheckErrorEvent/135 in ../RTD/src/Lpi2c_Ip.c:2725
Estimated badness is -0.541538, frequency 0.33.
Considering Lpi2c_Ip_SlaveEndTransfer/130 with 9 size
to be inlined into Lpi2c_Ip_SlaveEndTransferHandler/131 in ../RTD/src/Lpi2c_Ip.c:2586
Estimated badness is -0.521053, frequency 0.33.
Considering LPI2C_Set_MasterRxFIFOWatermark/42 with 9 size
to be inlined into Lpi2c_Ip_MasterReceive/102 in ../RTD/src/Lpi2c_Ip.c:1269
Estimated badness is -0.389136, frequency 0.07.
Considering Lpi2c_Ip_SlaveConfigureNormalMode/89 with 24 size
to be inlined into Lpi2c_Ip_SlaveSetOperatingMode/90 in ../RTD/src/Lpi2c_Ip.c:577
Estimated badness is -0.224852, frequency 1.00.
Considering Lpi2c_Ip_MasterCheckDataTxRxEvent/120 with 16 size
to be inlined into Lpi2c_Ip_MasterIRQHandler/121 in ../RTD/src/Lpi2c_Ip.c:2252
Estimated badness is -0.196078, frequency 1.00.
Considering Lpi2c_Ip_SlaveCheckErrorEvent/135 with 13 size
to be inlined into Lpi2c_Ip_SlaveIRQHandler/136 in ../RTD/src/Lpi2c_Ip.c:2787
Estimated badness is -0.188316, frequency 1.00.
Considering Lpi2c_Ip_SlaveConfigureGlitchFilter/124 with 13 size
to be inlined into Lpi2c_Ip_SlaveInit/125 in ../RTD/src/Lpi2c_Ip.c:2405
Estimated badness is -0.181818, frequency 1.00.
Considering Lpi2c_Ip_SlaveStopDetectHandler/133 with 15 size
to be inlined into Lpi2c_Ip_SlaveIRQHandler/136 in ../RTD/src/Lpi2c_Ip.c:2777
Estimated badness is -0.171869, frequency 0.67.
Considering Lpi2c_Ip_MasterSetOperatingMode/88 with 12 size
to be inlined into Lpi2c_Ip_MasterSetBaudRateInit/106 in ../RTD/src/Lpi2c_Ip.c:1485
Estimated badness is -0.148618, frequency 0.48.
Considering Lpi2c_Ip_SlaveConigureAddress/123 with 17 size
to be inlined into Lpi2c_Ip_SlaveInit/125 in ../RTD/src/Lpi2c_Ip.c:2399
Estimated badness is -0.140351, frequency 1.00.
Considering Lpi2c_Ip_MasterGetReceivedData/101 with 20 size
to be inlined into Lpi2c_Ip_MasterReceive/102 in ../RTD/src/Lpi2c_Ip.c:1253
Estimated badness is -0.119883, frequency 0.33.
Considering Lpi2c_Ip_MasterSetOperatingMode/88 with 12 size
to be inlined into Lpi2c_Ip_MasterSetBaudRate/105 in ../RTD/src/Lpi2c_Ip.c:1439
Estimated badness is -0.099454, frequency 0.65.
Considering Lpi2c_Ip_MasterInitSendTransfer.constprop/190 with 13 size
to be inlined into Lpi2c_Ip_MasterSendDataBlocking/115 in ../RTD/src/Lpi2c_Ip.c:1964
Estimated badness is -0.097490, frequency 0.48.
Considering Lpi2c_Ip_MasterSend/100 with 43 size
to be inlined into Lpi2c_Ip_MasterSendDataBlocking/115 in ../RTD/src/Lpi2c_Ip.c:1972
Estimated badness is -0.075441, frequency 4.47.
Considering LPI2C_Get_MasterArbitrationLostEventHandler/98 with 19 size
to be inlined into Lpi2c_Ip_MasterCheckErrorEvents/99 in ../RTD/src/Lpi2c_Ip.c:1136
Estimated badness is -0.054343, frequency 0.33.
Considering Lpi2c_Ip_MasterReceive/102 with 55 size
to be inlined into Lpi2c_Ip_MasterReceiveDataBlocking/118 in ../RTD/src/Lpi2c_Ip.c:2166
Estimated badness is -0.050480, frequency 4.47.
Considering LPI2C_Get_MasterNACKDetectEventHandler/97 with 20 size
to be inlined into Lpi2c_Ip_MasterCheckErrorEvents/99 in ../RTD/src/Lpi2c_Ip.c:1142
Estimated badness is -0.049958, frequency 0.33.
Considering Lpi2c_Ip_SlaveCheckDataEvent/132 with 32 size
to be inlined into Lpi2c_Ip_SlaveIRQHandler/136 in ../RTD/src/Lpi2c_Ip.c:2758
Estimated badness is -0.049275, frequency 1.00.
Considering Lpi2c_Ip_MasterConfigFeatures/108 with 30 size
to be inlined into Lpi2c_Ip_MasterInit/109 in ../RTD/src/Lpi2c_Ip.c:1709
Estimated badness is -0.044357, frequency 1.00.
Considering LPI2C_Get_MasterFIFOErrorEventHandler/96 with 23 size
to be inlined into Lpi2c_Ip_MasterCheckErrorEvents/99 in ../RTD/src/Lpi2c_Ip.c:1130
Estimated badness is -0.040989, frequency 0.33.
Considering Lpi2c_Ip_HSBaudRateConfig/104 with 26 size
to be inlined into Lpi2c_Ip_MasterSetBaudRateInit/106 in ../RTD/src/Lpi2c_Ip.c:1482
Estimated badness is -0.040440, frequency 0.48.
Considering Lpi2c_Ip_SlaveSetOperatingMode/90 with 28 size
to be inlined into Lpi2c_Ip_SlaveInit/125 in ../RTD/src/Lpi2c_Ip.c:2402
Estimated badness is -0.035851, frequency 1.00.
Considering Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 with 50 size
to be inlined into Lpi2c_Ip_MasterCheckDataTxRxEvent/120 in ../RTD/src/Lpi2c_Ip.c:2229
Estimated badness is -0.028529, frequency 0.33.
Considering Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 with 29 size
to be inlined into Lpi2c_Ip_SlaveCheckDataEvent/132 in ../RTD/src/Lpi2c_Ip.c:2632
Estimated badness is -0.018981, frequency 0.25.
Considering Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 with 31 size
to be inlined into Lpi2c_Ip_SlaveCheckDataEvent/132 in ../RTD/src/Lpi2c_Ip.c:2621
Estimated badness is -0.016612, frequency 0.25.
Considering Lpi2c_Ip_SlaveHandleAddressValidEvent/93 with 36 size
to be inlined into Lpi2c_Ip_SlaveCheckDataEvent/132 in ../RTD/src/Lpi2c_Ip.c:2611
Estimated badness is -0.016094, frequency 0.33.
Considering Lpi2c_Ip_MasterSetBaudRateInit/106 with 48 size
to be inlined into Lpi2c_Ip_MasterInit/109 in ../RTD/src/Lpi2c_Ip.c:1712
Estimated badness is -0.015736, frequency 1.00.
Considering Lpi2c_Ip_MasterHandleTransmitDataRequest/91 with 41 size
to be inlined into Lpi2c_Ip_MasterCheckDataTxRxEvent/120 in ../RTD/src/Lpi2c_Ip.c:2223
Estimated badness is -0.012817, frequency 0.33.
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 1655.336510 weighted by profile: 0.000000
Why inlining failed?
function body not available : 8 calls, 13.886459 freq, 0 count
--param max-inline-insns-auto limit reached : 5 calls, 6.341354 freq, 0 count
call is unlikely and code size would grow : 30 calls, 17.779821 freq, 0 count
IPA function summary for Lpi2c_Ip_SetMasterHighSpeedMode/140 inlinable
global time: 6.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(op1 == 0)
size:1.000000, time:0.500000, executed if:(op1 != 0)
calls:
IPA function summary for Lpi2c_Ip_SetSlaveCallback/139 inlinable
global time: 4.000000
self size: 5
global size: 5
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_SetMasterCallback/138 inlinable
global time: 4.000000
self size: 5
global size: 5
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_ModuleIRQHandler/137 inlinable
global time: 26.540625
self size: 40
global size: 40
min size: 8
self stack: 0
global stack: 0
size:33.000000, time:20.161250
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveIRQHandler/136 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.28 size: 2 time: 11callee size:66 stack: 0
Lpi2c_Ip_MasterIRQHandler/121 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.12 size: 2 time: 11callee size:50 stack: 0
IPA function summary for Lpi2c_Ip_SlaveIRQHandler/136 inlinable
global time: 66.869600
self size: 37
global size: 132
min size: 103
self stack: 0
global stack: 0
estimated growth:32
size:103.000000, time:46.027600
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveCheckErrorEvent/135 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveBitErrorEventHandler/134 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 5 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveEndTransferHandler/131 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 9 stack: 0
op0 change 99.990000% of time
op1 change 99.990000% of time
Lpi2c_Ip_SlaveStopDetectHandler/133 inlined
loop depth: 0 freq:0.67 size: 3 time: 12callee size: 7 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveEndTransferHandler/131 call is unlikely and code size would grow
loop depth: 0 freq:0.67 size: 3 time: 12callee size: 9 stack: 0
Lpi2c_Ip_SlaveCheckDataEvent/132 inlined
loop depth: 0 freq:1.00 size: 4 time: 13callee size:16 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 inlined
loop depth: 0 freq:0.25 size: 3 time: 12callee size:14 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
indirect call loop depth: 0 freq:0.09 size: 5 time: 17
Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 inlined
loop depth: 0 freq:0.25 size: 3 time: 12callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
indirect call loop depth: 0 freq:0.09 size: 5 time: 17
Lpi2c_Ip_SlaveHandleAddressValidEvent/93 inlined
loop depth: 0 freq:0.33 size: 4 time: 13callee size:18 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
indirect call loop depth: 0 freq:0.12 size: 5 time: 17
indirect call loop depth: 0 freq:0.12 size: 5 time: 17
IPA function summary for Lpi2c_Ip_SlaveEndTransferHandler/131 inlinable
global time: 21.920000
self size: 17
global size: 19
min size: 3
self stack: 0
global stack: 0
estimated growth:3
size:3.000000, time:2.850000
size:4.000000, time:2.850000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 120] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 120] changed)
size:2.500000, time:0.825000, executed if:(op0[ref offset: 120] == 0)
size:1.500000, time:0.495000, executed if:(op0[ref offset: 120] == 0), nonconst if:(op1[ref offset: 2240] changed) && (op0[ref offset: 120] == 0)
calls:
Lpi2c_Ip_SlaveEndTransfer/130 inlined
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
indirect call loop depth: 0 freq:0.70 size: 5 time: 17
IPA function summary for Lpi2c_Ip_SlaveGetTransferStatus/129 inlinable
global time: 8.576000
self size: 12
global size: 12
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:4.500000, time:2.457000, executed if:(op1 != 0B)
size:0.500000, time:0.119000, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpi2c_Ip_SlaveSetBuffer/128 inlinable
global time: 5.000000
self size: 6
global size: 6
min size: 0
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_SlaveDeinit/127 inlinable
global time: 14.000000
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:18.000000, time:12.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_StartListening/126 inlinable
global time: 13.000000
self size: 5
global size: 5
min size: 4
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_SlaveActivateEvents/122 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 2 time: 11callee size:10 stack: 0
IPA function summary for Lpi2c_Ip_SlaveInit/125 inlinable
global time: 92.130000
self size: 49
global size: 85
min size: 74
self stack: 0
global stack: 0
size:67.500000, time:65.000000
size:5.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 256] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 256] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 192] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 224] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 40] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 40] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 128] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 160] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 160] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 16] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 24] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 24] changed)
calls:
Lpi2c_Ip_SlaveActivateEvents/122 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 2 time: 11callee size:10 stack: 0
Lpi2c_Ip_SlaveConfigureGlitchFilter/124 inlined
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_SlaveGlitchFilterSCL/23 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_SlaveGlitchFilterSDA/22 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveSetOperatingMode/90 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size:14 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_SlaveHighSpeedModeDetect/65 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveConfigureNormalMode/89 inlined
loop depth: 0 freq:1.00 size: 2 time: 11callee size:12 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_SlaveConigureAddress/123 inlined
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 8 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_SlaveAddr0/71 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Init/141 function body not available
loop depth: 0 freq:1.00 size: 2 time: 11
IPA function summary for Lpi2c_Ip_SlaveActivateEvents/122 inlinable
global time: 15.520000
self size: 20
global size: 20
min size: 17
self stack: 0
global stack: 0
estimated growth:10
size:17.000000, time:13.520000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterIRQHandler/121 inlinable
global time: 82.738221
self size: 25
global size: 101
min size: 64
self stack: 0
global stack: 0
estimated growth:20
size:63.500000, time:56.913187
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterCheckErrorEvents/99 --param max-inline-insns-auto limit reached
loop depth: 0 freq:1.00 size: 3 time: 12callee size:30 stack: 0
Lpi2c_Ip_MasterCheckDataTxRxEvent/120 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 8 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size:25 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterRxFIFOWatermark/192 inlined
loop depth: 0 freq:0.07 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 0 freq:0.11 size: 5 time: 14callee size:10 stack: 0
op3 is compile time invariant
indirect call loop depth: 0 freq:0.08 size: 5 time: 17
Lpi2c_Ip_MasterHandleTransmitDataRequest/91 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size:20 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterQueueData/86 call is unlikely and code size would grow
loop depth: 0 freq:0.03 size: 3 time: 12callee size:13 stack: 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 0 freq:0.03 size: 5 time: 14callee size:10 stack: 0
op3 is compile time invariant
Lpi2c_Ip_MasterSendQueuedCmd/84 call is unlikely and code size would grow
loop depth: 0 freq:0.16 size: 3 time: 12callee size:13 stack: 0
indirect call loop depth: 0 freq:0.02 size: 5 time: 17
indirect call loop depth: 0 freq:0.35 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterGetTransferStatus/119 inlinable
global time: 8.576000
self size: 12
global size: 12
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:4.500000, time:2.457000, executed if:(op1 != 0B)
size:0.500000, time:0.119000, executed if:(op1 != 0B) && (not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterReceiveDataBlocking/118 inlinable
global time: 400.703427
self size: 42
global size: 92
min size: 86
self stack: 4
global stack: 4
size:62.000000, time:250.005324
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_GetElapsed/144 function body not available
loop depth: 1 freq:4.47 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpi2c_Ip_MasterReceive/102 inlined
loop depth: 1 freq:4.47 size: 2 time: 11callee size:27 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
Lpi2c_Ip_MasterCheckErrorEvents/99 --param max-inline-insns-auto limit reached
loop depth: 1 freq:4.47 size: 3 time: 12callee size:30 stack: 0
LPI2C_Set_MasterRxFIFOWatermark/42 inlined
loop depth: 1 freq:0.33 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 1 freq:0.49 size: 5 time: 14callee size:10 stack: 0
op3 is compile time invariant
Lpi2c_Ip_MasterGetReceivedData/101 inlined
loop depth: 1 freq:1.47 size: 3 time: 12callee size:10 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
indirect call loop depth: 1 freq:0.34 size: 5 time: 17
OsIf_GetCounter/143 function body not available
loop depth: 0 freq:0.48 size: 3 time: 12
op0 is compile time invariant
Lpi2c_Ip_MasterInterruptReceiveInit/116 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
OsIf_MicrosToTicks/142 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterReceiveData/117 inlinable
global time: 18.942500
self size: 27
global size: 27
min size: 6
self stack: 0
global stack: 0
size:21.000000, time:11.210100
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterInterruptReceiveInit/116 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
IPA function summary for Lpi2c_Ip_MasterInterruptReceiveInit/116 inlinable
global time: 43.500000
self size: 24
global size: 27
min size: 14
self stack: 0
global stack: 0
estimated growth:12
size:13.500000, time:13.500000
size:3.000000, time:2.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
LPI2C_Set_MasterRxFIFOWatermark/191 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Get_MasterRxFIFOSize/0 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterSendAddress/85 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendDataBlocking/115 inlinable
global time: 254.645776
self size: 43
global size: 87
min size: 146
self stack: 4
global stack: 4
size:47.000000, time:82.095609
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
OsIf_GetElapsed/144 function body not available
loop depth: 1 freq:4.47 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
Lpi2c_Ip_MasterSend/100 inlined
loop depth: 1 freq:4.47 size: 2 time: 11callee size:21 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
Lpi2c_Ip_MasterCheckErrorEvents/99 call is unlikely and code size would grow
loop depth: 1 freq:4.47 size: 3 time: 12callee size:30 stack: 0
Lpi2c_Ip_MasterQueueData/86 call is unlikely and code size would grow
loop depth: 1 freq:0.40 size: 3 time: 12callee size:13 stack: 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 1 freq:0.40 size: 5 time: 14callee size:10 stack: 0
op3 is compile time invariant
Lpi2c_Ip_MasterSendQueuedCmd/84 call is unlikely and code size would grow
loop depth: 1 freq:1.09 size: 3 time: 12callee size:13 stack: 0
indirect call loop depth: 1 freq:0.28 size: 5 time: 17
OsIf_GetCounter/143 function body not available
loop depth: 0 freq:0.48 size: 3 time: 12
op0 is compile time invariant
Lpi2c_Ip_MasterInitSendTransfer.constprop/190 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 6 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
Lpi2c_Ip_MasterSendAddress/85 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.48 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterQueueData/86 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
OsIf_MicrosToTicks/142 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendData/113 inlinable
global time: 24.674900
self size: 27
global size: 27
min size: 14
self stack: 0
global stack: 0
size:17.000000, time:10.732400
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
Lpi2c_Ip_MasterQueueData/86 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
Lpi2c_Ip_MasterSendAddress/85 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 4 time: 13callee size:28 stack: 0
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSetSlaveAddr/112 inlinable
global time: 5.000000
self size: 6
global size: 6
min size: 0
self stack: 0
global stack: 0
size:3.000000, time:3.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterGetBaudRate/111 inlinable
global time: 34.460000
self size: 30
global size: 30
min size: 0
self stack: 0
global stack: 0
size:26.000000, time:31.790000
size:4.000000, time:2.670000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterDeinit/110 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for Lpi2c_Ip_MasterInit/109 inlinable
global time: 105.407300
self size: 52
global size: 114
min size: 40
self stack: 0
global stack: 0
size:94.500000, time:75.174900
size:4.500000, time:3.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 352] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 352] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 16] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 200] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 200] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 224] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 224] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 256] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 256] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 288] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 288] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 320] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 320] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 192] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 192] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed)
calls:
Lpi2c_Ip_MasterSetBaudRateInit/106 inlined
loop depth: 0 freq:1.00 size: 4 time: 13callee size:24 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterSetOperatingMode/193 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_HSBaudRateConfig/104 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size:13 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterClockLowPeriodHS/40 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterClockHighPeriodHS/38 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterSetupHoldDelayHS/37 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterDataValidDelayHS/36 inlined
loop depth: 0 freq:0.48 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_BaudRateConfig/103 call is unlikely and code size would grow
loop depth: 0 freq:0.48 size: 3 time: 12callee size:15 stack: 0
Lpi2c_Ip_MasterConfigFeatures/108 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterPinLowTimeout/24 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterBusIdleTimeout/26 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterGlitchFilterSCL/21 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterGlitchFilterSDA/20 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Init/141 function body not available
loop depth: 0 freq:1.00 size: 2 time: 11
IPA function summary for Lpi2c_Ip_MasterSetBaudRate/105 inlinable
global time: 54.910192
self size: 55
global size: 61
min size: 18
self stack: 36
global stack: 36
size:37.000000, time:24.475625
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:1.300000, nonconst if:(op2 changed)
size:1.000000, time:0.325000, executed if:(op2 != 0), nonconst if:(op3 changed) && (op2 != 0)
size:1.000000, time:0.325000, executed if:(op2 != 0), nonconst if:(op2 changed) && (op2 != 0)
size:2.000000, time:3.575000, executed if:(op2 != 0), nonconst if:(op2 changed || op3 changed) && (op2 != 0)
size:12.000000, time:15.109567, executed if:(op2 != 0)
calls:
Lpi2c_Ip_MasterSetOperatingMode/88 inlined
loop depth: 0 freq:0.65 size: 3 time: 12callee size: 6 stack: 0
Stack frame offset 36, callee self size 0, callee size 0
Lpi2c_Ip_BaudRateConfig/103 call is unlikely and code size would grow
loop depth: 0 freq:0.65 size: 3 time: 12callee size:15 stack: 0
op1 is compile time invariant
IPA function summary for Lpi2c_Ip_BaudRateConfig/103 inlinable
global time: 30.000000
self size: 23
global size: 31
min size: 24
self stack: 0
global stack: 0
estimated growth:7
size:23.500000, time:23.500000
size:5.000000, time:4.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 288] changed)
calls:
LPI2C_Set_MasterClockLowPeriod/34 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterClockHighPeriod/31 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterDataValidDelay/32 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterSetupHoldDelay/33 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Set_MasterPrescaler/28 inlined
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for Lpi2c_Ip_MasterCheckErrorEvents/99 inlinable
global time: 44.498600
self size: 24
global size: 61
min size: 20
self stack: 0
global stack: 0
estimated growth:27
size:19.500000, time:10.976500
size:4.000000, time:3.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 160] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 160] changed)
size:2.500000, time:0.825000, nonconst if:(op1[ref offset: 176] changed)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 176] == 3)
calls:
LPI2C_Get_MasterNACKDetectEventHandler/97 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size:10 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 5 time: 14callee size:10 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.23 size: 5 time: 17
LPI2C_Get_MasterArbitrationLostEventHandler/98 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 9 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 5 time: 14callee size:10 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.23 size: 5 time: 17
LPI2C_Get_MasterFIFOErrorEventHandler/96 inlined
loop depth: 0 freq:0.33 size: 3 time: 12callee size:11 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Lpi2c_Ip_MasterEndTransfer/87 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 5 time: 14callee size:10 stack: 0
op2 is compile time invariant
op3 is compile time invariant
indirect call loop depth: 0 freq:0.23 size: 5 time: 17
IPA function summary for Lpi2c_Ip_MasterEndTransfer/87 inlinable
global time: 14.980000
self size: 19
global size: 21
min size: 2
self stack: 0
global stack: 0
estimated growth:-2
size:2.000000, time:2.000000
size:5.000000, time:4.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:1.500000, time:1.500000, nonconst if:(op0[ref offset: 192] changed)
size:2.000000, time:2.000000, nonconst if:(op3 changed)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, executed if:(op2 != 0) && (not inlined)
size:1.000000, time:0.500000, executed if:(op2 != 0)
size:6.000000, time:1.980000, executed if:(op3 != 0)
calls:
LPI2C_Reset_MasterRxFIFOCmd/2 inlined
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
LPI2C_Reset_MasterTxFIFOCmd/3 inlined
loop depth: 0 freq:0.33 size: 2 time: 11callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for Lpi2c_Ip_MasterQueueData/86 inlinable
global time: 52.086763
self size: 26
global size: 26
min size: 11
self stack: 0
global stack: 0
estimated growth:34
size:11.000000, time:32.401825
size:6.000000, time:10.684938, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 80] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 88] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 88] changed)
size:2.000000, time:2.000000, nonconst if:(op1[ref offset: 80] changed || op1[ref offset: 88] changed)
calls:
IPA function summary for Lpi2c_Ip_MasterSendAddress/85 inlinable
global time: 42.785200
self size: 56
global size: 56
min size: 12
self stack: 0
global stack: 0
estimated growth:54
size:11.500000, time:8.250000
size:5.500000, time:3.750000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 176] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 176] changed)
size:0.500000, time:0.170000, executed if:(op1[ref offset: 176] == 3) && (not inlined), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 176] == 3) && (not inlined)
size:2.500000, time:0.850000, executed if:(op1[ref offset: 176] == 3), nonconst if:(op1[ref offset: 224] changed) && (op1[ref offset: 176] == 3)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined), nonconst if:(op1[ref offset: 216] changed) && (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3), nonconst if:(op1[ref offset: 216] changed) && (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3) && (not inlined)
size:0.500000, time:0.056100, executed if:(op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
size:2.000000, time:1.000000, nonconst if:(op2 changed)
size:0.500000, time:0.082500, executed if:(op2 != 0) && (not inlined)
size:3.500000, time:0.577500, executed if:(op2 != 0)
calls:
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:0.17 size: 5 time: 14callee size: 9 stack: 0 predicate: (op2 != 0)
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
op2 is compile time invariant
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 5 time: 14callee size: 9 stack: 0
Lpi2c_Ip_MasterQueueCmd/83 call is unlikely and code size would grow
loop depth: 0 freq:0.11 size: 5 time: 14callee size: 9 stack: 0 predicate: (op1[ref offset: 224] == 0) && (op1[ref offset: 176] == 3)
op2 is compile time invariant
IPA function summary for Lpi2c_Ip_MasterSendQueuedCmd/84 inlinable
global time: 139.871400
self size: 27
global size: 27
min size: 14
self stack: 0
global stack: 0
estimated growth:5
size:14.000000, time:97.639486
size:7.000000, time:27.883935, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:0.500000, time:4.673989, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:0.500000, time:4.673989, nonconst if:(op1[ref offset: 80] changed)
calls:
IPA function summary for Lpi2c_Ip_MasterQueueCmd/83 inlinable
global time: 13.000000
self size: 18
global size: 18
min size: 2
self stack: 0
global stack: 0
estimated growth:21
size:2.000000, time:1.000000
size:5.000000, time:3.000000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 736] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 736] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed)
size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 736] changed || op0[ref offset: 32] changed)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op1[ref offset: 80] changed) && (not inlined)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 80] changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed || op3 changed)
array index:(op1[ref offset: 80] changed)
calls:
Symbol table:
Lpi2c_Ip_MasterSetOperatingMode/193 (Lpi2c_Ip_MasterSetOperatingMode) @06ce9540
Type: function definition analyzed
Visibility:
next sharing asm name: 88
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Function Lpi2c_Ip_MasterSetOperatingMode/193 is inline copy in Lpi2c_Ip_MasterInit/109
Clone of Lpi2c_Ip_MasterSetOperatingMode/88
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSetBaudRateInit/106 (inlined) (512926469 (estimated locally),0.48 per call)
Calls:
LPI2C_Set_MasterRxFIFOWatermark/192 (LPI2C_Set_MasterRxFIFOWatermark) @06cef0e0
Type: function definition analyzed
Visibility:
next sharing asm name: 191
References:
Referring:
Function LPI2C_Set_MasterRxFIFOWatermark/192 is inline copy in Lpi2c_Ip_MasterIRQHandler/121
Clone of LPI2C_Set_MasterRxFIFOWatermark/42
Availability: local
Function flags: count:78343425 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 (inlined) (78343425 (estimated locally),0.07 per call)
Calls:
LPI2C_Set_MasterRxFIFOWatermark/191 (LPI2C_Set_MasterRxFIFOWatermark) @06ce9e00
Type: function definition analyzed
Visibility:
next sharing asm name: 42
previous sharing asm name: 192
References:
Referring:
Function LPI2C_Set_MasterRxFIFOWatermark/191 is inline copy in Lpi2c_Ip_MasterInterruptReceiveInit/116
Clone of LPI2C_Set_MasterRxFIFOWatermark/42
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInterruptReceiveInit/116 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
Lpi2c_Ip_MasterInitSendTransfer.constprop.0/190 (Lpi2c_Ip_MasterInitSendTransfer.constprop) @06cf10e0
Type: function definition analyzed
Visibility:
References:
Referring:
Function Lpi2c_Ip_MasterInitSendTransfer.constprop/190 is inline copy in Lpi2c_Ip_MasterSendDataBlocking/115
Clone of Lpi2c_Ip_MasterInitSendTransfer/114
Availability: local
Function flags: count:114863532 (estimated locally) local optimize_size
Called by: Lpi2c_Ip_MasterSendDataBlocking/115 (inlined) (114863532 (estimated locally),0.48 per call)
Calls: Lpi2c_Ip_MasterSendAddress/85 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterQueueData/86 (114863532 (estimated locally),0.48 per call)
OsIf_GetElapsed/144 (OsIf_GetElapsed) @07764460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpi2c_Ip_MasterReceiveDataBlocking/118 (1073741824 (estimated locally),4.47 per call) Lpi2c_Ip_MasterSendDataBlocking/115 (1073741824 (estimated locally),4.47 per call)
Calls:
OsIf_GetCounter/143 (OsIf_GetCounter) @07764380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpi2c_Ip_MasterReceiveDataBlocking/118 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterSendDataBlocking/115 (114863532 (estimated locally),0.48 per call)
Calls:
OsIf_MicrosToTicks/142 (OsIf_MicrosToTicks) @077642a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpi2c_Ip_MasterReceiveDataBlocking/118 (240451187 (estimated locally),1.00 per call) Lpi2c_Ip_MasterSendDataBlocking/115 (240451187 (estimated locally),1.00 per call)
Calls:
LPI2C_Init/141 (LPI2C_Init) @06f41540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Lpi2c_Ip_SlaveInit/125 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterInit/109 (1073741824 (estimated locally),1.00 per call)
Calls:
Lpi2c_Ip_SetMasterHighSpeedMode/140 (Lpi2c_Ip_SetMasterHighSpeedMode) @06f25700
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_SetSlaveCallback/139 (Lpi2c_Ip_SetSlaveCallback) @06f25460
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cSlaveStatePtr/80 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_SetMasterCallback/138 (Lpi2c_Ip_SetMasterCallback) @06f251c0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_ModuleIRQHandler/137 (Lpi2c_Ip_ModuleIRQHandler) @06f1eee0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_SlaveIRQHandler/136 (299238425 (estimated locally),0.28 per call) Lpi2c_Ip_MasterIRQHandler/121 (128245039 (estimated locally),0.12 per call)
Lpi2c_Ip_SlaveIRQHandler/136 (Lpi2c_Ip_SlaveIRQHandler) @06f1ee00
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (read)
Referring:
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by: Lpi2c_Ip_ModuleIRQHandler/137 (299238425 (estimated locally),0.28 per call)
Calls: Lpi2c_Ip_SlaveCheckErrorEvent/135 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_SlaveStopDetectHandler/133 (inlined) (714038313 (estimated locally),0.67 per call) Lpi2c_Ip_SlaveCheckDataEvent/132 (inlined) (1073741823 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveCheckErrorEvent/135 (Lpi2c_Ip_SlaveCheckErrorEvent) @06f1eb60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveCheckErrorEvent/135 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveIRQHandler/136 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: Lpi2c_Ip_SlaveBitErrorEventHandler/134 (inlined) (354334802 (estimated locally),0.33 per call)
Lpi2c_Ip_SlaveBitErrorEventHandler/134 (Lpi2c_Ip_SlaveBitErrorEventHandler) @06f1e8c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveBitErrorEventHandler/134 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveCheckErrorEvent/135 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: Lpi2c_Ip_SlaveEndTransferHandler/131 (354334802 (estimated locally),0.33 per call)
Lpi2c_Ip_SlaveStopDetectHandler/133 (Lpi2c_Ip_SlaveStopDetectHandler) @06f1e620
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveStopDetectHandler/133 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:714038313 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveIRQHandler/136 (inlined) (714038313 (estimated locally),0.67 per call)
Calls: Lpi2c_Ip_SlaveEndTransferHandler/131 (714038313 (estimated locally),0.67 per call)
Lpi2c_Ip_SlaveCheckDataEvent/132 (Lpi2c_Ip_SlaveCheckDataEvent) @06f1e380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveCheckDataEvent/132 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:1073741823 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveIRQHandler/136 (inlined) (1073741823 (estimated locally),1.00 per call)
Calls: Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 (inlined) (268435456 (estimated locally),0.25 per call) Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 (inlined) (268435456 (estimated locally),0.25 per call) Lpi2c_Ip_SlaveHandleAddressValidEvent/93 (inlined) (354334802 (estimated locally),0.33 per call)
Lpi2c_Ip_SlaveEndTransferHandler/131 (Lpi2c_Ip_SlaveEndTransferHandler) @06f1e0e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveBitErrorEventHandler/134 (354334802 (estimated locally),0.33 per call) Lpi2c_Ip_SlaveStopDetectHandler/133 (714038313 (estimated locally),0.67 per call)
Calls: Lpi2c_Ip_SlaveEndTransfer/130 (inlined) (354334802 (estimated locally),0.33 per call)
Indirect call(751619278 (estimated locally),0.70 per call) of param:0 loaded from aggregate passed by reference at offset 224 (vptr maybe changed)
Lpi2c_Ip_SlaveEndTransfer/130 (Lpi2c_Ip_SlaveEndTransfer) @06f16b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveEndTransfer/130 is inline copy in Lpi2c_Ip_SlaveEndTransferHandler/131
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveEndTransferHandler/131 (inlined) (354334802 (estimated locally),0.33 per call)
Calls:
Lpi2c_Ip_SlaveGetTransferStatus/129 (Lpi2c_Ip_SlaveGetTransferStatus) @06f16380
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cSlaveStatePtr/80 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_SlaveSetBuffer/128 (Lpi2c_Ip_SlaveSetBuffer) @06f16d20
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cSlaveStatePtr/80 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_SlaveDeinit/127 (Lpi2c_Ip_SlaveDeinit) @06f16a80
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (read)g_lpi2cSlaveStatePtr/80 (write)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_StartListening/126 (Lpi2c_Ip_StartListening) @06f167e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_SlaveActivateEvents/122 (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveInit/125 (Lpi2c_Ip_SlaveInit) @06f16540
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (write)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_SlaveActivateEvents/122 (354334802 (estimated locally),0.33 per call) Lpi2c_Ip_SlaveConfigureGlitchFilter/124 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_SlaveSetOperatingMode/90 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_SlaveConigureAddress/123 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Init/141 (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveConfigureGlitchFilter/124 (Lpi2c_Ip_SlaveConfigureGlitchFilter) @06f162a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveConfigureGlitchFilter/124 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveInit/125 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: LPI2C_Set_SlaveGlitchFilterSCL/23 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_SlaveGlitchFilterSDA/22 (inlined) (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveConigureAddress/123 (Lpi2c_Ip_SlaveConigureAddress) @06f16000
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveConigureAddress/123 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveInit/125 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: LPI2C_Set_SlaveAddr0/71 (inlined) (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveActivateEvents/122 (Lpi2c_Ip_SlaveActivateEvents) @06f0b460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_StartListening/126 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_SlaveInit/125 (354334802 (estimated locally),0.33 per call)
Calls:
Lpi2c_Ip_MasterIRQHandler/121 (Lpi2c_Ip_MasterIRQHandler) @06f0be00
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: Lpi2c_Ip_ModuleIRQHandler/137 (128245039 (estimated locally),0.12 per call)
Calls: Lpi2c_Ip_MasterCheckErrorEvents/99 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterCheckDataTxRxEvent/120 (inlined) (1073741824 (estimated locally),1.00 per call)
Indirect call(375809639 (estimated locally),0.35 per call)
Lpi2c_Ip_MasterCheckDataTxRxEvent/120 (Lpi2c_Ip_MasterCheckDataTxRxEvent) @06f0bb60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_MasterCheckDataTxRxEvent/120 is inline copy in Lpi2c_Ip_MasterIRQHandler/121
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterIRQHandler/121 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 (inlined) (354334802 (estimated locally),0.33 per call) Lpi2c_Ip_MasterHandleTransmitDataRequest/91 (inlined) (354334802 (estimated locally),0.33 per call)
Lpi2c_Ip_MasterGetTransferStatus/119 (Lpi2c_Ip_MasterGetTransferStatus) @06f0b8c0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_MasterReceiveDataBlocking/118 (Lpi2c_Ip_MasterReceiveDataBlocking) @06f0b620
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cMasterStatePtr/79 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:240451187 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/144 (1073741824 (estimated locally),4.47 per call) Lpi2c_Ip_MasterReceive/102 (inlined) (1073741824 (estimated locally),4.47 per call) OsIf_GetCounter/143 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterInterruptReceiveInit/116 (114863532 (estimated locally),0.48 per call) OsIf_MicrosToTicks/142 (240451187 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterReceiveData/117 (Lpi2c_Ip_MasterReceiveData) @06f0b380
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_MasterInterruptReceiveInit/116 (512926469 (estimated locally),0.48 per call)
Lpi2c_Ip_MasterInterruptReceiveInit/116 (Lpi2c_Ip_MasterInterruptReceiveInit) @06f0b0e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterReceiveDataBlocking/118 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterReceiveData/117 (512926469 (estimated locally),0.48 per call)
Calls: LPI2C_Set_MasterRxFIFOWatermark/191 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Get_MasterRxFIFOSize/0 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterQueueCmd/83 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterSendAddress/85 (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterSendDataBlocking/115 (Lpi2c_Ip_MasterSendDataBlocking) @06f029a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:240451187 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/144 (1073741824 (estimated locally),4.47 per call) Lpi2c_Ip_MasterSend/100 (inlined) (1073741824 (estimated locally),4.47 per call) OsIf_GetCounter/143 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterInitSendTransfer.constprop/190 (inlined) (114863532 (estimated locally),0.48 per call) OsIf_MicrosToTicks/142 (240451187 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterInitSendTransfer/114 (Lpi2c_Ip_MasterInitSendTransfer) @06f02460
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:
Lpi2c_Ip_MasterSendData/113 (Lpi2c_Ip_MasterSendData) @06f02e00
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_MasterQueueData/86 (512926469 (estimated locally),0.48 per call) Lpi2c_Ip_MasterSendAddress/85 (512926469 (estimated locally),0.48 per call)
Lpi2c_Ip_MasterSetSlaveAddr/112 (Lpi2c_Ip_MasterSetSlaveAddr) @06f02b60
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_MasterGetBaudRate/111 (Lpi2c_Ip_MasterGetBaudRate) @06f028c0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_MasterDeinit/110 (Lpi2c_Ip_MasterDeinit) @06f02620
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (write)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Lpi2c_Ip_MasterInit/109 (Lpi2c_Ip_MasterInit) @06f02380
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (write)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_MasterSetBaudRateInit/106 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterConfigFeatures/108 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Init/141 (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterConfigFeatures/108 (Lpi2c_Ip_MasterConfigFeatures) @06f020e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_MasterConfigFeatures/108 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInit/109 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: LPI2C_Set_MasterPinLowTimeout/24 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterBusIdleTimeout/26 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterGlitchFilterSCL/21 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterGlitchFilterSDA/20 (inlined) (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterSetBaudRateInit/106 (Lpi2c_Ip_MasterSetBaudRateInit) @06ef4c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cMasterStatePtr/79 (read)g_lpi2cBase/76 (read)
Referring:
Function Lpi2c_Ip_MasterSetBaudRateInit/106 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInit/109 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: Lpi2c_Ip_MasterSetOperatingMode/193 (inlined) (512926469 (estimated locally),0.48 per call) Lpi2c_Ip_HSBaudRateConfig/104 (inlined) (512926469 (estimated locally),0.48 per call) Lpi2c_Ip_BaudRateConfig/103 (512926469 (estimated locally),0.48 per call)
Lpi2c_Ip_MasterSetBaudRate/105 (Lpi2c_Ip_MasterSetBaudRate) @06ef49a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Availability: available
Function flags: count:571974014 (estimated locally) body optimize_size
Called by:
Calls: Lpi2c_Ip_MasterSetOperatingMode/88 (inlined) (371783108 (estimated locally),0.65 per call) Lpi2c_Ip_BaudRateConfig/103 (371783108 (estimated locally),0.65 per call)
Lpi2c_Ip_HSBaudRateConfig/104 (Lpi2c_Ip_HSBaudRateConfig) @06ef4700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_HSBaudRateConfig/104 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSetBaudRateInit/106 (inlined) (512926469 (estimated locally),0.48 per call)
Calls: LPI2C_Set_MasterClockLowPeriodHS/40 (inlined) (512926469 (estimated locally),0.48 per call) LPI2C_Set_MasterClockHighPeriodHS/38 (inlined) (512926469 (estimated locally),0.48 per call) LPI2C_Set_MasterSetupHoldDelayHS/37 (inlined) (512926469 (estimated locally),0.48 per call) LPI2C_Set_MasterDataValidDelayHS/36 (inlined) (512926469 (estimated locally),0.48 per call)
Lpi2c_Ip_BaudRateConfig/103 (Lpi2c_Ip_BaudRateConfig) @06ef4460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSetBaudRate/105 (371783108 (estimated locally),0.65 per call) Lpi2c_Ip_MasterSetBaudRateInit/106 (512926469 (estimated locally),0.48 per call)
Calls: LPI2C_Set_MasterClockLowPeriod/34 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterClockHighPeriod/31 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterDataValidDelay/32 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterSetupHoldDelay/33 (inlined) (1073741824 (estimated locally),1.00 per call) LPI2C_Set_MasterPrescaler/28 (inlined) (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_MasterReceive/102 (Lpi2c_Ip_MasterReceive) @06ef41c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Function Lpi2c_Ip_MasterReceive/102 is inline copy in Lpi2c_Ip_MasterReceiveDataBlocking/118
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterReceiveDataBlocking/118 (inlined) (1073741824 (estimated locally),4.47 per call)
Calls: Lpi2c_Ip_MasterCheckErrorEvents/99 (1073741824 (estimated locally),4.47 per call) LPI2C_Set_MasterRxFIFOWatermark/42 (inlined) (78343425 (estimated locally),0.33 per call) Lpi2c_Ip_MasterEndTransfer/87 (116930485 (estimated locally),0.49 per call) Lpi2c_Ip_MasterGetReceivedData/101 (inlined) (354334802 (estimated locally),1.47 per call)
Indirect call(81851339 (estimated locally),0.34 per call)
Lpi2c_Ip_MasterGetReceivedData/101 (Lpi2c_Ip_MasterGetReceivedData) @06eefee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_MasterGetReceivedData/101 is inline copy in Lpi2c_Ip_MasterReceiveDataBlocking/118
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterReceive/102 (inlined) (354334802 (estimated locally),1.47 per call)
Calls:
Lpi2c_Ip_MasterSend/100 (Lpi2c_Ip_MasterSend) @06eefc40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Function Lpi2c_Ip_MasterSend/100 is inline copy in Lpi2c_Ip_MasterSendDataBlocking/115
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSendDataBlocking/115 (inlined) (1073741824 (estimated locally),4.47 per call)
Calls: Lpi2c_Ip_MasterCheckErrorEvents/99 (1073741824 (estimated locally),4.47 per call) Lpi2c_Ip_MasterQueueData/86 (96056944 (estimated locally),0.40 per call) Lpi2c_Ip_MasterEndTransfer/87 (96056944 (estimated locally),0.40 per call) Lpi2c_Ip_MasterSendQueuedCmd/84 (262422502 (estimated locally),1.09 per call)
Indirect call(67239860 (estimated locally),0.28 per call)
Lpi2c_Ip_MasterCheckErrorEvents/99 (Lpi2c_Ip_MasterCheckErrorEvents) @06eef9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterIRQHandler/121 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterReceive/102 (1073741824 (estimated locally),4.47 per call) Lpi2c_Ip_MasterSend/100 (1073741824 (estimated locally),4.47 per call)
Calls: LPI2C_Get_MasterNACKDetectEventHandler/97 (inlined) (354334802 (estimated locally),0.33 per call) LPI2C_Get_MasterArbitrationLostEventHandler/98 (inlined) (354334802 (estimated locally),0.33 per call) LPI2C_Get_MasterFIFOErrorEventHandler/96 (inlined) (354334802 (estimated locally),0.33 per call)
LPI2C_Get_MasterArbitrationLostEventHandler/98 (LPI2C_Get_MasterArbitrationLostEventHandler) @06eef700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Get_MasterArbitrationLostEventHandler/98 is inline copy in Lpi2c_Ip_MasterCheckErrorEvents/99
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterCheckErrorEvents/99 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: Lpi2c_Ip_MasterEndTransfer/87 (354334802 (estimated locally),0.33 per call)
Indirect call(248034362 (estimated locally),0.23 per call)
LPI2C_Get_MasterNACKDetectEventHandler/97 (LPI2C_Get_MasterNACKDetectEventHandler) @06eef460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Get_MasterNACKDetectEventHandler/97 is inline copy in Lpi2c_Ip_MasterCheckErrorEvents/99
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterCheckErrorEvents/99 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: Lpi2c_Ip_MasterEndTransfer/87 (354334802 (estimated locally),0.33 per call)
Indirect call(248034362 (estimated locally),0.23 per call)
LPI2C_Get_MasterFIFOErrorEventHandler/96 (LPI2C_Get_MasterFIFOErrorEventHandler) @06eef1c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Get_MasterFIFOErrorEventHandler/96 is inline copy in Lpi2c_Ip_MasterCheckErrorEvents/99
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterCheckErrorEvents/99 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: Lpi2c_Ip_MasterEndTransfer/87 (354334802 (estimated locally),0.33 per call)
Indirect call(248034362 (estimated locally),0.23 per call) of param:1 loaded from aggregate passed by reference at offset 320 (vptr maybe changed)
Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 (Lpi2c_Ip_SlaveHandleReceiveDataEvent) @06d9dee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveHandleReceiveDataEvent/95 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:268435456 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveCheckDataEvent/132 (inlined) (268435456 (estimated locally),0.25 per call)
Calls:
Indirect call(93952410 (estimated locally),0.09 per call)
Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 (Lpi2c_Ip_SlaveHandleTransmitDataEvent) @06d9dc40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveHandleTransmitDataEvent/94 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:268435456 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveCheckDataEvent/132 (inlined) (268435456 (estimated locally),0.25 per call)
Calls:
Indirect call(93952410 (estimated locally),0.09 per call)
Lpi2c_Ip_SlaveHandleAddressValidEvent/93 (Lpi2c_Ip_SlaveHandleAddressValidEvent) @06d9d9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)
Referring:
Function Lpi2c_Ip_SlaveHandleAddressValidEvent/93 is inline copy in Lpi2c_Ip_SlaveIRQHandler/136
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveCheckDataEvent/132 (inlined) (354334802 (estimated locally),0.33 per call)
Calls:
Indirect call(124017181 (estimated locally),0.12 per call)
Indirect call(124017181 (estimated locally),0.12 per call)
Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 (Lpi2c_Ip_MasterHandleReceiveDataReadyEvent) @06d9d700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 is inline copy in Lpi2c_Ip_MasterIRQHandler/121
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterCheckDataTxRxEvent/120 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: LPI2C_Set_MasterRxFIFOWatermark/192 (inlined) (78343425 (estimated locally),0.07 per call) Lpi2c_Ip_MasterEndTransfer/87 (116930483 (estimated locally),0.11 per call)
Indirect call(81851340 (estimated locally),0.08 per call)
Lpi2c_Ip_MasterHandleTransmitDataRequest/91 (Lpi2c_Ip_MasterHandleTransmitDataRequest) @06d9d460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_MasterHandleTransmitDataRequest/91 is inline copy in Lpi2c_Ip_MasterIRQHandler/121
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterCheckDataTxRxEvent/120 (inlined) (354334802 (estimated locally),0.33 per call)
Calls: Lpi2c_Ip_MasterQueueData/86 (31698792 (estimated locally),0.03 per call) Lpi2c_Ip_MasterEndTransfer/87 (31698792 (estimated locally),0.03 per call) Lpi2c_Ip_MasterSendQueuedCmd/84 (173198851 (estimated locally),0.16 per call)
Indirect call(22189154 (estimated locally),0.02 per call)
Lpi2c_Ip_SlaveSetOperatingMode/90 (Lpi2c_Ip_SlaveSetOperatingMode) @06d9d1c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_lpi2cBase/76 (read)g_lpi2cSlaveStatePtr/80 (read)
Referring:
Function Lpi2c_Ip_SlaveSetOperatingMode/90 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveInit/125 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls: LPI2C_Set_SlaveHighSpeedModeDetect/65 (inlined) (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_SlaveConfigureNormalMode/89 (inlined) (1073741824 (estimated locally),1.00 per call)
Lpi2c_Ip_SlaveConfigureNormalMode/89 (Lpi2c_Ip_SlaveConfigureNormalMode) @06d0cee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function Lpi2c_Ip_SlaveConfigureNormalMode/89 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveSetOperatingMode/90 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
Lpi2c_Ip_MasterSetOperatingMode/88 (Lpi2c_Ip_MasterSetOperatingMode) @06d0cc40
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 193
References: g_lpi2cBase/76 (read)g_lpi2cMasterStatePtr/79 (read)
Referring:
Function Lpi2c_Ip_MasterSetOperatingMode/88 is inline copy in Lpi2c_Ip_MasterSetBaudRate/105
Availability: local
Function flags: count:371783108 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSetBaudRate/105 (inlined) (371783108 (estimated locally),0.65 per call)
Calls:
Lpi2c_Ip_MasterEndTransfer/87 (Lpi2c_Ip_MasterEndTransfer) @06d0c9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterReceive/102 (116930485 (estimated locally),0.49 per call) Lpi2c_Ip_MasterSend/100 (96056944 (estimated locally),0.40 per call) LPI2C_Get_MasterArbitrationLostEventHandler/98 (354334802 (estimated locally),0.33 per call) LPI2C_Get_MasterNACKDetectEventHandler/97 (354334802 (estimated locally),0.33 per call) LPI2C_Get_MasterFIFOErrorEventHandler/96 (354334802 (estimated locally),0.33 per call) Lpi2c_Ip_MasterHandleReceiveDataReadyEvent/92 (116930483 (estimated locally),0.11 per call) Lpi2c_Ip_MasterHandleTransmitDataRequest/91 (31698792 (estimated locally),0.03 per call)
Calls: LPI2C_Reset_MasterRxFIFOCmd/2 (inlined) (354334802 (estimated locally),0.33 per call) LPI2C_Reset_MasterTxFIFOCmd/3 (inlined) (354334802 (estimated locally),0.33 per call)
Lpi2c_Ip_MasterQueueData/86 (Lpi2c_Ip_MasterQueueData) @06d0c700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:337833918 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInitSendTransfer.constprop/190 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterSendData/113 (512926469 (estimated locally),0.48 per call) Lpi2c_Ip_MasterSend/100 (96056944 (estimated locally),0.40 per call) Lpi2c_Ip_MasterHandleTransmitDataRequest/91 (31698792 (estimated locally),0.03 per call)
Calls:
Lpi2c_Ip_MasterSendAddress/85 (Lpi2c_Ip_MasterSendAddress) @06d0c460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741823 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInitSendTransfer.constprop/190 (114863532 (estimated locally),0.48 per call) Lpi2c_Ip_MasterSendData/113 (512926469 (estimated locally),0.48 per call) Lpi2c_Ip_MasterInterruptReceiveInit/116 (1073741824 (estimated locally),1.00 per call)
Calls: Lpi2c_Ip_MasterQueueCmd/83 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterQueueCmd/83 (177167401 (estimated locally),0.17 per call) Lpi2c_Ip_MasterQueueCmd/83 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterQueueCmd/83 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterQueueCmd/83 (120473832 (estimated locally),0.11 per call)
Lpi2c_Ip_MasterSendQueuedCmd/84 (Lpi2c_Ip_MasterSendQueuedCmd) @06d0c1c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:114863532 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterSend/100 (262422502 (estimated locally),1.09 per call) Lpi2c_Ip_MasterHandleTransmitDataRequest/91 (173198851 (estimated locally),0.16 per call)
Calls:
Lpi2c_Ip_MasterQueueCmd/83 (Lpi2c_Ip_MasterQueueCmd) @06d06ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInterruptReceiveInit/116 (1073741824 (estimated locally),1.00 per call) Lpi2c_Ip_MasterSendAddress/85 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterSendAddress/85 (177167401 (estimated locally),0.17 per call) Lpi2c_Ip_MasterSendAddress/85 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterSendAddress/85 (536870913 (estimated locally),0.50 per call) Lpi2c_Ip_MasterSendAddress/85 (120473832 (estimated locally),0.11 per call)
Calls:
g_lpi2cSlaveStatePtr/80 (g_lpi2cSlaveStatePtr) @06d01798
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: Lpi2c_Ip_SlaveGetTransferStatus/129 (read)Lpi2c_Ip_SlaveSetOperatingMode/90 (read)Lpi2c_Ip_SlaveIRQHandler/136 (read)Lpi2c_Ip_ModuleIRQHandler/137 (read)Lpi2c_Ip_SlaveActivateEvents/122 (read)Lpi2c_Ip_SlaveDeinit/127 (read)Lpi2c_Ip_SlaveInit/125 (write)Lpi2c_Ip_SlaveSetBuffer/128 (read)Lpi2c_Ip_SlaveDeinit/127 (write)Lpi2c_Ip_SetSlaveCallback/139 (read)
Availability: available
Varpool flags: initialized
g_lpi2cMasterStatePtr/79 (g_lpi2cMasterStatePtr) @06d01708
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: Lpi2c_Ip_MasterSetBaudRateInit/106 (read)Lpi2c_Ip_ModuleIRQHandler/137 (read)Lpi2c_Ip_MasterReceiveDataBlocking/118 (read)Lpi2c_Ip_MasterGetBaudRate/111 (read)Lpi2c_Ip_MasterSend/100 (read)Lpi2c_Ip_MasterIRQHandler/121 (read)Lpi2c_Ip_MasterInterruptReceiveInit/116 (read)Lpi2c_Ip_MasterSetBaudRate/105 (read)Lpi2c_Ip_MasterDeinit/110 (write)Lpi2c_Ip_MasterSetSlaveAddr/112 (read)Lpi2c_Ip_MasterReceiveData/117 (read)Lpi2c_Ip_SetMasterCallback/138 (read)Lpi2c_Ip_MasterInit/109 (read)Lpi2c_Ip_MasterReceive/102 (read)Lpi2c_Ip_MasterGetTransferStatus/119 (read)Lpi2c_Ip_MasterSetOperatingMode/88 (read)Lpi2c_Ip_MasterSendData/113 (read)Lpi2c_Ip_MasterSendDataBlocking/115 (read)Lpi2c_Ip_MasterInit/109 (write)Lpi2c_Ip_MasterSendDataBlocking/115 (read)Lpi2c_Ip_MasterReceiveDataBlocking/118 (read)Lpi2c_Ip_SetMasterHighSpeedMode/140 (read)Lpi2c_Ip_MasterSetOperatingMode/193 (read)
Availability: available
Varpool flags: initialized
Lpi2c_Ip_SlaveState/78 (Lpi2c_Ip_SlaveState) @06d01678
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Varpool flags:
Lpi2c_Ip_MasterState/77 (Lpi2c_Ip_MasterState) @06d01630
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Varpool flags:
g_lpi2cBase/76 (g_lpi2cBase) @06d015e8
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: Lpi2c_Ip_MasterInterruptReceiveInit/116 (read)Lpi2c_Ip_SlaveDeinit/127 (read)Lpi2c_Ip_MasterDeinit/110 (read)Lpi2c_Ip_MasterSend/100 (read)Lpi2c_Ip_SlaveActivateEvents/122 (read)Lpi2c_Ip_MasterSetBaudRate/105 (read)Lpi2c_Ip_MasterGetBaudRate/111 (read)Lpi2c_Ip_MasterSendData/113 (read)Lpi2c_Ip_SlaveSetOperatingMode/90 (read)Lpi2c_Ip_MasterInit/109 (read)Lpi2c_Ip_MasterReceive/102 (read)Lpi2c_Ip_SlaveHandleAddressValidEvent/93 (read)Lpi2c_Ip_MasterReceiveData/117 (read)Lpi2c_Ip_MasterSendDataBlocking/115 (read)Lpi2c_Ip_SlaveIRQHandler/136 (read)Lpi2c_Ip_MasterSetBaudRateInit/106 (read)Lpi2c_Ip_MasterIRQHandler/121 (read)Lpi2c_Ip_SlaveInit/125 (read)Lpi2c_Ip_MasterSetOperatingMode/88 (read)Lpi2c_Ip_ModuleIRQHandler/137 (read)Lpi2c_Ip_MasterSetOperatingMode/193 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
LPI2C_Set_SlaveAddr0/71 (LPI2C_Set_SlaveAddr0) @06cfc9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_SlaveAddr0/71 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveConigureAddress/123 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_SlaveHighSpeedModeDetect/65 (LPI2C_Set_SlaveHighSpeedModeDetect) @06cf5460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_SlaveHighSpeedModeDetect/65 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveSetOperatingMode/90 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterRxFIFOWatermark/42 (LPI2C_Set_MasterRxFIFOWatermark) @06ce40e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 191
References:
Referring:
Function LPI2C_Set_MasterRxFIFOWatermark/42 is inline copy in Lpi2c_Ip_MasterReceiveDataBlocking/118
Availability: local
Function flags: count:78343425 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterReceive/102 (inlined) (78343425 (estimated locally),0.33 per call)
Calls:
LPI2C_Set_MasterClockLowPeriodHS/40 (LPI2C_Set_MasterClockLowPeriodHS) @06cdfa80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterClockLowPeriodHS/40 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_HSBaudRateConfig/104 (inlined) (512926469 (estimated locally),0.48 per call)
Calls:
LPI2C_Set_MasterClockHighPeriodHS/38 (LPI2C_Set_MasterClockHighPeriodHS) @06cdf460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterClockHighPeriodHS/38 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_HSBaudRateConfig/104 (inlined) (512926469 (estimated locally),0.48 per call)
Calls:
LPI2C_Set_MasterSetupHoldDelayHS/37 (LPI2C_Set_MasterSetupHoldDelayHS) @06cdf0e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterSetupHoldDelayHS/37 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_HSBaudRateConfig/104 (inlined) (512926469 (estimated locally),0.48 per call)
Calls:
LPI2C_Set_MasterDataValidDelayHS/36 (LPI2C_Set_MasterDataValidDelayHS) @06cdad20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterDataValidDelayHS/36 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:512926469 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_HSBaudRateConfig/104 (inlined) (512926469 (estimated locally),0.48 per call)
Calls:
LPI2C_Set_MasterClockLowPeriod/34 (LPI2C_Set_MasterClockLowPeriod) @06cda700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterClockLowPeriod/34 is inline copy in Lpi2c_Ip_BaudRateConfig/103
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_BaudRateConfig/103 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterSetupHoldDelay/33 (LPI2C_Set_MasterSetupHoldDelay) @06cda380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterSetupHoldDelay/33 is inline copy in Lpi2c_Ip_BaudRateConfig/103
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_BaudRateConfig/103 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterDataValidDelay/32 (LPI2C_Set_MasterDataValidDelay) @06cda000
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterDataValidDelay/32 is inline copy in Lpi2c_Ip_BaudRateConfig/103
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_BaudRateConfig/103 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterClockHighPeriod/31 (LPI2C_Set_MasterClockHighPeriod) @06cd8c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterClockHighPeriod/31 is inline copy in Lpi2c_Ip_BaudRateConfig/103
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_BaudRateConfig/103 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterPrescaler/28 (LPI2C_Set_MasterPrescaler) @06cd8380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterPrescaler/28 is inline copy in Lpi2c_Ip_BaudRateConfig/103
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_BaudRateConfig/103 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterBusIdleTimeout/26 (LPI2C_Set_MasterBusIdleTimeout) @06cd4c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterBusIdleTimeout/26 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterConfigFeatures/108 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterPinLowTimeout/24 (LPI2C_Set_MasterPinLowTimeout) @06cd4540
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterPinLowTimeout/24 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterConfigFeatures/108 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_SlaveGlitchFilterSCL/23 (LPI2C_Set_SlaveGlitchFilterSCL) @06cd41c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_SlaveGlitchFilterSCL/23 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveConfigureGlitchFilter/124 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_SlaveGlitchFilterSDA/22 (LPI2C_Set_SlaveGlitchFilterSDA) @06cd1e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_SlaveGlitchFilterSDA/22 is inline copy in Lpi2c_Ip_SlaveInit/125
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_SlaveConfigureGlitchFilter/124 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterGlitchFilterSCL/21 (LPI2C_Set_MasterGlitchFilterSCL) @06cd1a80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterGlitchFilterSCL/21 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterConfigFeatures/108 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Set_MasterGlitchFilterSDA/20 (LPI2C_Set_MasterGlitchFilterSDA) @06cd1700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Set_MasterGlitchFilterSDA/20 is inline copy in Lpi2c_Ip_MasterInit/109
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterConfigFeatures/108 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
LPI2C_Reset_MasterTxFIFOCmd/3 (LPI2C_Reset_MasterTxFIFOCmd) @06cb3460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Reset_MasterTxFIFOCmd/3 is inline copy in Lpi2c_Ip_MasterEndTransfer/87
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterEndTransfer/87 (inlined) (354334802 (estimated locally),0.33 per call)
Calls:
LPI2C_Reset_MasterRxFIFOCmd/2 (LPI2C_Reset_MasterRxFIFOCmd) @06cb30e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Reset_MasterRxFIFOCmd/2 is inline copy in Lpi2c_Ip_MasterEndTransfer/87
Availability: local
Function flags: count:354334802 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterEndTransfer/87 (inlined) (354334802 (estimated locally),0.33 per call)
Calls:
LPI2C_Get_MasterRxFIFOSize/0 (LPI2C_Get_MasterRxFIFOSize) @06caea80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function LPI2C_Get_MasterRxFIFOSize/0 is inline copy in Lpi2c_Ip_MasterInterruptReceiveInit/116
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: Lpi2c_Ip_MasterInterruptReceiveInit/116 (inlined) (1073741824 (estimated locally),1.00 per call)
Calls:
;; Function Lpi2c_Ip_MasterQueueCmd (Lpi2c_Ip_MasterQueueCmd, funcdef_no=78, decl_uid=4900, cgraph_uid=79, symbol_order=83)
Lpi2c_Ip_MasterQueueCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, Lpi2c_Ip_MasterCommandType cmd, uint8 data)
{
uint32 tmp;
uint32 tmp;
unsigned char _1;
int _2;
unsigned char _3;
short unsigned int _16;
short unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_17 ={v} MEM[(const struct LPI2C_Type *)baseAddr_6(D)].MFSR;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = tmp_17 & 7;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _19
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_13 ={v} MEM[(const struct LPI2C_Type *)baseAddr_6(D)].PARAM;
# DEBUG tmp => tmp_13
# DEBUG BEGIN_STMT
tmp_14 = tmp_13 & 15;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
tmp_15 = 1 << tmp_14;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
_16 = (short unsigned int) tmp_15;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOSize => _16
# DEBUG BEGIN_STMT
if (_16 > _19)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6(D)
# DEBUG cmd => cmd_8(D)
# DEBUG data => data_10(D)
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_20 = (long unsigned int) cmd_8(D);
_21 = _20 << 8;
_22 = (long unsigned int) data_10(D);
_23 = _21 + _22;
baseAddr_6(D)->MTDR ={v} _23;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
_1 = master_7(D)->cmdQueue.writeIdx;
_2 = (int) _1;
master_7(D)->cmdQueue.cmd[_2] = cmd_8(D);
# DEBUG BEGIN_STMT
master_7(D)->cmdQueue.data[_2] = data_10(D);
# DEBUG BEGIN_STMT
_3 = _1 + 1;
master_7(D)->cmdQueue.writeIdx = _3;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
return;
}
;; Function Lpi2c_Ip_MasterSendQueuedCmd (Lpi2c_Ip_MasterSendQueuedCmd, funcdef_no=79, decl_uid=4906, cgraph_uid=80, symbol_order=84)
Lpi2c_Ip_MasterSendQueuedCmd (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint16 txFIFOCount;
int _1;
<unnamed type> _2;
unsigned char _3;
unsigned char _4;
unsigned char _10;
short unsigned int _16;
short unsigned int _19;
short unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
unsigned char _27;
unsigned char _28;
unsigned char _29;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_17 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].MFSR;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = tmp_17 & 7;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _19
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_14 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].PARAM;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
tmp_12 = tmp_14 & 15;
# DEBUG tmp => tmp_12
# DEBUG BEGIN_STMT
tmp_15 = 1 << tmp_12;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
_16 = (short unsigned int) tmp_15;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFifoSize => _16
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878293]:
# DEBUG BEGIN_STMT
_1 = (int) _28;
_2 = master_11(D)->cmdQueue.cmd[_1];
_3 = master_11(D)->cmdQueue.data[_1];
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG cmd => _2
# DEBUG data => _3
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_23 = (long unsigned int) _2;
_24 = _23 << 8;
_25 = (long unsigned int) _3;
_26 = _24 + _25;
baseAddr_9(D)->MTDR ={v} _26;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_4 = _28 + 1;
master_11(D)->cmdQueue.readIdx = _4;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_20 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9(D)].MFSR;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 & 7;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = (short unsigned int) tmp_21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _22
<bb 4> [local count: 1073741824]:
# txFIFOCount_5 = PHI <_19(2), _22(3)>
# DEBUG txFIFOCount => txFIFOCount_5
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_27 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.writeIdx;
_28 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.readIdx;
# DEBUG master => NULL
if (_27 != _28)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (txFIFOCount_5 < _16)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 114863532]:
# _29 = PHI <_27(5), _27(4)>
# _10 = PHI <_28(5), _28(4)>
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY NULL
# DEBUG BEGIN_STMT
# DEBUG master => NULL
if (_10 == _29)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 39053601]:
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterResetQueue
# DEBUG BEGIN_STMT
master_11(D)->cmdQueue.readIdx = 0;
# DEBUG BEGIN_STMT
master_11(D)->cmdQueue.writeIdx = 0;
<bb 8> [local count: 114863532]:
# DEBUG master => NULL
return;
}
;; Function Lpi2c_Ip_MasterSendAddress (Lpi2c_Ip_MasterSendAddress, funcdef_no=80, decl_uid=4916, cgraph_uid=81, symbol_order=85)
Lpi2c_Ip_MasterSendAddress (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean receive)
{
Lpi2c_Ip_MasterCommandType startCommand;
uint8 addrByte;
<unnamed type> _1;
_Bool _2;
unsigned char _3;
_Bool _4;
_Bool _5;
short unsigned int _6;
short unsigned int _7;
unsigned char _8;
unsigned char _9;
short unsigned int _10;
short unsigned int _11;
short unsigned int _12;
unsigned char _13;
unsigned char _14;
short unsigned int _15;
unsigned char _16;
unsigned char _17;
unsigned char _18;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = master_23(D)->operatingMode;
if (_1 == 3)
goto <bb 3>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 3> [local count: 365072220]:
_2 = master_23(D)->highSpeedInProgress;
if (_2 != 0)
goto <bb 5>; [67.00%]
else
goto <bb 4>; [33.00%]
<bb 4> [local count: 120473832]:
# DEBUG BEGIN_STMT
_3 = master_23(D)->masterCode;
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), 5, _3);
# DEBUG BEGIN_STMT
master_23(D)->highSpeedInProgress = 1;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_4 = master_23(D)->highSpeedInProgress;
if (_4 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 6> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG startCommand => 4
<bb 7> [local count: 1073741824]:
# startCommand_19 = PHI <6(5), 4(6)>
# DEBUG startCommand => startCommand_19
# DEBUG BEGIN_STMT
_5 = master_23(D)->is10bitAddr;
if (_5 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 536870913]:
# DEBUG BEGIN_STMT
_6 = master_23(D)->slaveAddress;
_7 = _6 >> 7;
_8 = (unsigned char) _7;
_9 = _8 & 6;
addrByte_30 = _9 + 240;
# DEBUG addrByte => addrByte_30
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_30);
# DEBUG BEGIN_STMT
_10 = master_23(D)->slaveAddress;
addrByte_32 = (uint8) _10;
# DEBUG addrByte => addrByte_32
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), 0, addrByte_32);
# DEBUG BEGIN_STMT
if (receive_27(D) != 0)
goto <bb 9>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 9> [local count: 177167401]:
# DEBUG BEGIN_STMT
_11 = master_23(D)->slaveAddress;
_12 = _11 >> 7;
_13 = (unsigned char) _12;
_14 = _13 & 6;
addrByte_34 = _14 + 241;
# DEBUG addrByte => addrByte_34
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_34);
goto <bb 11>; [100.00%]
<bb 10> [local count: 536870913]:
# DEBUG BEGIN_STMT
_15 = master_23(D)->slaveAddress;
_16 = (unsigned char) _15;
_17 = _16 << 1;
_18 = (unsigned char) receive_27(D);
addrByte_28 = _17 + _18;
# DEBUG addrByte => addrByte_28
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueCmd (baseAddr_24(D), master_23(D), startCommand_19, addrByte_28);
<bb 11> [local count: 1073741824]:
return;
}
;; Function Lpi2c_Ip_MasterQueueData (Lpi2c_Ip_MasterQueueData, funcdef_no=81, decl_uid=4922, cgraph_uid=82, symbol_order=86)
Lpi2c_Ip_MasterQueueData (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint16 txFIFOCount;
uint8 * _1;
unsigned char _2;
uint8 * _3;
long unsigned int _4;
long unsigned int _5;
unsigned char _12;
unsigned char _15;
short unsigned int _19;
short unsigned int _22;
short unsigned int _25;
long unsigned int _26;
<bb 2> [local count: 337833918]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_20 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].MFSR;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 & 7;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = (short unsigned int) tmp_21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _22
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOSize
# DEBUG BEGIN_STMT
tmp_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].PARAM;
# DEBUG tmp => tmp_16
# DEBUG BEGIN_STMT
tmp_17 = tmp_16 & 15;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
tmp_18 = 1 << tmp_17;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
_19 = (short unsigned int) tmp_18;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFifoSize => _19
# DEBUG BEGIN_STMT
# DEBUG master => master_11(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_12 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.writeIdx;
_15 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_11(D)].cmdQueue.readIdx;
# DEBUG master => NULL
if (_12 == _15)
goto <bb 7>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 7> [local count: 114863532]:
goto <bb 4>; [100.00%]
<bb 3> [local count: 958878294]:
# DEBUG BEGIN_STMT
_1 = master_11(D)->dataBuffer;
_2 = *_1;
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG cmd => 0
# DEBUG data => _2
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
_26 = (long unsigned int) _2;
baseAddr_10(D)->MTDR ={v} _26;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_3 = _1 + 1;
master_11(D)->dataBuffer = _3;
# DEBUG BEGIN_STMT
_4 = _5 + 4294967295;
master_11(D)->bufferSize = _4;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_10(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTxFIFOCount
# DEBUG BEGIN_STMT
tmp_23 ={v} MEM[(const struct LPI2C_Type *)baseAddr_10(D)].MFSR;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
tmp_24 = tmp_23 & 7;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
_25 = (short unsigned int) tmp_24;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG txFIFOCount => _25
<bb 4> [local count: 1073741824]:
# txFIFOCount_6 = PHI <_25(3), _22(7)>
# DEBUG txFIFOCount => txFIFOCount_6
# DEBUG BEGIN_STMT
_5 = master_11(D)->bufferSize;
if (_5 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (txFIFOCount_6 < _19)
goto <bb 3>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 337833918]:
return;
}
;; Function Lpi2c_Ip_MasterEndTransfer (Lpi2c_Ip_MasterEndTransfer, funcdef_no=82, decl_uid=4933, cgraph_uid=83, symbol_order=87)
Symbols to be put in SSA form
{ D.5691 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 11
Number of blocks to update: 10 ( 91%)
Removing basic block 3
Removing basic block 7
Removing basic block 9
Merging blocks 10 and 8
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 1 }
Lpi2c_Ip_MasterEndTransfer (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master, boolean sendStop, boolean resetFIFO)
{
uint32 regValue;
uint32 regValue;
uint32 tmp;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG interrupts => 15363
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_14 ={v} baseAddr_4(D)->MIER;
# DEBUG tmp => tmp_14
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_15 = tmp_14 & 4294951932;
# DEBUG tmp => tmp_15
# DEBUG BEGIN_STMT
baseAddr_4(D)->MIER ={v} tmp_15;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (resetFIFO_5(D) != 0)
goto <bb 3>; [33.00%]
else
goto <bb 4>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Reset_MasterTxFIFOCmd
# DEBUG BEGIN_STMT
regValue_21 ={v} baseAddr_4(D)->MCR;
# DEBUG regValue => regValue_21
# DEBUG BEGIN_STMT
regValue_22 = regValue_21 & 4294967039;
# DEBUG regValue => regValue_22
# DEBUG BEGIN_STMT
regValue_23 = regValue_22 | 256;
# DEBUG regValue => regValue_23
# DEBUG BEGIN_STMT
baseAddr_4(D)->MCR ={v} regValue_23;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG INLINE_ENTRY LPI2C_Reset_MasterRxFIFOCmd
# DEBUG BEGIN_STMT
regValue_18 ={v} baseAddr_4(D)->MCR;
# DEBUG regValue => regValue_18
# DEBUG BEGIN_STMT
regValue_19 = regValue_18 & 4294966783;
# DEBUG regValue => regValue_19
# DEBUG BEGIN_STMT
regValue_20 = regValue_19 | 512;
# DEBUG regValue => regValue_20
# DEBUG BEGIN_STMT
baseAddr_4(D)->MCR ={v} regValue_20;
<bb 4> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
if (sendStop_8(D) != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_4(D)
# DEBUG cmd => 2
# DEBUG data => 0
# DEBUG INLINE_ENTRY LPI2C_Cmd_MasterTransmit
# DEBUG BEGIN_STMT
baseAddr_4(D)->MTDR ={v} 512;
# DEBUG baseAddr => NULL
# DEBUG cmd => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
master_9(D)->highSpeedInProgress = 0;
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
master_9(D)->dataBuffer = 0B;
# DEBUG BEGIN_STMT
master_9(D)->bufferSize = 0;
# DEBUG BEGIN_STMT
master_9(D)->i2cIdle ={v} 1;
return;
}
;; Function Lpi2c_Ip_MasterCheckErrorEvents (Lpi2c_Ip_MasterCheckErrorEvents, funcdef_no=94, decl_uid=4990, cgraph_uid=95, symbol_order=99)
Symbols to be put in SSA form
{ D.5703 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 23
Number of blocks to update: 22 ( 96%)
Removing basic block 3
Removing basic block 5
Removing basic block 7
Removing basic block 9
Removing basic block 15
Removing basic block 19
;; 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 13 14 15 16
;; 2 succs { 3 8 }
;; 3 succs { 4 5 }
;; 4 succs { 5 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 8 }
;; 8 succs { 9 12 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 13 16 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 16 }
;; 16 succs { 1 }
Lpi2c_Ip_MasterCheckErrorEvents (struct LPI2C_Type * baseAddr, struct Lpi2c_Ip_MasterStateType * master)
{
uint32 regValue;
uint32 regValue;
uint32 regValue;
long unsigned int _11;
_Bool _12;
long unsigned int _14;
_Bool _15;
long unsigned int _17;
_Bool _18;
<unnamed type> _19;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _20;
unsigned char _21;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _22;
unsigned char _23;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _24;
unsigned char _25;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterFIFOErrorEvent
# DEBUG BEGIN_STMT
regValue_10 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
_11 = regValue_10 >> 12;
# DEBUG regValue => _11 & 1
# DEBUG BEGIN_STMT
_12 = (_Bool) _11;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_12 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG master => master_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterFIFOErrorEventHandler
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterFIFOErrorEvent
# DEBUG BEGIN_STMT
baseAddr_5(D)->MSR ={v} 4096;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_19 = master_6(D)->operatingMode;
if (_19 == 3)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 120473833]:
# DEBUG BEGIN_STMT
master_6(D)->highSpeedInProgress = 0;
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
master_6(D)->status ={v} 1;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_5(D), master_6(D), 0, 1);
# DEBUG BEGIN_STMT
_20 = master_6(D)->masterCallback;
if (_20 != 0B)
goto <bb 6>; [70.00%]
else
goto <bb 7>; [30.00%]
<bb 6> [local count: 248034361]:
# DEBUG BEGIN_STMT
_21 = master_6(D)->callbackParam;
_20 (11, _21);
<bb 7> [local count: 354334802]:
<bb 8> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterArbitrationLostEvent
# DEBUG BEGIN_STMT
regValue_13 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
_14 = regValue_13 >> 11;
# DEBUG regValue => _14 & 1
# DEBUG BEGIN_STMT
_15 = (_Bool) _14;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_15 != 0)
goto <bb 9>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 9> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG master => master_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterArbitrationLostEventHandler
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterArbitrationLostEvent
# DEBUG BEGIN_STMT
baseAddr_5(D)->MSR ={v} 2048;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_5(D), master_6(D), 0, 1);
# DEBUG BEGIN_STMT
master_6(D)->status ={v} 6;
# DEBUG BEGIN_STMT
_22 = master_6(D)->masterCallback;
if (_22 != 0B)
goto <bb 10>; [70.00%]
else
goto <bb 11>; [30.00%]
<bb 10> [local count: 248034361]:
# DEBUG BEGIN_STMT
_23 = master_6(D)->callbackParam;
_22 (11, _23);
<bb 11> [local count: 354334802]:
<bb 12> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterNACKDetectEvent
# DEBUG BEGIN_STMT
regValue_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_5(D)].MSR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
_17 = regValue_16 >> 10;
# DEBUG regValue => _17 & 1
# DEBUG BEGIN_STMT
_18 = (_Bool) _17;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_18 != 0)
goto <bb 13>; [33.00%]
else
goto <bb 16>; [67.00%]
<bb 13> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG master => master_6(D)
# DEBUG INLINE_ENTRY LPI2C_Get_MasterNACKDetectEventHandler
# DEBUG BEGIN_STMT
master_6(D)->highSpeedInProgress = 0;
# DEBUG BEGIN_STMT
master_6(D)->status ={v} 3;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterEndTransfer (baseAddr_5(D), master_6(D), 0, 1);
# DEBUG BEGIN_STMT
_24 = master_6(D)->masterCallback;
if (_24 != 0B)
goto <bb 14>; [70.00%]
else
goto <bb 15>; [30.00%]
<bb 14> [local count: 248034361]:
# DEBUG BEGIN_STMT
_25 = master_6(D)->callbackParam;
_24 (11, _25);
<bb 15> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_5(D)
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterNACKDetectEvent
# DEBUG BEGIN_STMT
baseAddr_5(D)->MSR ={v} 1024;
# DEBUG baseAddr => NULL
<bb 16> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
return;
}
;; Function Lpi2c_Ip_BaudRateConfig (Lpi2c_Ip_BaudRateConfig, funcdef_no=98, decl_uid=5012, cgraph_uid=99, symbol_order=103)
Symbols to be put in SSA form
{ D.5707 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 13
Number of blocks to update: 12 ( 92%)
Merging blocks 2 and 12
Merging blocks 2 and 11
Merging blocks 2 and 10
Merging blocks 2 and 9
Merging blocks 2 and 8
Merging blocks 2 and 7
Merging blocks 2 and 6
Merging blocks 2 and 5
Merging blocks 2 and 4
Merging blocks 2 and 3
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2
;; 2 succs { 1 }
Lpi2c_Ip_BaudRateConfig (struct LPI2C_Type * baseAddr, const struct Lpi2c_Ip_BaudRateType * baudRate)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
<unnamed type> _1;
long unsigned int _2;
unsigned char _3;
long unsigned int _4;
unsigned char _5;
long unsigned int _6;
unsigned char _7;
long unsigned int _8;
unsigned char _9;
unsigned char _20;
long unsigned int _21;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
<unnamed type> _43;
long unsigned int _44;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = baudRate_11(D)->prescaler;
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG prescaler => _1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPrescaler
# DEBUG BEGIN_STMT
tmp_41 ={v} baseAddr_12(D)->MCFGR1;
# DEBUG tmp => tmp_41
# DEBUG BEGIN_STMT
tmp_42 = tmp_41 & 4294967288;
# DEBUG tmp => tmp_42
# DEBUG BEGIN_STMT
_43 = _1 & 7;
_44 = (long unsigned int) _43;
tmp_45 = tmp_42 | _44;
# DEBUG tmp => tmp_45
# DEBUG BEGIN_STMT
baseAddr_12(D)->MCFGR1 ={v} tmp_45;
# DEBUG baseAddr => NULL
# DEBUG prescaler => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_2 = baudRate_11(D)->setHold;
_3 = (unsigned char) _2;
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG value => _3
# DEBUG INLINE_ENTRY LPI2C_Set_MasterSetupHoldDelay
# DEBUG BEGIN_STMT
tmp_35 ={v} baseAddr_12(D)->MCCR0;
# DEBUG tmp => tmp_35
# DEBUG BEGIN_STMT
tmp_36 = tmp_35 & 4290838527;
# DEBUG tmp => tmp_36
# DEBUG BEGIN_STMT
_37 = (long unsigned int) _3;
_38 = _37 << 16;
_39 = _38 & 4128768;
tmp_40 = tmp_36 | _39;
# DEBUG tmp => tmp_40
# DEBUG BEGIN_STMT
baseAddr_12(D)->MCCR0 ={v} tmp_40;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_4 = baudRate_11(D)->dataValid;
_5 = (unsigned char) _4;
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG value => _5
# DEBUG INLINE_ENTRY LPI2C_Set_MasterDataValidDelay
# DEBUG BEGIN_STMT
tmp_29 ={v} baseAddr_12(D)->MCCR0;
# DEBUG tmp => tmp_29
# DEBUG BEGIN_STMT
tmp_30 = tmp_29 & 3238002687;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
_31 = (long unsigned int) _5;
_32 = _31 << 24;
_33 = _32 & 1056964608;
tmp_34 = tmp_30 | _33;
# DEBUG tmp => tmp_34
# DEBUG BEGIN_STMT
baseAddr_12(D)->MCCR0 ={v} tmp_34;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_6 = baudRate_11(D)->clkHI;
_7 = (unsigned char) _6;
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG value => _7
# DEBUG INLINE_ENTRY LPI2C_Set_MasterClockHighPeriod
# DEBUG BEGIN_STMT
tmp_23 ={v} baseAddr_12(D)->MCCR0;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
tmp_24 = tmp_23 & 4294951167;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
_25 = (long unsigned int) _7;
_26 = _25 << 8;
_27 = _26 & 16128;
tmp_28 = tmp_24 | _27;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
baseAddr_12(D)->MCCR0 ={v} tmp_28;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_8 = baudRate_11(D)->clkLO;
_9 = (unsigned char) _8;
# DEBUG baseAddr => baseAddr_12(D)
# DEBUG value => _9
# DEBUG INLINE_ENTRY LPI2C_Set_MasterClockLowPeriod
# DEBUG BEGIN_STMT
tmp_18 ={v} baseAddr_12(D)->MCCR0;
# DEBUG tmp => tmp_18
# DEBUG BEGIN_STMT
tmp_19 = tmp_18 & 4294967232;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
_20 = _9 & 63;
_21 = (long unsigned int) _20;
tmp_22 = tmp_19 | _21;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
baseAddr_12(D)->MCCR0 ={v} tmp_22;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
return;
}
;; Function Lpi2c_Ip_SlaveActivateEvents (Lpi2c_Ip_SlaveActivateEvents, funcdef_no=117, decl_uid=5154, cgraph_uid=118, symbol_order=122)
Lpi2c_Ip_SlaveActivateEvents (uint32 instance)
{
uint32 regValue;
uint32 tmp;
uint32 tmp;
const struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
<unnamed type> _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
slave_7 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_7
# DEBUG BEGIN_STMT
_1 = slave_7->transferType;
if (_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 3844
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_8 ={v} baseAddr_6->SIER;
# DEBUG tmp => tmp_8
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_9 = tmp_8 | 3844;
# DEBUG tmp => tmp_9
# DEBUG BEGIN_STMT
baseAddr_6->SIER ={v} tmp_9;
<bb 4> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (_1 == 1)
goto <bb 5>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 5> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 3846
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_10 ={v} baseAddr_6->SIER;
# DEBUG tmp => tmp_10
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_11 = tmp_10 | 3846;
# DEBUG tmp => tmp_11
# DEBUG BEGIN_STMT
baseAddr_6->SIER ={v} tmp_11;
<bb 6> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_12 ={v} baseAddr_6->SCR;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
regValue_13 = regValue_12 & 4294967294;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 | 1;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
baseAddr_6->SCR ={v} regValue_14;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
return;
}
;; Function Lpi2c_Ip_SlaveEndTransferHandler (Lpi2c_Ip_SlaveEndTransferHandler, funcdef_no=126, decl_uid=5199, cgraph_uid=127, symbol_order=131)
Symbols to be put in SSA form
{ D.5718 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 9
Number of blocks to update: 8 ( 89%)
Removing basic block 3
Removing basic block 7
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 1 }
Lpi2c_Ip_SlaveEndTransferHandler (const struct Lpi2c_Ip_SlaveStateType * slave, struct LPI2C_Type * baseAddr)
{
uint32 regValue;
uint32 tmp;
_Bool _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = slave_7(D)->slaveListening;
if (_1 != 0)
goto <bb 4>; [67.00%]
else
goto <bb 3>; [33.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_8(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveEndTransfer
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_8(D)
# DEBUG interrupts => 3847
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_11 ={v} baseAddr_8(D)->SIER;
# DEBUG tmp => tmp_11
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_12 = tmp_11 & 4294963448;
# DEBUG tmp => tmp_12
# DEBUG BEGIN_STMT
baseAddr_8(D)->SIER ={v} tmp_12;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_8(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_13 ={v} baseAddr_8(D)->SCR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 & 4294967294;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
baseAddr_8(D)->SCR ={v} regValue_14;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
<bb 4> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
_2 = slave_7(D)->slaveCallback;
if (_2 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 751619278]:
# DEBUG BEGIN_STMT
_3 = slave_7(D)->callbackParam;
_2 (7, _3);
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}
;; Function Lpi2c_Ip_MasterInterruptReceiveInit (Lpi2c_Ip_MasterInterruptReceiveInit, funcdef_no=111, decl_uid=5111, cgraph_uid=112, symbol_order=116)
Symbols to be put in SSA form
{ D.5712 D.6228 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 9
Number of blocks to update: 8 ( 89%)
Merging blocks 2 and 6
Merging blocks 4 and 8
Merging blocks 2 and 5
Merging blocks 4 and 7
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }
Lpi2c_Ip_MasterInterruptReceiveInit (uint32 instance, uint32 rxSize)
{
uint32 tmp;
uint32 tmp;
uint16 D.6228;
uint16 rxBytes;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
unsigned char _1;
unsigned char _2;
long unsigned int _3;
short unsigned int _4;
long unsigned int _18;
short unsigned int _21;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
baseAddr_8 = g_lpi2cBase[instance_7(D)];
# DEBUG baseAddr => baseAddr_8
# DEBUG BEGIN_STMT
master_9 = g_lpi2cMasterStatePtr[instance_7(D)];
# DEBUG master => master_9
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_8, master_9, 1);
# DEBUG BEGIN_STMT
_1 = (unsigned char) rxSize_11(D);
_2 = _1 + 255;
Lpi2c_Ip_MasterQueueCmd (baseAddr_8, master_9, 1, _2);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_8
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOSize
# DEBUG BEGIN_STMT
tmp_17 ={v} MEM[(const struct LPI2C_Type *)baseAddr_8].PARAM;
# DEBUG tmp => tmp_17
# DEBUG BEGIN_STMT
_18 = tmp_17 >> 8;
tmp_19 = _18 & 15;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
tmp_20 = 1 << tmp_19;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
_21 = (short unsigned int) tmp_20;
_28 = _21;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
rxBytes_14 = _28;
# DEBUG rxBytes => rxBytes_14
# DEBUG BEGIN_STMT
_3 = (long unsigned int) rxBytes_14;
if (_3 > rxSize_11(D))
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
rxBytes_15 = (uint16) _1;
# DEBUG rxBytes => rxBytes_15
<bb 4> [local count: 1073741824]:
# rxBytes_5 = PHI <rxBytes_14(2), rxBytes_15(3)>
# DEBUG rxBytes => rxBytes_5
# DEBUG BEGIN_STMT
_4 = rxBytes_5 + 65535;
# DEBUG baseAddr => baseAddr_8
# DEBUG value => _4
# DEBUG INLINE_ENTRY LPI2C_Set_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_22 ={v} baseAddr_8->MFCR;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
tmp_23 = tmp_22 & 4294770687;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
_24 = (long unsigned int) _4;
_25 = _24 << 16;
_26 = _25 & 196608;
tmp_27 = tmp_23 | _26;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
baseAddr_8->MFCR ={v} tmp_27;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
return;
}
;; Function Lpi2c_Ip_MasterSetBaudRate (Lpi2c_Ip_MasterSetBaudRate, funcdef_no=100, decl_uid=4447, cgraph_uid=101, symbol_order=105)
Symbols to be put in SSA form
{ D.5724 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 15
Number of blocks to update: 14 ( 93%)
Merging blocks 11 and 14
Merging blocks 11 and 13
;; 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
;;
;; Loop 1
;; header 7, latch 6
;; depth 1, outer 0
;; nodes: 7 6 5
;; 2 succs { 3 12 }
;; 3 succs { 4 9 }
;; 4 succs { 7 }
;; 5 succs { 8 6 }
;; 6 succs { 7 }
;; 7 succs { 5 8 }
;; 8 succs { 10 9 }
;; 9 succs { 11 10 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 1 }
Lpi2c_Ip_MasterSetBaudRate (uint32 instance, Lpi2c_Ip_ModeType operatingMode, uint32 baudrate, uint32 inputClock)
{
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
uint32 tmp;
uint32 regValue;
uint32 regValue;
Lpi2c_Ip_StatusType retStatus;
uint32 dataVd;
uint32 setHold;
uint32 clkHi;
uint32 clkLo;
uint32 clkTotal;
uint32 prescaler;
uint32 minPrescaler;
struct Lpi2c_Ip_BaudRateType baudRateParams;
const struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
<unnamed type> _11;
long unsigned int _18;
<bb 2> [local count: 571974014]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG minPrescaler => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_21 = g_lpi2cBase[instance_20(D)];
# DEBUG baseAddr => baseAddr_21
# DEBUG BEGIN_STMT
master_22 = g_lpi2cMasterStatePtr[instance_20(D)];
# DEBUG master => master_22
# DEBUG BEGIN_STMT
_1 ={v} master_22->i2cIdle;
if (_1 != 0)
goto <bb 3>; [65.00%]
else
goto <bb 12>; [35.00%]
<bb 3> [local count: 371783108]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_21
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_47 ={v} baseAddr_21->MCR;
# DEBUG regValue => regValue_47
# DEBUG BEGIN_STMT
regValue_48 = regValue_47 & 4294967294;
# DEBUG regValue => regValue_48
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_48
# DEBUG BEGIN_STMT
baseAddr_21->MCR ={v} regValue_48;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
if (baudrate_23(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 4> [local count: 185891554]:
# DEBUG BEGIN_STMT
_2 = inputClock_24(D) + 4294967295;
_3 = baudrate_23(D) * 128;
_4 = _2 / _3;
minPrescaler_25 = _4 + 1;
# DEBUG minPrescaler => minPrescaler_25
# DEBUG BEGIN_STMT
# DEBUG prescaler => 0
goto <bb 7>; [100.00%]
<bb 5> [local count: 939524097]:
# DEBUG BEGIN_STMT
_5 = 1 << prescaler_12;
if (_5 >= minPrescaler_25)
goto <bb 8>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 887850271]:
# DEBUG BEGIN_STMT
prescaler_26 = prescaler_12 + 1;
# DEBUG prescaler => prescaler_26
<bb 7> [local count: 1073741824]:
# prescaler_12 = PHI <0(4), prescaler_26(6)>
# DEBUG prescaler => prescaler_12
# DEBUG BEGIN_STMT
if (prescaler_12 != 7)
goto <bb 5>; [87.50%]
else
goto <bb 8>; [12.50%]
<bb 8> [local count: 185891554]:
# prescaler_49 = PHI <prescaler_12(5), prescaler_12(7)>
# DEBUG BEGIN_STMT
_6 = baudrate_23(D) << prescaler_49;
_7 = _6 >> 1;
_8 = _7 + inputClock_24(D);
clkTotal_27 = _8 / _6;
# DEBUG clkTotal => clkTotal_27
# DEBUG prescaler => prescaler_49
# DEBUG BEGIN_STMT
if (clkTotal_27 > 128)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 278837331]:
# clkTotal_13 = PHI <clkTotal_27(8), 128(3)>
# prescaler_28 = PHI <prescaler_49(8), 7(3)>
# DEBUG prescaler => NULL
# DEBUG clkTotal => clkTotal_13
# DEBUG BEGIN_STMT
if (clkTotal_13 <= 1)
goto <bb 11>; [41.00%]
else
goto <bb 10>; [59.00%]
<bb 10> [local count: 257459802]:
# prescaler_31 = PHI <prescaler_28(9), prescaler_49(8)>
# clkTotal_34 = PHI <clkTotal_13(9), 128(8)>
# DEBUG clkTotal => NULL
# DEBUG BEGIN_STMT
_9 = clkTotal_34 + 4294967294;
clkHi_29 = _9 >> 1;
# DEBUG clkHi => clkHi_29
# DEBUG BEGIN_STMT
_10 = clkTotal_34 - clkHi_29;
clkLo_30 = _10 + 4294967294;
# DEBUG clkHi => clkHi_29
# DEBUG clkLo => clkLo_30
# DEBUG BEGIN_STMT
_18 = MAX_EXPR <1, clkHi_29>;
<bb 11> [local count: 371783108]:
# clkHi_14 = PHI <_18(10), 1(9)>
# prescaler_33 = PHI <prescaler_31(10), prescaler_28(9)>
# clkLo_37 = PHI <clkLo_30(10), 0(9)>
# DEBUG clkLo => NULL
# DEBUG clkHi => clkHi_14
# DEBUG BEGIN_STMT
clkLo_17 = MAX_EXPR <3, clkLo_37>;
# DEBUG clkLo => clkLo_17
# DEBUG BEGIN_STMT
# DEBUG setHold => clkHi_14
# DEBUG BEGIN_STMT
dataVd_36 = clkHi_14 >> 1;
# DEBUG dataVd => dataVd_36
# DEBUG BEGIN_STMT
setHold_32 = MAX_EXPR <2, clkHi_14>;
# DEBUG setHold => setHold_32
# DEBUG BEGIN_STMT
dataVd_35 = MAX_EXPR <1, dataVd_36>;
# DEBUG dataVd => dataVd_35
# DEBUG BEGIN_STMT
_11 = (<unnamed type>) prescaler_33;
baudRateParams.prescaler = _11;
# DEBUG BEGIN_STMT
baudRateParams.dataValid = dataVd_35;
# DEBUG BEGIN_STMT
baudRateParams.setHold = setHold_32;
# DEBUG BEGIN_STMT
baudRateParams.clkHI = clkHi_14;
# DEBUG BEGIN_STMT
baudRateParams.clkLO = clkLo_17;
# DEBUG BEGIN_STMT
Lpi2c_Ip_BaudRateConfig (baseAddr_21, &baudRateParams);
# DEBUG BEGIN_STMT
# DEBUG instance => instance_20(D)
# DEBUG operatingMode => operatingMode_44(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSetOperatingMode
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_55 = g_lpi2cBase[instance_20(D)];
# DEBUG baseAddr => baseAddr_55
# DEBUG BEGIN_STMT
master_56 = g_lpi2cMasterStatePtr[instance_20(D)];
# DEBUG master => master_56
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_55
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinConfig
# DEBUG BEGIN_STMT
tmp_57 ={v} baseAddr_55->MCFGR1;
# DEBUG tmp => tmp_57
# DEBUG BEGIN_STMT
tmp_58 = tmp_57 & 4177526783;
# DEBUG tmp => tmp_58
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_58
# DEBUG BEGIN_STMT
baseAddr_55->MCFGR1 ={v} tmp_58;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_55
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterNACKConfig
# DEBUG BEGIN_STMT
regValue_59 ={v} baseAddr_55->MCFGR1;
# DEBUG regValue => regValue_59
# DEBUG BEGIN_STMT
regValue_60 = regValue_59 & 4294966783;
# DEBUG regValue => regValue_60
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_60
# DEBUG BEGIN_STMT
baseAddr_55->MCFGR1 ={v} regValue_60;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
master_56->operatingMode = operatingMode_44(D);
# DEBUG instance => NULL
# DEBUG operatingMode => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG master => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_21
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_50 ={v} baseAddr_21->MCR;
# DEBUG regValue => regValue_50
# DEBUG BEGIN_STMT
regValue_51 = regValue_50 & 4294967294;
# DEBUG regValue => regValue_51
# DEBUG BEGIN_STMT
regValue_52 = regValue_51 | 1;
# DEBUG regValue => regValue_52
# DEBUG BEGIN_STMT
baseAddr_21->MCR ={v} regValue_52;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 12> [local count: 571974014]:
# retStatus_15 = PHI <2(2), 0(11)>
# DEBUG retStatus => retStatus_15
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baudRateParams ={v} {CLOBBER};
return retStatus_15;
}
;; Function Lpi2c_Ip_MasterInit (Lpi2c_Ip_MasterInit, funcdef_no=104, decl_uid=4436, cgraph_uid=105, symbol_order=109)
Symbols to be put in SSA form
{ D.5728 D.6264 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 29
Number of blocks to update: 28 ( 97%)
Merging blocks 2 and 8
Merging blocks 5 and 20
Merging blocks 6 and 3
Removing basic block 9
Removing basic block 19
Removing basic block 21
Merging blocks 2 and 16
Merging blocks 2 and 15
Merging blocks 2 and 14
Merging blocks 2 and 13
Merging blocks 2 and 12
Merging blocks 2 and 11
Merging blocks 2 and 10
Merging blocks 2 and 7
Merging blocks 2 and 4
Merging blocks 5 and 28
Merging blocks 5 and 27
Merging blocks 5 and 26
Merging blocks 5 and 25
Merging blocks 5 and 24
Merging blocks 5 and 23
Merging blocks 5 and 22
Merging blocks 5 and 18
Merging blocks 5 and 17
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }
Lpi2c_Ip_MasterInit (uint32 instance, const struct Lpi2c_Ip_MasterConfigType * userConfigPtr)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
struct LPI2C_Type * baseAddr;
const struct Lpi2c_Ip_MasterStateType * master;
Lpi2c_Ip_StatusType retStatus;
uint32 regValue;
uint32 regValue;
Lpi2c_Ip_StatusType D.6264;
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * _1;
short unsigned int _2;
_Bool _3;
<unnamed type> _4;
long unsigned int _5;
long unsigned int _6;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _7;
unsigned char _8;
unsigned char _9;
const struct Lpi2c_Ip_BaudRateType * _10;
<unnamed type> _11;
const struct Lpi2c_Ip_BaudRateType * _12;
short unsigned int _13;
_Bool _14;
_Bool _49;
long unsigned int _56;
long unsigned int _57;
long unsigned int _58;
long unsigned int _62;
long unsigned int _65;
long unsigned int _66;
long unsigned int _70;
long unsigned int _74;
long unsigned int _75;
long unsigned int _79;
long unsigned int _80;
long unsigned int _88;
unsigned char _89;
long unsigned int _90;
unsigned char _91;
long unsigned int _92;
unsigned char _93;
long unsigned int _94;
unsigned char _95;
unsigned char _98;
long unsigned int _99;
long unsigned int _103;
long unsigned int _104;
long unsigned int _105;
long unsigned int _109;
long unsigned int _110;
long unsigned int _111;
long unsigned int _115;
long unsigned int _116;
long unsigned int _117;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_17 = g_lpi2cBase[instance_16(D)];
# DEBUG baseAddr => baseAddr_17
# DEBUG BEGIN_STMT
_1 = userConfigPtr_18(D)->masterState;
g_lpi2cMasterStatePtr[instance_16(D)] = _1;
# DEBUG BEGIN_STMT
# DEBUG master => _1
# DEBUG BEGIN_STMT
_1->direction = 0;
# DEBUG BEGIN_STMT
_1->dataBuffer = 0B;
# DEBUG BEGIN_STMT
_1->bufferSize = 0;
# DEBUG BEGIN_STMT
_1->status ={v} 0;
# DEBUG BEGIN_STMT
_1->i2cIdle ={v} 1;
# DEBUG BEGIN_STMT
_2 = userConfigPtr_18(D)->slaveAddress;
_1->slaveAddress = _2;
# DEBUG BEGIN_STMT
_3 = userConfigPtr_18(D)->is10bitAddr;
_1->is10bitAddr = _3;
# DEBUG BEGIN_STMT
_4 = userConfigPtr_18(D)->transferType;
_1->transferType = _4;
# DEBUG BEGIN_STMT
_5 = userConfigPtr_18(D)->dmaTxChannel;
_1->dmaTxChannel = _5;
# DEBUG BEGIN_STMT
_6 = userConfigPtr_18(D)->dmaRxChannel;
_1->dmaRxChannel = _6;
# DEBUG BEGIN_STMT
_7 = userConfigPtr_18(D)->masterCallback;
_1->masterCallback = _7;
# DEBUG BEGIN_STMT
_8 = userConfigPtr_18(D)->callbackParam;
_1->callbackParam = _8;
# DEBUG BEGIN_STMT
_9 = userConfigPtr_18(D)->masterCode;
_1->masterCode = _9;
# DEBUG BEGIN_STMT
_1->highSpeedInProgress = 0;
# DEBUG BEGIN_STMT
_10 = userConfigPtr_18(D)->baudrateParams;
_1->baudrateParams = _10;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG master => _1
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterInitModule
# DEBUG BEGIN_STMT
# DEBUG master => _1
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterResetQueue
# DEBUG BEGIN_STMT
_1->cmdQueue.readIdx = 0;
# DEBUG BEGIN_STMT
_1->cmdQueue.writeIdx = 0;
# DEBUG master => NULL
# DEBUG BEGIN_STMT
LPI2C_Init (baseAddr_17);
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG userConfigPtr => userConfigPtr_18(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterConfigFeatures
# DEBUG BEGIN_STMT
_56 = userConfigPtr_18(D)->u32GlitchFilterSDA;
# DEBUG baseAddr => baseAddr_17
# DEBUG cycles => _56
# DEBUG INLINE_ENTRY LPI2C_Set_MasterGlitchFilterSDA
# DEBUG BEGIN_STMT
tmp_77 ={v} baseAddr_17->MCFGR2;
# DEBUG tmp => tmp_77
# DEBUG BEGIN_STMT
tmp_78 = tmp_77 & 4043309055;
# DEBUG tmp => tmp_78
# DEBUG BEGIN_STMT
_79 = _56 << 24;
_80 = _79 & 251658240;
tmp_81 = tmp_78 | _80;
# DEBUG tmp => tmp_81
# DEBUG BEGIN_STMT
baseAddr_17->MCFGR2 ={v} tmp_81;
# DEBUG baseAddr => NULL
# DEBUG cycles => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_57 = userConfigPtr_18(D)->u32GlitchFilterSCL;
# DEBUG baseAddr => baseAddr_17
# DEBUG cycles => _57
# DEBUG INLINE_ENTRY LPI2C_Set_MasterGlitchFilterSCL
# DEBUG BEGIN_STMT
tmp_72 ={v} baseAddr_17->MCFGR2;
# DEBUG tmp => tmp_72
# DEBUG BEGIN_STMT
tmp_73 = tmp_72 & 4293984255;
# DEBUG tmp => tmp_73
# DEBUG BEGIN_STMT
_74 = _57 << 16;
_75 = _74 & 983040;
tmp_76 = tmp_73 | _75;
# DEBUG tmp => tmp_76
# DEBUG BEGIN_STMT
baseAddr_17->MCFGR2 ={v} tmp_76;
# DEBUG baseAddr => NULL
# DEBUG cycles => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_58 = userConfigPtr_18(D)->u32BusIdleTimeout;
# DEBUG baseAddr => baseAddr_17
# DEBUG u32Timeout => _58
# DEBUG INLINE_ENTRY LPI2C_Set_MasterBusIdleTimeout
# DEBUG BEGIN_STMT
tmp_68 ={v} baseAddr_17->MCFGR2;
# DEBUG tmp => tmp_68
# DEBUG BEGIN_STMT
tmp_69 = tmp_68 & 4294963200;
# DEBUG tmp => tmp_69
# DEBUG BEGIN_STMT
_70 = _58 & 4095;
tmp_71 = tmp_69 | _70;
# DEBUG tmp => tmp_71
# DEBUG BEGIN_STMT
baseAddr_17->MCFGR2 ={v} tmp_71;
# DEBUG baseAddr => NULL
# DEBUG u32Timeout => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG configuration => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinLowTimeoutConfiguration
# DEBUG BEGIN_STMT
tmp_59 ={v} baseAddr_17->MCFGR1;
# DEBUG tmp => tmp_59
# DEBUG BEGIN_STMT
tmp_60 = tmp_59 & 4294966271;
# DEBUG tmp => tmp_60
# DEBUG BEGIN_STMT
tmp_61 = tmp_60 | 1024;
# DEBUG tmp => tmp_61
# DEBUG BEGIN_STMT
baseAddr_17->MCFGR1 ={v} tmp_61;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_62 = userConfigPtr_18(D)->u32PinLowTimeout;
# DEBUG baseAddr => baseAddr_17
# DEBUG u32Timeout => _62
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinLowTimeout
# DEBUG BEGIN_STMT
tmp_63 ={v} baseAddr_17->MCFGR3;
# DEBUG tmp => tmp_63
# DEBUG BEGIN_STMT
tmp_64 = tmp_63 & 4293918975;
# DEBUG tmp => tmp_64
# DEBUG BEGIN_STMT
_65 = _62 << 8;
_66 = _65 & 1048320;
tmp_67 = tmp_64 | _66;
# DEBUG tmp => tmp_67
# DEBUG BEGIN_STMT
baseAddr_17->MCFGR3 ={v} tmp_67;
# DEBUG baseAddr => NULL
# DEBUG u32Timeout => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG userConfigPtr => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_11 = userConfigPtr_18(D)->operatingMode;
_12 = _1->baudrateParams;
# DEBUG instance => instance_16(D)
# DEBUG operatingMode => _11
# DEBUG baudRate => _12
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSetBaudRateInit
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
master_47 = g_lpi2cMasterStatePtr[instance_16(D)];
# DEBUG master => master_47
# DEBUG BEGIN_STMT
baseAddr_48 = g_lpi2cBase[instance_16(D)];
# DEBUG baseAddr => baseAddr_48
# DEBUG BEGIN_STMT
_49 ={v} master_47->i2cIdle;
if (_49 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 4>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_48
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_50 ={v} baseAddr_48->MCR;
# DEBUG regValue => regValue_50
# DEBUG BEGIN_STMT
regValue_51 = regValue_50 & 4294967294;
# DEBUG regValue => regValue_51
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_51
# DEBUG BEGIN_STMT
baseAddr_48->MCR ={v} regValue_51;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_BaudRateConfig (baseAddr_48, _12);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_48
# DEBUG baudRate => _12
# DEBUG INLINE_ENTRY Lpi2c_Ip_HSBaudRateConfig
# DEBUG BEGIN_STMT
_88 = _12->setHoldHS;
_89 = (unsigned char) _88;
# DEBUG baseAddr => baseAddr_48
# DEBUG value => _89
# DEBUG INLINE_ENTRY LPI2C_Set_MasterDataValidDelayHS
# DEBUG BEGIN_STMT
tmp_113 ={v} baseAddr_48->MCCR1;
# DEBUG tmp => tmp_113
# DEBUG BEGIN_STMT
tmp_114 = tmp_113 & 3238002687;
# DEBUG tmp => tmp_114
# DEBUG BEGIN_STMT
_115 = (long unsigned int) _89;
_116 = _115 << 24;
_117 = _116 & 1056964608;
tmp_118 = tmp_114 | _117;
# DEBUG tmp => tmp_118
# DEBUG BEGIN_STMT
baseAddr_48->MCCR1 ={v} tmp_118;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_90 = _12->dataValidHS;
_91 = (unsigned char) _90;
# DEBUG baseAddr => baseAddr_48
# DEBUG value => _91
# DEBUG INLINE_ENTRY LPI2C_Set_MasterSetupHoldDelayHS
# DEBUG BEGIN_STMT
tmp_107 ={v} baseAddr_48->MCCR1;
# DEBUG tmp => tmp_107
# DEBUG BEGIN_STMT
tmp_108 = tmp_107 & 4290838527;
# DEBUG tmp => tmp_108
# DEBUG BEGIN_STMT
_109 = (long unsigned int) _91;
_110 = _109 << 16;
_111 = _110 & 4128768;
tmp_112 = tmp_108 | _111;
# DEBUG tmp => tmp_112
# DEBUG BEGIN_STMT
baseAddr_48->MCCR1 ={v} tmp_112;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_92 = _12->clkHIHS;
_93 = (unsigned char) _92;
# DEBUG baseAddr => baseAddr_48
# DEBUG value => _93
# DEBUG INLINE_ENTRY LPI2C_Set_MasterClockHighPeriodHS
# DEBUG BEGIN_STMT
tmp_101 ={v} baseAddr_48->MCCR1;
# DEBUG tmp => tmp_101
# DEBUG BEGIN_STMT
tmp_102 = tmp_101 & 4294951167;
# DEBUG tmp => tmp_102
# DEBUG BEGIN_STMT
_103 = (long unsigned int) _93;
_104 = _103 << 8;
_105 = _104 & 16128;
tmp_106 = tmp_102 | _105;
# DEBUG tmp => tmp_106
# DEBUG BEGIN_STMT
baseAddr_48->MCCR1 ={v} tmp_106;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_94 = _12->clkLOHS;
_95 = (unsigned char) _94;
# DEBUG baseAddr => baseAddr_48
# DEBUG value => _95
# DEBUG INLINE_ENTRY LPI2C_Set_MasterClockLowPeriodHS
# DEBUG BEGIN_STMT
tmp_96 ={v} baseAddr_48->MCCR1;
# DEBUG tmp => tmp_96
# DEBUG BEGIN_STMT
tmp_97 = tmp_96 & 4294967232;
# DEBUG tmp => tmp_97
# DEBUG BEGIN_STMT
_98 = _95 & 63;
_99 = (long unsigned int) _98;
tmp_100 = tmp_97 | _99;
# DEBUG tmp => tmp_100
# DEBUG BEGIN_STMT
baseAddr_48->MCCR1 ={v} tmp_100;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG baudRate => NULL
# DEBUG BEGIN_STMT
# DEBUG instance => instance_16(D)
# DEBUG operatingMode => _11
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSetOperatingMode
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_82 = g_lpi2cBase[instance_16(D)];
# DEBUG baseAddr => baseAddr_82
# DEBUG BEGIN_STMT
master_83 = g_lpi2cMasterStatePtr[instance_16(D)];
# DEBUG master => master_83
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_82
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterPinConfig
# DEBUG BEGIN_STMT
tmp_84 ={v} baseAddr_82->MCFGR1;
# DEBUG tmp => tmp_84
# DEBUG BEGIN_STMT
tmp_85 = tmp_84 & 4177526783;
# DEBUG tmp => tmp_85
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_85
# DEBUG BEGIN_STMT
baseAddr_82->MCFGR1 ={v} tmp_85;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_82
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterNACKConfig
# DEBUG BEGIN_STMT
regValue_86 ={v} baseAddr_82->MCFGR1;
# DEBUG regValue => regValue_86
# DEBUG BEGIN_STMT
regValue_87 = regValue_86 & 4294966783;
# DEBUG regValue => regValue_87
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_87
# DEBUG BEGIN_STMT
baseAddr_82->MCFGR1 ={v} regValue_87;
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
master_83->operatingMode = _11;
# DEBUG instance => NULL
# DEBUG operatingMode => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG master => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_48
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_52 ={v} baseAddr_48->MCR;
# DEBUG regValue => regValue_52
# DEBUG BEGIN_STMT
regValue_53 = regValue_52 & 4294967294;
# DEBUG regValue => regValue_53
# DEBUG BEGIN_STMT
regValue_54 = regValue_53 | 1;
# DEBUG regValue => regValue_54
# DEBUG BEGIN_STMT
baseAddr_48->MCR ={v} regValue_54;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 4> [local count: 1073741824]:
# retStatus_55 = PHI <2(2), 0(3)>
# DEBUG retStatus => retStatus_55
# DEBUG BEGIN_STMT
_135 = retStatus_55;
# DEBUG instance => NULL
# DEBUG operatingMode => NULL
# DEBUG baudRate => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG retStatus => NULL
# DEBUG master => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_13 = userConfigPtr_18(D)->slaveAddress;
_14 = userConfigPtr_18(D)->is10bitAddr;
# DEBUG instance => instance_16(D)
# DEBUG address => _13
# DEBUG is10bitAddr => _14
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSetSlaveAddr
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_40 = g_lpi2cMasterStatePtr[instance_16(D)];
# DEBUG master => master_40
# DEBUG BEGIN_STMT
master_40->slaveAddress = _13;
# DEBUG BEGIN_STMT
master_40->is10bitAddr = _14;
# DEBUG instance => NULL
# DEBUG address => NULL
# DEBUG is10bitAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_17
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_37 ={v} baseAddr_17->MCR;
# DEBUG regValue => regValue_37
# DEBUG BEGIN_STMT
regValue_38 = regValue_37 & 4294967294;
# DEBUG regValue => regValue_38
# DEBUG BEGIN_STMT
regValue_39 = regValue_38 | 1;
# DEBUG regValue => regValue_39
# DEBUG BEGIN_STMT
baseAddr_17->MCR ={v} regValue_39;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpi2c_Ip_MasterDeinit (Lpi2c_Ip_MasterDeinit, funcdef_no=105, decl_uid=4438, cgraph_uid=106, symbol_order=110)
Lpi2c_Ip_MasterDeinit (uint32 instance)
{
uint32 regValue;
struct LPI2C_Type * baseAddr;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_3 = g_lpi2cBase[instance_2(D)];
# DEBUG baseAddr => baseAddr_3
# DEBUG BEGIN_STMT
# DEBUG D#2 => g_lpi2cMasterStatePtr[instance_2(D)]
# DEBUG master => D#2
# DEBUG BEGIN_STMT
g_lpi2cMasterStatePtr[instance_2(D)] = 0B;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_3
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterEnable
# DEBUG BEGIN_STMT
regValue_5 ={v} baseAddr_3->MCR;
# DEBUG regValue => regValue_5
# DEBUG BEGIN_STMT
regValue_6 = regValue_5 & 4294967294;
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_6
# DEBUG BEGIN_STMT
baseAddr_3->MCR ={v} regValue_6;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpi2c_Ip_MasterGetBaudRate (Lpi2c_Ip_MasterGetBaudRate, funcdef_no=106, decl_uid=4442, cgraph_uid=107, symbol_order=111)
Lpi2c_Ip_MasterGetBaudRate (uint32 instance, uint32 inputClock, uint32 * baudRate)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
const struct Lpi2c_Ip_MasterStateType * master;
const struct LPI2C_Type * baseAddr;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
<unnamed type> _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _22;
long unsigned int _29;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_13 = g_lpi2cBase[instance_12(D)];
# DEBUG baseAddr => baseAddr_13
# DEBUG BEGIN_STMT
master_14 = g_lpi2cMasterStatePtr[instance_12(D)];
# DEBUG master => master_14
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterPrescaler
# DEBUG BEGIN_STMT
tmp_24 ={v} baseAddr_13->MCFGR1;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
tmp_25 = tmp_24 & 7;
# DEBUG tmp => tmp_25
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG prescaler => tmp_25
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockHighPeriod
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_13->MCCR0;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
_22 = tmp_21 >> 8;
tmp_23 = _22 & 63;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkHi => tmp_23
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockLowPeriod
# DEBUG BEGIN_STMT
tmp_19 ={v} baseAddr_13->MCCR0;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
tmp_20 = tmp_19 & 63;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkLo => tmp_20
# DEBUG BEGIN_STMT
_1 = tmp_20 + tmp_23;
_2 = _1 + 2;
_3 = _2 << tmp_25;
_4 = inputClock_15(D) / _3;
*baudRate_16(D) = _4;
# DEBUG BEGIN_STMT
_5 = master_14->operatingMode;
if (_5 == 3)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockHighPeriodHS
# DEBUG BEGIN_STMT
tmp_28 ={v} baseAddr_13->MCCR1;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
_29 = tmp_28 >> 8;
tmp_30 = _29 & 63;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkHi => tmp_30
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_13
# DEBUG INLINE_ENTRY LPI2C_Get_MasterClockLowPeriodHS
# DEBUG BEGIN_STMT
tmp_26 ={v} baseAddr_13->MCCR1;
# DEBUG tmp => tmp_26
# DEBUG BEGIN_STMT
tmp_27 = tmp_26 & 63;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG clkLo => tmp_27
# DEBUG BEGIN_STMT
_6 = tmp_27 + tmp_30;
_7 = _6 + 2;
_8 = _7 << tmp_25;
_9 = inputClock_15(D) / _8;
*baudRate_16(D) = _9;
<bb 4> [local count: 1073741824]:
return;
}
;; Function Lpi2c_Ip_MasterSetSlaveAddr (Lpi2c_Ip_MasterSetSlaveAddr, funcdef_no=107, decl_uid=4451, cgraph_uid=108, symbol_order=112)
Lpi2c_Ip_MasterSetSlaveAddr (uint32 instance, const uint16 address, const boolean is10bitAddr)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_3 = g_lpi2cMasterStatePtr[instance_2(D)];
# DEBUG master => master_3
# DEBUG BEGIN_STMT
master_3->slaveAddress = address_4(D);
# DEBUG BEGIN_STMT
master_3->is10bitAddr = is10bitAddr_6(D);
return;
}
;; Function Lpi2c_Ip_MasterSendData (Lpi2c_Ip_MasterSendData, funcdef_no=108, decl_uid=4456, cgraph_uid=109, symbol_order=113)
Lpi2c_Ip_MasterSendData (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop)
{
uint32 tmp;
uint32 tmp;
Lpi2c_Ip_StatusType retStatus;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
master_7 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_7
# DEBUG BEGIN_STMT
_1 ={v} master_7->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 4>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
master_7->bufferSize = txSize_8(D);
# DEBUG BEGIN_STMT
master_7->dataBuffer = txBuff_10(D);
# DEBUG BEGIN_STMT
master_7->direction = 0;
# DEBUG BEGIN_STMT
master_7->sendStop = sendStop_13(D);
# DEBUG BEGIN_STMT
master_7->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_7->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_6, master_7, 0);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_6, master_7);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG value => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterTxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_21 ={v} baseAddr_6->MFCR;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
tmp_22 = tmp_21 & 4294967292;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
baseAddr_6->MFCR ={v} tmp_22;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 15361
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_19 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_19
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_20 = tmp_19 | 15361;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_20;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
<bb 4> [local count: 1073741824]:
# retStatus_2 = PHI <2(2), 0(3)>
# DEBUG retStatus => retStatus_2
# DEBUG BEGIN_STMT
return retStatus_2;
}
;; Function Lpi2c_Ip_MasterSendDataBlocking (Lpi2c_Ip_MasterSendDataBlocking, funcdef_no=110, decl_uid=4462, cgraph_uid=111, symbol_order=115)
Symbols to be put in SSA form
{ D.5732 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 24
Number of blocks to update: 23 ( 96%)
Merging blocks 3 and 12
Merging blocks 4 and 15
Removing basic block 10
Merging blocks 23 and 14
Merging blocks 3 and 13
Merging blocks 3 and 11
;; 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
;;
;; Loop 1
;; header 4, latch 13
;; depth 1, outer 0
;; nodes: 4 13 12 6 7 9 10 11 8 5
;; 2 succs { 3 17 }
;; 3 succs { 4 }
;; 4 succs { 5 12 }
;; 5 succs { 7 6 }
;; 6 succs { 8 12 }
;; 7 succs { 12 }
;; 8 succs { 9 11 }
;; 9 succs { 10 12 }
;; 10 succs { 12 }
;; 11 succs { 12 }
;; 12 succs { 13 14 }
;; 13 succs { 4 14 }
;; 14 succs { 15 16 }
;; 15 succs { 16 }
;; 16 succs { 17 }
;; 17 succs { 1 }
Lpi2c_Ip_MasterSendDataBlocking (uint32 instance, uint8 * txBuff, uint32 txSize, boolean sendStop, uint32 timeout)
{
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
uint32 tmp;
const struct Lpi2c_Ip_MasterStateType * master;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
Lpi2c_Ip_StatusType retStatus;
uint32 TimeoutTicks;
uint32 ElapsedTicks;
uint32 CurrentTicks;
_Bool _1;
long unsigned int _2;
long unsigned int _31;
<unnamed type> _37;
_Bool _43;
unsigned char _44;
unsigned char _45;
uint8 * _46;
long unsigned int _47;
_Bool _48;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _49;
unsigned char _50;
<bb 2> [local count: 240451187]:
# DEBUG BEGIN_STMT
CurrentTicks = 0;
# DEBUG BEGIN_STMT
# DEBUG ElapsedTicks => 0
# DEBUG BEGIN_STMT
TimeoutTicks_13 = OsIf_MicrosToTicks (timeout_11(D), 1);
# DEBUG TimeoutTicks => TimeoutTicks_13
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_15 = g_lpi2cBase[instance_14(D)];
# DEBUG baseAddr => baseAddr_15
# DEBUG BEGIN_STMT
master_16 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_16
# DEBUG BEGIN_STMT
_1 ={v} master_16->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 17>; [52.23%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
master_16->bufferSize = txSize_17(D);
# DEBUG BEGIN_STMT
master_16->dataBuffer = txBuff_19(D);
# DEBUG BEGIN_STMT
master_16->direction = 0;
# DEBUG BEGIN_STMT
master_16->sendStop = sendStop_22(D);
# DEBUG BEGIN_STMT
master_16->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_16->status ={v} 2;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_15
# DEBUG master => master_16
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterInitSendTransfer
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendAddress (baseAddr_15, master_16, 0);
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_15, master_16);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_15
# DEBUG value => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterTxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_38 ={v} baseAddr_15->MFCR;
# DEBUG tmp => tmp_38
# DEBUG BEGIN_STMT
tmp_39 = tmp_38 & 4294967292;
# DEBUG tmp => tmp_39
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_39
# DEBUG BEGIN_STMT
baseAddr_15->MFCR ={v} tmp_39;
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_2 = OsIf_GetCounter (1);
CurrentTicks = _2;
<bb 4> [local count: 1073741824]:
# ElapsedTicks_3 = PHI <0(3), ElapsedTicks_32(13)>
# DEBUG ElapsedTicks => ElapsedTicks_3
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterSend
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG masterCmdQueueEmpty => 0
# DEBUG BEGIN_STMT
baseAddr_40 = g_lpi2cBase[instance_14(D)];
# DEBUG baseAddr => baseAddr_40
# DEBUG BEGIN_STMT
master_41 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_41
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_40
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTransmitDataRequestEvent
# DEBUG BEGIN_STMT
regValue_42 ={v} MEM[(const struct LPI2C_Type *)baseAddr_40].MSR;
# DEBUG regValue => regValue_42
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_42 & 1
# DEBUG BEGIN_STMT
_43 = (_Bool) regValue_42;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_43 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG master => master_41
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_44 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_41].cmdQueue.writeIdx;
_45 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_41].cmdQueue.readIdx;
# DEBUG master => NULL
if (_44 != _45)
goto <bb 7>; [48.88%]
else
goto <bb 6>; [51.12%]
<bb 6> [local count: 274448410]:
# DEBUG masterCmdQueueEmpty => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_46 = master_41->dataBuffer;
if (_46 != 0B)
goto <bb 8>; [70.00%]
else
goto <bb 12>; [30.00%]
<bb 7> [local count: 262422502]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendQueuedCmd (baseAddr_40, master_41);
# DEBUG masterCmdQueueEmpty => 0
# DEBUG BEGIN_STMT
goto <bb 12>; [100.00%]
<bb 8> [local count: 192113887]:
# DEBUG BEGIN_STMT
_47 = master_41->bufferSize;
if (_47 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 9> [local count: 96056944]:
# DEBUG BEGIN_STMT
_48 = master_41->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_40, master_41, _48, 0);
# DEBUG BEGIN_STMT
master_41->status ={v} 0;
# DEBUG BEGIN_STMT
_49 = master_41->masterCallback;
if (_49 != 0B)
goto <bb 10>; [70.00%]
else
goto <bb 12>; [30.00%]
<bb 10> [local count: 67239861]:
# DEBUG BEGIN_STMT
_50 = master_41->callbackParam;
_49 (11, _50);
goto <bb 12>; [100.00%]
<bb 11> [local count: 96056944]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_40, master_41);
<bb 12> [local count: 1073741824]:
# DEBUG masterCmdQueueEmpty => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_40, master_41);
# DEBUG instance => NULL
# DEBUG regValue => NULL
# DEBUG master => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_31 = OsIf_GetElapsed (&CurrentTicks, 1);
ElapsedTicks_32 = ElapsedTicks_3 + _31;
# DEBUG ElapsedTicks => ElapsedTicks_32
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG bytesRemaining => 0B
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterGetTransferStatus
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_36 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_36
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_37 ={v} master_36->status;
# DEBUG instance => NULL
# DEBUG bytesRemaining => NULL
# DEBUG master => NULL
if (_37 == 2)
goto <bb 13>; [94.50%]
else
goto <bb 14>; [5.50%]
<bb 13> [local count: 1014686025]:
if (TimeoutTicks_13 > ElapsedTicks_32)
goto <bb 4>; [94.50%]
else
goto <bb 14>; [5.50%]
<bb 14> [local count: 114863532]:
# ElapsedTicks_10 = PHI <ElapsedTicks_32(12), ElapsedTicks_32(13)>
# DEBUG BEGIN_STMT
if (ElapsedTicks_10 >= TimeoutTicks_13)
goto <bb 15>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 15> [local count: 57431766]:
# DEBUG BEGIN_STMT
master_16->status ={v} 9;
<bb 16> [local count: 114863532]:
# DEBUG BEGIN_STMT
retStatus_34 ={v} master_16->status;
# DEBUG retStatus => retStatus_34
<bb 17> [local count: 240451187]:
# retStatus_4 = PHI <2(2), retStatus_34(16)>
# DEBUG retStatus => retStatus_4
# DEBUG BEGIN_STMT
CurrentTicks ={v} {CLOBBER};
return retStatus_4;
}
;; Function Lpi2c_Ip_MasterReceiveData (Lpi2c_Ip_MasterReceiveData, funcdef_no=112, decl_uid=4467, cgraph_uid=113, symbol_order=117)
Lpi2c_Ip_MasterReceiveData (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop)
{
uint32 tmp;
uint32 tmp;
Lpi2c_Ip_StatusType retStatus;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
_Bool _1;
unsigned char _18;
unsigned char _19;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
master_7 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_7
# DEBUG BEGIN_STMT
_1 ={v} master_7->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 6>; [52.23%]
<bb 3> [local count: 512926469]:
# DEBUG BEGIN_STMT
# DEBUG retStatus => 0
# DEBUG BEGIN_STMT
master_7->bufferSize = rxSize_8(D);
# DEBUG BEGIN_STMT
master_7->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_7->sendStop = sendStop_11(D);
# DEBUG BEGIN_STMT
master_7->dataBuffer = rxBuff_13(D);
# DEBUG BEGIN_STMT
master_7->direction = 1;
# DEBUG BEGIN_STMT
master_7->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterInterruptReceiveInit (instance_5(D), rxSize_8(D));
# DEBUG BEGIN_STMT
# DEBUG master => master_7
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_18 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_7].cmdQueue.writeIdx;
_19 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_7].cmdQueue.readIdx;
# DEBUG master => NULL
if (_18 != _19)
goto <bb 4>; [66.00%]
else
goto <bb 5>; [34.00%]
<bb 4> [local count: 338531470]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 7171
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_20 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_20
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_21 = tmp_20 | 7171;
# DEBUG tmp => tmp_21
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_21;
goto <bb 6>; [100.00%]
<bb 5> [local count: 174394999]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG interrupts => 7170
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_22 ={v} baseAddr_6->MIER;
# DEBUG tmp => tmp_22
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_23 = tmp_22 | 7170;
# DEBUG tmp => tmp_23
# DEBUG BEGIN_STMT
baseAddr_6->MIER ={v} tmp_23;
<bb 6> [local count: 1073741824]:
# retStatus_2 = PHI <2(2), 0(4), 0(5)>
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG retStatus => retStatus_2
# DEBUG BEGIN_STMT
return retStatus_2;
}
;; Function Lpi2c_Ip_MasterReceiveDataBlocking (Lpi2c_Ip_MasterReceiveDataBlocking, funcdef_no=113, decl_uid=4473, cgraph_uid=114, symbol_order=118)
Symbols to be put in SSA form
{ D.5733 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 27
Number of blocks to update: 26 ( 96%)
Merging blocks 4 and 12
Removing basic block 10
Removing basic block 13
Merging blocks 17 and 26
Merging blocks 18 and 11
Removing basic block 20
Removing basic block 24
Removing basic block 25
;; 3 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
;;
;; Loop 1
;; header 4, latch 14
;; depth 1, outer 0
;; nodes: 4 14 13 9 10 11 12 8 7 6 5
;;
;; Loop 2
;; header 6, latch 5
;; depth 2, outer 1
;; nodes: 6 5 7
;; 2 succs { 3 18 }
;; 3 succs { 4 }
;; 4 succs { 6 13 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 5 8 }
;; 8 succs { 9 11 }
;; 9 succs { 10 13 }
;; 10 succs { 13 }
;; 11 succs { 12 13 }
;; 12 succs { 13 }
;; 13 succs { 14 15 }
;; 14 succs { 4 15 }
;; 15 succs { 16 17 }
;; 16 succs { 17 }
;; 17 succs { 18 }
;; 18 succs { 1 }
Lpi2c_Ip_MasterReceiveDataBlocking (uint32 instance, uint8 * rxBuff, uint32 rxSize, boolean sendStop, uint32 timeout)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_MasterStateType * master;
uint32 regValue;
uint32 tmp;
const struct Lpi2c_Ip_MasterStateType * master;
Lpi2c_Ip_StatusType retStatus;
uint32 TimeoutTicks;
uint32 ElapsedTicks;
uint32 CurrentTicks;
struct Lpi2c_Ip_MasterStateType * master;
_Bool _1;
long unsigned int _2;
long unsigned int _30;
<unnamed type> _36;
long unsigned int _40;
_Bool _41;
long unsigned int _42;
_Bool _43;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _44;
unsigned char _45;
long unsigned int _47;
short unsigned int _49;
short unsigned int _50;
uint8 * _51;
unsigned char _53;
uint8 * _54;
uint8 * _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _59;
short unsigned int _61;
long unsigned int _62;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
<bb 2> [local count: 77946262]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
CurrentTicks = 0;
# DEBUG BEGIN_STMT
# DEBUG ElapsedTicks => 0
# DEBUG BEGIN_STMT
TimeoutTicks_13 = OsIf_MicrosToTicks (timeout_11(D), 1);
# DEBUG TimeoutTicks => TimeoutTicks_13
# DEBUG BEGIN_STMT
# DEBUG retStatus => 2
# DEBUG BEGIN_STMT
master_15 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_15
# DEBUG BEGIN_STMT
_1 ={v} master_15->i2cIdle;
if (_1 != 0)
goto <bb 3>; [47.77%]
else
goto <bb 18>; [52.23%]
<bb 3> [local count: 37234929]:
# DEBUG BEGIN_STMT
master_15->bufferSize = rxSize_16(D);
# DEBUG BEGIN_STMT
master_15->dataBuffer = rxBuff_18(D);
# DEBUG BEGIN_STMT
master_15->direction = 1;
# DEBUG BEGIN_STMT
master_15->sendStop = sendStop_21(D);
# DEBUG BEGIN_STMT
master_15->i2cIdle ={v} 0;
# DEBUG BEGIN_STMT
master_15->status ={v} 2;
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterInterruptReceiveInit (instance_14(D), rxSize_16(D));
# DEBUG BEGIN_STMT
_2 = OsIf_GetCounter (1);
CurrentTicks = _2;
<bb 4> [local count: 348071310]:
# ElapsedTicks_3 = PHI <0(3), ElapsedTicks_31(14)>
# DEBUG ElapsedTicks => ElapsedTicks_3
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterReceive
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_37 = g_lpi2cBase[instance_14(D)];
# DEBUG baseAddr => baseAddr_37
# DEBUG BEGIN_STMT
master_38 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_38
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_37
# DEBUG INLINE_ENTRY LPI2C_Get_MasterReceiveDataReadyEvent
# DEBUG BEGIN_STMT
regValue_39 ={v} MEM[(const struct LPI2C_Type *)baseAddr_37].MSR;
# DEBUG regValue => regValue_39
# DEBUG BEGIN_STMT
_40 = regValue_39 >> 1;
# DEBUG regValue => _40 & 1
# DEBUG BEGIN_STMT
_41 = (_Bool) _40;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_41 != 0)
goto <bb 6>; [33.00%]
else
goto <bb 13>; [67.00%]
<bb 5> [local count: 958878294]:
# DEBUG BEGIN_STMT
_51 = master_38->dataBuffer;
# DEBUG baseAddr => baseAddr_37
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxData
# DEBUG BEGIN_STMT
tmp_52 ={v} MEM[(const struct LPI2C_Type *)baseAddr_37].MRDR;
# DEBUG tmp => tmp_52
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_52 & 255
# DEBUG BEGIN_STMT
_53 = (unsigned char) tmp_52;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_51 = _53;
# DEBUG BEGIN_STMT
_54 = master_38->dataBuffer;
_55 = _54 + 1;
master_38->dataBuffer = _55;
# DEBUG BEGIN_STMT
_56 = master_38->bufferSize;
_57 = _56 + 4294967295;
master_38->bufferSize = _57;
<bb 6> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_37
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOCount
# DEBUG BEGIN_STMT
tmp_58 ={v} MEM[(const struct LPI2C_Type *)baseAddr_37].MFSR;
# DEBUG tmp => tmp_58
# DEBUG BEGIN_STMT
_59 = tmp_58 >> 16;
tmp_60 = _59 & 7;
# DEBUG tmp => tmp_60
# DEBUG BEGIN_STMT
_61 = (short unsigned int) tmp_60;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_61 != 0)
goto <bb 7>; [94.50%]
else
goto <bb 8>; [5.50%]
<bb 7> [local count: 1014686025]:
_62 = master_38->bufferSize;
if (_62 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 8>; [5.50%]
<bb 8> [local count: 114863532]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_42 = master_38->bufferSize;
if (_42 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 9> [local count: 37904965]:
# DEBUG BEGIN_STMT
_43 = master_38->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_37, master_38, _43, 0);
# DEBUG BEGIN_STMT
master_38->status ={v} 0;
# DEBUG BEGIN_STMT
_44 = master_38->masterCallback;
if (_44 != 0B)
goto <bb 10>; [70.00%]
else
goto <bb 13>; [30.00%]
<bb 10> [local count: 26533476]:
# DEBUG BEGIN_STMT
_45 = master_38->callbackParam;
_44 (11, _45);
goto <bb 13>; [100.00%]
<bb 11> [local count: 76958566]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_37
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_46 ={v} MEM[(const struct LPI2C_Type *)baseAddr_37].MFCR;
# DEBUG tmp => tmp_46
# DEBUG BEGIN_STMT
_47 = tmp_46 >> 16;
tmp_48 = _47 & 3;
# DEBUG tmp => tmp_48
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_42 <= tmp_48)
goto <bb 12>; [33.00%]
else
goto <bb 13>; [67.00%]
<bb 12> [local count: 25396327]:
# DEBUG BEGIN_STMT
_49 = (short unsigned int) _42;
_50 = _49 + 65535;
# DEBUG baseAddr => baseAddr_37
# DEBUG value => _50
# DEBUG INLINE_ENTRY LPI2C_Set_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_63 ={v} baseAddr_37->MFCR;
# DEBUG tmp => tmp_63
# DEBUG BEGIN_STMT
tmp_64 = tmp_63 & 4294770687;
# DEBUG tmp => tmp_64
# DEBUG BEGIN_STMT
_65 = (long unsigned int) _50;
_66 = _65 << 16;
_67 = _66 & 196608;
tmp_68 = tmp_64 | _67;
# DEBUG tmp => tmp_68
# DEBUG BEGIN_STMT
baseAddr_37->MFCR ={v} tmp_68;
<bb 13> [local count: 348071310]:
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_37, master_38);
# DEBUG instance => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG master => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_30 = OsIf_GetElapsed (&CurrentTicks, 1);
ElapsedTicks_31 = ElapsedTicks_3 + _30;
# DEBUG ElapsedTicks => ElapsedTicks_31
# DEBUG BEGIN_STMT
# DEBUG instance => instance_14(D)
# DEBUG bytesRemaining => 0B
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterGetTransferStatus
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_35 = g_lpi2cMasterStatePtr[instance_14(D)];
# DEBUG master => master_35
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_36 ={v} master_35->status;
# DEBUG instance => NULL
# DEBUG bytesRemaining => NULL
# DEBUG master => NULL
if (_36 == 2)
goto <bb 14>; [94.50%]
else
goto <bb 15>; [5.50%]
<bb 14> [local count: 328927388]:
if (TimeoutTicks_13 > ElapsedTicks_31)
goto <bb 4>; [94.50%]
else
goto <bb 15>; [5.50%]
<bb 15> [local count: 37234928]:
# ElapsedTicks_10 = PHI <ElapsedTicks_31(13), ElapsedTicks_31(14)>
# DEBUG BEGIN_STMT
if (ElapsedTicks_10 >= TimeoutTicks_13)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 18617464]:
# DEBUG BEGIN_STMT
master_15->status ={v} 9;
<bb 17> [local count: 37234928]:
# DEBUG BEGIN_STMT
retStatus_33 ={v} master_15->status;
# DEBUG retStatus => retStatus_33
<bb 18> [local count: 77946261]:
# retStatus_4 = PHI <2(2), retStatus_33(17)>
# DEBUG retStatus => retStatus_4
# DEBUG BEGIN_STMT
CurrentTicks ={v} {CLOBBER};
return retStatus_4;
}
;; Function Lpi2c_Ip_MasterGetTransferStatus (Lpi2c_Ip_MasterGetTransferStatus, funcdef_no=114, decl_uid=4476, cgraph_uid=115, symbol_order=119)
Lpi2c_Ip_MasterGetTransferStatus (uint32 instance, uint32 * bytesRemaining)
{
const struct Lpi2c_Ip_MasterStateType * master;
<unnamed type> _1;
long unsigned int _2;
Lpi2c_Ip_StatusType _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_6 = g_lpi2cMasterStatePtr[instance_5(D)];
# DEBUG master => master_6
# DEBUG BEGIN_STMT
if (bytesRemaining_7(D) != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 3> [local count: 751619278]:
_1 = master_6->transferType;
if (_1 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 255550554]:
# DEBUG BEGIN_STMT
_2 = master_6->bufferSize;
*bytesRemaining_7(D) = _2;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_9 ={v} master_6->status;
return _9;
}
;; Function Lpi2c_Ip_MasterIRQHandler (Lpi2c_Ip_MasterIRQHandler, funcdef_no=116, decl_uid=4478, cgraph_uid=117, symbol_order=121)
Symbols to be put in SSA form
{ D.5734 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 37
Number of blocks to update: 36 ( 97%)
Merging blocks 2 and 8
Removing basic block 9
Removing basic block 11
Merging blocks 12 and 7
Removing basic block 13
Removing basic block 24
Removing basic block 25
Merging blocks 33 and 36
Removing basic block 35
;; 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
;;
;; Loop 1
;; header 15, latch 14
;; depth 1, outer 0
;; nodes: 15 14 16
;; 2 succs { 3 13 }
;; 3 succs { 4 5 }
;; 4 succs { 12 }
;; 5 succs { 6 11 }
;; 6 succs { 7 11 }
;; 7 succs { 8 10 }
;; 8 succs { 9 12 }
;; 9 succs { 12 }
;; 10 succs { 12 }
;; 11 succs { 12 }
;; 12 succs { 13 }
;; 13 succs { 15 23 }
;; 14 succs { 15 }
;; 15 succs { 16 17 }
;; 16 succs { 14 17 }
;; 17 succs { 18 20 }
;; 18 succs { 19 22 }
;; 19 succs { 22 }
;; 20 succs { 21 22 }
;; 21 succs { 22 }
;; 22 succs { 23 }
;; 23 succs { 24 27 }
;; 24 succs { 25 26 }
;; 25 succs { 26 }
;; 26 succs { 27 }
;; 27 succs { 1 }
Lpi2c_Ip_MasterIRQHandler (uint32 instance)
{
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 regValue;
uint32 regValue;
uint32 regValue;
struct Lpi2c_Ip_MasterStateType * master;
struct LPI2C_Type * baseAddr;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _1;
unsigned char _2;
long unsigned int _13;
_Bool _14;
_Bool _17;
long unsigned int _19;
_Bool _20;
unsigned char _21;
unsigned char _22;
uint8 * _23;
<unnamed type> _24;
long unsigned int _25;
_Bool _26;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _27;
unsigned char _28;
uint8 * _31;
unsigned char _33;
uint8 * _34;
uint8 * _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _39;
short unsigned int _41;
long unsigned int _42;
long unsigned int _43;
_Bool _44;
void (*<T2dc>) (Lpi2c_Ip_MasterEventType, uint8) _45;
unsigned char _46;
long unsigned int _48;
short unsigned int _50;
short unsigned int _51;
long unsigned int _54;
long unsigned int _55;
long unsigned int _56;
<bb 2> [local count: 348071309]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_7 = g_lpi2cBase[instance_6(D)];
# DEBUG baseAddr => baseAddr_7
# DEBUG BEGIN_STMT
master_8 = g_lpi2cMasterStatePtr[instance_6(D)];
# DEBUG master => master_8
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG master => master_8
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCheckDataTxRxEvent
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterTransmitDataRequestEvent
# DEBUG BEGIN_STMT
regValue_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MSR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_16 & 1
# DEBUG BEGIN_STMT
_17 = (_Bool) regValue_16;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_17 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 13>; [67.00%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG master => master_8
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterHandleTransmitDataRequest
# DEBUG BEGIN_STMT
# DEBUG master => master_8
# DEBUG INLINE_ENTRY Lpi2c_Ip_MasterCmdQueueEmpty
# DEBUG BEGIN_STMT
_21 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_8].cmdQueue.writeIdx;
_22 = MEM[(const struct Lpi2c_Ip_MasterStateType *)master_8].cmdQueue.readIdx;
# DEBUG master => NULL
if (_21 != _22)
goto <bb 4>; [48.88%]
else
goto <bb 5>; [51.12%]
<bb 4> [local count: 56145294]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterSendQueuedCmd (baseAddr_7, master_8);
goto <bb 12>; [100.00%]
<bb 5> [local count: 58718238]:
# DEBUG BEGIN_STMT
_23 = master_8->dataBuffer;
if (_23 != 0B)
goto <bb 6>; [70.00%]
else
goto <bb 11>; [30.00%]
<bb 6> [local count: 41102766]:
_24 = master_8->direction;
if (_24 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 7> [local count: 20551383]:
# DEBUG BEGIN_STMT
_25 = master_8->bufferSize;
if (_25 == 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 10275692]:
# DEBUG BEGIN_STMT
_26 = master_8->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_7, master_8, _26, 0);
# DEBUG BEGIN_STMT
master_8->status ={v} 0;
# DEBUG BEGIN_STMT
_27 = master_8->masterCallback;
if (_27 != 0B)
goto <bb 9>; [70.00%]
else
goto <bb 12>; [30.00%]
<bb 9> [local count: 7192984]:
# DEBUG BEGIN_STMT
_28 = master_8->callbackParam;
_27 (11, _28);
goto <bb 12>; [100.00%]
<bb 10> [local count: 10275692]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterQueueData (baseAddr_7, master_8);
goto <bb 12>; [100.00%]
<bb 11> [local count: 38166854]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_MasterInt
# DEBUG BEGIN_STMT
tmp_29 ={v} baseAddr_7->MIER;
# DEBUG tmp => tmp_29
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_30 = tmp_29 & 4294967294;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
baseAddr_7->MIER ={v} tmp_30;
<bb 12> [local count: 114863532]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
<bb 13> [local count: 348071309]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterReceiveDataReadyEvent
# DEBUG BEGIN_STMT
regValue_18 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MSR;
# DEBUG regValue => regValue_18
# DEBUG BEGIN_STMT
_19 = regValue_18 >> 1;
# DEBUG regValue => _19 & 1
# DEBUG BEGIN_STMT
_20 = (_Bool) _19;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_20 != 0)
goto <bb 15>; [33.00%]
else
goto <bb 23>; [67.00%]
<bb 14> [local count: 958878292]:
# DEBUG BEGIN_STMT
_31 = master_8->dataBuffer;
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxData
# DEBUG BEGIN_STMT
tmp_32 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MRDR;
# DEBUG tmp => tmp_32
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_32 & 255
# DEBUG BEGIN_STMT
_33 = (unsigned char) tmp_32;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_31 = _33;
# DEBUG BEGIN_STMT
_34 = master_8->dataBuffer;
_35 = _34 + 1;
master_8->dataBuffer = _35;
# DEBUG BEGIN_STMT
_36 = master_8->bufferSize;
_37 = _36 + 4294967295;
master_8->bufferSize = _37;
<bb 15> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOCount
# DEBUG BEGIN_STMT
tmp_38 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MFSR;
# DEBUG tmp => tmp_38
# DEBUG BEGIN_STMT
_39 = tmp_38 >> 16;
tmp_40 = _39 & 7;
# DEBUG tmp => tmp_40
# DEBUG BEGIN_STMT
_41 = (short unsigned int) tmp_40;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_41 != 0)
goto <bb 16>; [94.50%]
else
goto <bb 17>; [5.50%]
<bb 16> [local count: 1014686025]:
_42 = master_8->bufferSize;
if (_42 != 0)
goto <bb 14>; [94.50%]
else
goto <bb 17>; [5.50%]
<bb 17> [local count: 114863532]:
# DEBUG BEGIN_STMT
_43 = master_8->bufferSize;
if (_43 == 0)
goto <bb 18>; [33.00%]
else
goto <bb 20>; [67.00%]
<bb 18> [local count: 37904965]:
# DEBUG BEGIN_STMT
_44 = master_8->sendStop;
Lpi2c_Ip_MasterEndTransfer (baseAddr_7, master_8, _44, 0);
# DEBUG BEGIN_STMT
master_8->status ={v} 0;
# DEBUG BEGIN_STMT
_45 = master_8->masterCallback;
if (_45 != 0B)
goto <bb 19>; [70.00%]
else
goto <bb 22>; [30.00%]
<bb 19> [local count: 26533476]:
# DEBUG BEGIN_STMT
_46 = master_8->callbackParam;
_45 (11, _46);
goto <bb 22>; [100.00%]
<bb 20> [local count: 76958566]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_47 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MFCR;
# DEBUG tmp => tmp_47
# DEBUG BEGIN_STMT
_48 = tmp_47 >> 16;
tmp_49 = _48 & 3;
# DEBUG tmp => tmp_49
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
if (_43 <= tmp_49)
goto <bb 21>; [33.00%]
else
goto <bb 22>; [67.00%]
<bb 21> [local count: 25396327]:
# DEBUG BEGIN_STMT
_50 = (short unsigned int) _43;
_51 = _50 + 65535;
# DEBUG baseAddr => baseAddr_7
# DEBUG value => _51
# DEBUG INLINE_ENTRY LPI2C_Set_MasterRxFIFOWatermark
# DEBUG BEGIN_STMT
tmp_52 ={v} baseAddr_7->MFCR;
# DEBUG tmp => tmp_52
# DEBUG BEGIN_STMT
tmp_53 = tmp_52 & 4294770687;
# DEBUG tmp => tmp_53
# DEBUG BEGIN_STMT
_54 = (long unsigned int) _51;
_55 = _54 << 16;
_56 = _55 & 196608;
tmp_57 = tmp_53 | _56;
# DEBUG tmp => tmp_57
# DEBUG BEGIN_STMT
baseAddr_7->MFCR ={v} tmp_57;
<bb 22> [local count: 114863532]:
# DEBUG baseAddr => NULL
# DEBUG value => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
<bb 23> [local count: 348071309]:
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG master => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterCheckErrorEvents (baseAddr_7, master_8);
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Get_MasterPinLowTimeoutEvent
# DEBUG BEGIN_STMT
regValue_12 ={v} MEM[(const struct LPI2C_Type *)baseAddr_7].MSR;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
_13 = regValue_12 >> 13;
# DEBUG regValue => _13 & 1
# DEBUG BEGIN_STMT
_14 = (_Bool) _13;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_14 != 0)
goto <bb 24>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 24> [local count: 174035654]:
# DEBUG BEGIN_STMT
_1 = master_8->masterCallback;
if (_1 != 0B)
goto <bb 25>; [70.00%]
else
goto <bb 26>; [30.00%]
<bb 25> [local count: 121824958]:
# DEBUG BEGIN_STMT
_2 = master_8->callbackParam;
_1 (12, _2);
<bb 26> [local count: 174035654]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_7
# DEBUG INLINE_ENTRY LPI2C_Clear_MasterPinLowTimeoutEvent
# DEBUG BEGIN_STMT
baseAddr_7->MSR ={v} 8192;
<bb 27> [local count: 348071309]:
# DEBUG baseAddr => NULL
return;
}
;; Function Lpi2c_Ip_SlaveInit (Lpi2c_Ip_SlaveInit, funcdef_no=120, decl_uid=4481, cgraph_uid=121, symbol_order=125)
Symbols to be put in SSA form
{ D.5735 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 28
Number of blocks to update: 27 ( 96%)
Merging blocks 2 and 12
Removing basic block 6
Merging blocks 10 and 21
Merging blocks 15 and 11
Merging blocks 23 and 20
Removing basic block 24
Removing basic block 26
Merging blocks 2 and 17
Merging blocks 2 and 16
Merging blocks 15 and 8
Merging blocks 15 and 19
Merging blocks 15 and 18
Merging blocks 23 and 7
Merging blocks 23 and 27
Merging blocks 23 and 25
Merging blocks 23 and 5
;; 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
;; 2 succs { 3 4 }
;; 3 succs { 5 }
;; 4 succs { 5 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 9 8 }
;; 8 succs { 9 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 1 }
Lpi2c_Ip_SlaveInit (uint32 instance, const struct Lpi2c_Ip_SlaveConfigType * userConfigPtr)
{
uint32 tmp;
uint32 tmp;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 regValue;
uint32 tmp;
uint32 tmp;
uint32 tmp;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_SlaveStateType * slave;
boolean bHighSpeedMode;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_SlaveStateType * _1;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _2;
unsigned char _3;
<unnamed type> _4;
long unsigned int _5;
long unsigned int _6;
_Bool _7;
_Bool _8;
short unsigned int _9;
_Bool _10;
<unnamed type> _11;
long unsigned int _12;
long unsigned int _13;
_Bool _14;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int iftmp.6_70;
long unsigned int _74;
long unsigned int _75;
long unsigned int _79;
long unsigned int _80;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_18 = g_lpi2cBase[instance_17(D)];
# DEBUG baseAddr => baseAddr_18
# DEBUG BEGIN_STMT
_1 = userConfigPtr_19(D)->slaveState;
g_lpi2cSlaveStatePtr[instance_17(D)] = _1;
# DEBUG BEGIN_STMT
# DEBUG slave => _1
# DEBUG BEGIN_STMT
_1->status = 0;
# DEBUG BEGIN_STMT
_2 = userConfigPtr_19(D)->slaveCallback;
_1->slaveCallback = _2;
# DEBUG BEGIN_STMT
_3 = userConfigPtr_19(D)->callbackParam;
_1->callbackParam = _3;
# DEBUG BEGIN_STMT
_1->dataBuffer = 0B;
# DEBUG BEGIN_STMT
_1->bufferSize = 0;
# DEBUG BEGIN_STMT
_1->direction = 0;
# DEBUG BEGIN_STMT
_4 = userConfigPtr_19(D)->transferType;
_1->transferType = _4;
# DEBUG BEGIN_STMT
_5 = userConfigPtr_19(D)->dmaTxChannel;
_1->dmaTxChannel = _5;
# DEBUG BEGIN_STMT
_6 = userConfigPtr_19(D)->dmaRxChannel;
_1->dmaRxChannel = _6;
# DEBUG BEGIN_STMT
_1->isTransferInProgress ={v} 0;
# DEBUG BEGIN_STMT
_7 = userConfigPtr_19(D)->is10bitAddr;
_1->is10bitAddress = _7;
# DEBUG BEGIN_STMT
_1->repeatedStarts = 0;
# DEBUG BEGIN_STMT
_8 = userConfigPtr_19(D)->slaveListening;
_1->slaveListening = _8;
# DEBUG BEGIN_STMT
LPI2C_Init (baseAddr_18);
# DEBUG BEGIN_STMT
_9 = userConfigPtr_19(D)->slaveAddress;
_10 = userConfigPtr_19(D)->is10bitAddr;
# DEBUG baseAddr => baseAddr_18
# DEBUG slaveAddr => _9
# DEBUG is10bitAddr => _10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveConigureAddress
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_18
# DEBUG addr => _9
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddr0
# DEBUG BEGIN_STMT
tmp_47 ={v} baseAddr_18->SAMR;
# DEBUG tmp => tmp_47
# DEBUG BEGIN_STMT
tmp_48 = tmp_47 & 4294965249;
# DEBUG tmp => tmp_48
# DEBUG BEGIN_STMT
_49 = (long unsigned int) _9;
_50 = _49 << 1;
_51 = _50 & 2046;
tmp_52 = tmp_48 | _51;
# DEBUG tmp => tmp_52
# DEBUG BEGIN_STMT
baseAddr_18->SAMR ={v} tmp_52;
# DEBUG baseAddr => NULL
# DEBUG addr => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (_10 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_18
# DEBUG configuration => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrConfig
# DEBUG BEGIN_STMT
tmp_42 ={v} baseAddr_18->SCFGR1;
# DEBUG tmp => tmp_42
# DEBUG BEGIN_STMT
tmp_43 = tmp_42 & 4294508543;
# DEBUG tmp => tmp_43
# DEBUG BEGIN_STMT
tmp_44 = tmp_43 | 65536;
# DEBUG tmp => tmp_44
# DEBUG BEGIN_STMT
baseAddr_18->SCFGR1 ={v} tmp_44;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_18
# DEBUG configuration => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrConfig
# DEBUG BEGIN_STMT
tmp_45 ={v} baseAddr_18->SCFGR1;
# DEBUG tmp => tmp_45
# DEBUG BEGIN_STMT
tmp_46 = tmp_45 & 4294508543;
# DEBUG tmp => tmp_46
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_46
# DEBUG BEGIN_STMT
baseAddr_18->SCFGR1 ={v} tmp_46;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG configuration => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG slaveAddr => NULL
# DEBUG is10bitAddr => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_11 = userConfigPtr_19(D)->operatingMode;
# DEBUG instance => instance_17(D)
# DEBUG operatingMode => _11
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveSetOperatingMode
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bHighSpeedMode => 0
# DEBUG BEGIN_STMT
baseAddr_39 = g_lpi2cBase[instance_17(D)];
# DEBUG baseAddr => baseAddr_39
# DEBUG BEGIN_STMT
slave_40 = g_lpi2cSlaveStatePtr[instance_17(D)];
# DEBUG slave => slave_40
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveConfigureNormalMode
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG nack_config => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveIgnoreNACK
# DEBUG BEGIN_STMT
regValue_53 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_53
# DEBUG BEGIN_STMT
regValue_54 = regValue_53 & 4294963199;
# DEBUG regValue => regValue_54
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_54
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_54;
# DEBUG baseAddr => NULL
# DEBUG nack_config => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG nack => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTransmitNACK
# DEBUG BEGIN_STMT
regValue_55 ={v} baseAddr_39->STAR;
# DEBUG regValue => regValue_55
# DEBUG BEGIN_STMT
regValue_56 = regValue_55 & 4294967294;
# DEBUG regValue => regValue_56
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_56
# DEBUG BEGIN_STMT
baseAddr_39->STAR ={v} regValue_56;
# DEBUG baseAddr => NULL
# DEBUG nack => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveACKStall
# DEBUG BEGIN_STMT
regValue_57 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_57
# DEBUG BEGIN_STMT
regValue_58 = regValue_57 & 4294967287;
# DEBUG regValue => regValue_58
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_58
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_58;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTXDStall
# DEBUG BEGIN_STMT
regValue_59 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_59
# DEBUG BEGIN_STMT
regValue_60 = regValue_59 & 4294967291;
# DEBUG regValue => regValue_60
# DEBUG BEGIN_STMT
regValue_61 = regValue_60 | 4;
# DEBUG regValue => regValue_61
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_61;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveRXStall
# DEBUG BEGIN_STMT
regValue_62 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_62
# DEBUG BEGIN_STMT
regValue_63 = regValue_62 & 4294967293;
# DEBUG regValue => regValue_63
# DEBUG BEGIN_STMT
regValue_64 = regValue_63 | 2;
# DEBUG regValue => regValue_64
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_64;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveAddrStall
# DEBUG BEGIN_STMT
regValue_65 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_65
# DEBUG BEGIN_STMT
regValue_66 = regValue_65 & 4294967294;
# DEBUG regValue => regValue_66
# DEBUG BEGIN_STMT
regValue_67 = regValue_66 | 1;
# DEBUG regValue => regValue_67
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_67;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
if (_11 == 3)
goto <bb 6>; [34.00%]
else
goto <bb 7>; [66.00%]
<bb 6> [local count: 365072220]:
# DEBUG BEGIN_STMT
# DEBUG bHighSpeedMode => 1
<bb 7> [local count: 1073741824]:
# bHighSpeedMode_41 = PHI <0(5), 1(6)>
# DEBUG bHighSpeedMode => bHighSpeedMode_41
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_39
# DEBUG enable => bHighSpeedMode_41
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveHighSpeedModeDetect
# DEBUG BEGIN_STMT
regValue_68 ={v} baseAddr_39->SCFGR1;
# DEBUG regValue => regValue_68
# DEBUG BEGIN_STMT
regValue_69 = regValue_68 & 4294959103;
# DEBUG regValue => regValue_69
# DEBUG BEGIN_STMT
if (bHighSpeedMode_41 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 536870913]:
<bb 9> [local count: 1073741824]:
# iftmp.6_70 = PHI <8192(7), 0(8)>
regValue_71 = regValue_69 | iftmp.6_70;
# DEBUG regValue => regValue_71
# DEBUG BEGIN_STMT
baseAddr_39->SCFGR1 ={v} regValue_71;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
slave_40->operatingMode = _11;
# DEBUG instance => NULL
# DEBUG operatingMode => NULL
# DEBUG bHighSpeedMode => NULL
# DEBUG slave => NULL
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
_12 = userConfigPtr_19(D)->u32GlitchFilterSDA;
_13 = userConfigPtr_19(D)->u32GlitchFilterSCL;
# DEBUG baseAddr => baseAddr_18
# DEBUG u32GlitchFilterSDA => _12
# DEBUG u32GlitchFilterSCL => _13
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveConfigureGlitchFilter
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_18
# DEBUG cycles => _12
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveGlitchFilterSDA
# DEBUG BEGIN_STMT
tmp_77 ={v} baseAddr_18->SCFGR2;
# DEBUG tmp => tmp_77
# DEBUG BEGIN_STMT
tmp_78 = tmp_77 & 4043309055;
# DEBUG tmp => tmp_78
# DEBUG BEGIN_STMT
_79 = _12 << 24;
_80 = _79 & 251658240;
tmp_81 = tmp_78 | _80;
# DEBUG tmp => tmp_81
# DEBUG BEGIN_STMT
baseAddr_18->SCFGR2 ={v} tmp_81;
# DEBUG baseAddr => NULL
# DEBUG cycles => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_18
# DEBUG cycles => _13
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveGlitchFilterSCL
# DEBUG BEGIN_STMT
tmp_72 ={v} baseAddr_18->SCFGR2;
# DEBUG tmp => tmp_72
# DEBUG BEGIN_STMT
tmp_73 = tmp_72 & 4293984255;
# DEBUG tmp => tmp_73
# DEBUG BEGIN_STMT
_74 = _13 << 16;
_75 = _74 & 983040;
tmp_76 = tmp_73 | _75;
# DEBUG tmp => tmp_76
# DEBUG BEGIN_STMT
baseAddr_18->SCFGR2 ={v} tmp_76;
# DEBUG baseAddr => NULL
# DEBUG cycles => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG u32GlitchFilterSDA => NULL
# DEBUG u32GlitchFilterSCL => NULL
# DEBUG BEGIN_STMT
_14 = _1->slaveListening;
if (_14 != 0)
goto <bb 10>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 10> [local count: 354334802]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveActivateEvents (instance_17(D));
<bb 11> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpi2c_Ip_StartListening (Lpi2c_Ip_StartListening, funcdef_no=121, decl_uid=4502, cgraph_uid=122, symbol_order=126)
Lpi2c_Ip_StartListening (uint32 u32Instance)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG D#3 => g_lpi2cSlaveStatePtr[u32Instance_2(D)]
# DEBUG slave => D#3
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveActivateEvents (u32Instance_2(D));
# DEBUG BEGIN_STMT
return;
}
;; Function Lpi2c_Ip_SlaveDeinit (Lpi2c_Ip_SlaveDeinit, funcdef_no=122, decl_uid=4483, cgraph_uid=123, symbol_order=127)
Lpi2c_Ip_SlaveDeinit (uint32 instance)
{
uint32 regValue;
uint32 regValue;
uint32 regValue;
const struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
<unnamed type> _1;
_Bool _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
baseAddr_6 = g_lpi2cBase[instance_5(D)];
# DEBUG baseAddr => baseAddr_6
# DEBUG BEGIN_STMT
slave_7 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_7
# DEBUG BEGIN_STMT
_1 = slave_7->transferType;
if (_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 3> [local count: 536870913]:
_2 = slave_7->slaveListening;
if (_2 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveRxDMA
# DEBUG BEGIN_STMT
regValue_11 ={v} baseAddr_6->SDER;
# DEBUG regValue => regValue_11
# DEBUG BEGIN_STMT
regValue_12 = regValue_11 & 4294967293;
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_12
# DEBUG BEGIN_STMT
baseAddr_6->SDER ={v} regValue_12;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveTxDMA
# DEBUG BEGIN_STMT
regValue_9 ={v} baseAddr_6->SDER;
# DEBUG regValue => regValue_9
# DEBUG BEGIN_STMT
regValue_10 = regValue_9 & 4294967294;
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_10
# DEBUG BEGIN_STMT
baseAddr_6->SDER ={v} regValue_10;
<bb 5> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
g_lpi2cSlaveStatePtr[instance_5(D)] = 0B;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_6
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveEnable
# DEBUG BEGIN_STMT
regValue_13 ={v} baseAddr_6->SCR;
# DEBUG regValue => regValue_13
# DEBUG BEGIN_STMT
regValue_14 = regValue_13 & 4294967294;
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_14
# DEBUG BEGIN_STMT
baseAddr_6->SCR ={v} regValue_14;
# DEBUG baseAddr => NULL
# DEBUG enable => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpi2c_Ip_SlaveSetBuffer (Lpi2c_Ip_SlaveSetBuffer, funcdef_no=123, decl_uid=4487, cgraph_uid=124, symbol_order=128)
Lpi2c_Ip_SlaveSetBuffer (uint32 instance, uint8 * dataBuff, uint32 dataSize)
{
struct Lpi2c_Ip_SlaveStateType * slave;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_3 = g_lpi2cSlaveStatePtr[instance_2(D)];
# DEBUG slave => slave_3
# DEBUG BEGIN_STMT
slave_3->dataBuffer = dataBuff_4(D);
# DEBUG BEGIN_STMT
slave_3->bufferSize = dataSize_6(D);
# DEBUG BEGIN_STMT
return 0;
}
;; Function Lpi2c_Ip_SlaveGetTransferStatus (Lpi2c_Ip_SlaveGetTransferStatus, funcdef_no=124, decl_uid=4490, cgraph_uid=125, symbol_order=129)
Lpi2c_Ip_SlaveGetTransferStatus (uint32 instance, uint32 * bytesRemaining)
{
const struct Lpi2c_Ip_SlaveStateType * slave;
<unnamed type> _1;
long unsigned int _2;
Lpi2c_Ip_StatusType _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_6 = g_lpi2cSlaveStatePtr[instance_5(D)];
# DEBUG slave => slave_6
# DEBUG BEGIN_STMT
if (bytesRemaining_7(D) != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 5>; [30.00%]
<bb 3> [local count: 751619278]:
_1 = slave_6->transferType;
if (_1 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 255550554]:
# DEBUG BEGIN_STMT
_2 = slave_6->bufferSize;
*bytesRemaining_7(D) = _2;
<bb 5> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_9 = slave_6->status;
return _9;
}
;; Function Lpi2c_Ip_SlaveIRQHandler (Lpi2c_Ip_SlaveIRQHandler, funcdef_no=131, decl_uid=4492, cgraph_uid=132, symbol_order=136)
Symbols to be put in SSA form
{ D.5740 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 59
Number of blocks to update: 58 ( 98%)
Merging blocks 2 and 12
Removing basic block 8
Merging blocks 10 and 54
Removing basic block 13
Removing basic block 16
Removing basic block 19
Merging blocks 20 and 11
Removing basic block 21
Removing basic block 31
Removing basic block 41
Merging blocks 52 and 49
Removing basic block 55
Merging blocks 56 and 53
Removing basic block 57
;; 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 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
;; 2 succs { 3 12 }
;; 3 succs { 4 9 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 11 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 13 23 }
;; 13 succs { 14 23 }
;; 14 succs { 15 16 }
;; 15 succs { 16 }
;; 16 succs { 17 19 }
;; 17 succs { 18 19 }
;; 18 succs { 19 }
;; 19 succs { 20 21 }
;; 20 succs { 22 }
;; 21 succs { 22 }
;; 22 succs { 23 }
;; 23 succs { 24 32 }
;; 24 succs { 25 32 }
;; 25 succs { 26 28 }
;; 26 succs { 27 28 }
;; 27 succs { 28 }
;; 28 succs { 29 30 }
;; 29 succs { 31 }
;; 30 succs { 31 }
;; 31 succs { 32 }
;; 32 succs { 33 36 }
;; 33 succs { 34 36 }
;; 34 succs { 35 36 }
;; 35 succs { 36 }
;; 36 succs { 38 37 }
;; 37 succs { 38 42 }
;; 38 succs { 39 40 }
;; 39 succs { 40 }
;; 40 succs { 41 42 }
;; 41 succs { 42 }
;; 42 succs { 43 44 }
;; 43 succs { 44 }
;; 44 succs { 1 }
Lpi2c_Ip_SlaveIRQHandler (uint32 instance)
{
uint32 tmp;
uint32 regValue;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 tmp;
uint32 regValue;
uint32 regValue;
uint32 tmp;
uint32 regValue;
uint32 tmp;
uint32 regValue;
uint32 regValue;
boolean repeatStartDetect;
struct Lpi2c_Ip_SlaveStateType * slave;
struct LPI2C_Type * baseAddr;
unsigned char _1;
unsigned char _2;
_Bool _3;
long unsigned int _17;
_Bool _18;
long unsigned int _20;
_Bool _21;
long unsigned int _24;
_Bool _25;
_Bool _27;
long unsigned int _29;
long unsigned int _31;
_Bool _32;
long unsigned int _34;
unsigned int _36;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _37;
unsigned char _38;
<unnamed type> _39;
struct LPI2C_Type * _40;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _43;
unsigned char _44;
_Bool _45;
long unsigned int _46;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _47;
unsigned char _48;
long unsigned int _49;
uint8 * _50;
unsigned char _51;
long unsigned int _52;
uint8 * _53;
long unsigned int _54;
long unsigned int _55;
void (*<T2d7>) (Lpi2c_Ip_SlaveEventType, uint8) _56;
unsigned char _57;
long unsigned int _58;
uint8 * _60;
unsigned char _62;
uint8 * _63;
uint8 * _64;
long unsigned int _65;
long unsigned int _66;
<unnamed type> _69;
long unsigned int _71;
_Bool _72;
<bb 2> [local count: 1073741821]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG stopDetect => 0
# DEBUG repeatStartDetect => 0
# DEBUG BEGIN_STMT
baseAddr_9 = g_lpi2cBase[instance_8(D)];
# DEBUG baseAddr => baseAddr_9
# DEBUG BEGIN_STMT
slave_10 = g_lpi2cSlaveStatePtr[instance_8(D)];
# DEBUG slave => slave_10
# DEBUG BEGIN_STMT
# DEBUG instance => instance_8(D)
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveCheckDataEvent
# DEBUG BEGIN_STMT
# DEBUG slaveInterrupt => 0
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveAddressValidEvent
# DEBUG BEGIN_STMT
regValue_23 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_23
# DEBUG BEGIN_STMT
_24 = regValue_23 >> 2;
# DEBUG regValue => _24 & 1
# DEBUG BEGIN_STMT
_25 = (_Bool) _24;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_25 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 3> [local count: 354334801]:
# DEBUG BEGIN_STMT
# DEBUG instance => instance_8(D)
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveHandleAddressValidEvent
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveReceivedAddr
# DEBUG BEGIN_STMT
tmp_35 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SASR;
# DEBUG tmp => tmp_35
# DEBUG BEGIN_STMT
# DEBUG D#1 => tmp_35 & 2047
# DEBUG tmp => D#1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
# DEBUG receivedAddr => (short unsigned int) D#1
# DEBUG BEGIN_STMT
_36 = tmp_35 & 1;
if (_36 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 4> [local count: 177167400]:
# DEBUG BEGIN_STMT
slave_10->direction = 0;
# DEBUG BEGIN_STMT
_37 = slave_10->slaveCallback;
if (_37 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 124017180]:
# DEBUG BEGIN_STMT
_38 = slave_10->callbackParam;
_37 (5, _38);
<bb 6> [local count: 177167400]:
# DEBUG BEGIN_STMT
_39 = slave_10->transferType;
if (_39 == 1)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 60236916]:
# DEBUG BEGIN_STMT
_40 = g_lpi2cBase[instance_8(D)];
# DEBUG baseAddr => _40
# DEBUG interrupts => 1
# DEBUG enable => 1
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_41 ={v} _40->SIER;
# DEBUG tmp => tmp_41
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_42 = tmp_41 | 1;
# DEBUG tmp => tmp_42
# DEBUG BEGIN_STMT
_40->SIER ={v} tmp_42;
<bb 8> [local count: 177167400]:
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
slave_10->txUnderrunWarning = 0;
goto <bb 11>; [100.00%]
<bb 9> [local count: 177167400]:
# DEBUG BEGIN_STMT
slave_10->direction = 1;
# DEBUG BEGIN_STMT
_43 = slave_10->slaveCallback;
if (_43 != 0B)
goto <bb 10>; [70.00%]
else
goto <bb 11>; [30.00%]
<bb 10> [local count: 124017180]:
# DEBUG BEGIN_STMT
_44 = slave_10->callbackParam;
_43 (6, _44);
<bb 11> [local count: 354334801]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_10->status = 2;
<bb 12> [local count: 1073741821]:
# DEBUG instance => NULL
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveTransmitDataEvent
# DEBUG BEGIN_STMT
regValue_26 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_26
# DEBUG BEGIN_STMT
# DEBUG regValue => regValue_26 & 1
# DEBUG BEGIN_STMT
_27 = (_Bool) regValue_26;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_27 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 23>; [50.00%]
<bb 13> [local count: 536870910]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG interrupts => 1
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveInt
# DEBUG BEGIN_STMT
tmp_28 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SIER;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_29 = tmp_28 & 1;
if (_29 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 23>; [50.00%]
<bb 14> [local count: 268435455]:
# DEBUG hasInterrupts => 1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveHandleTransmitDataEvent
# DEBUG BEGIN_STMT
_45 = slave_10->txUnderrunWarning;
if (_45 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 15> [local count: 134217728]:
# DEBUG BEGIN_STMT
slave_10->status = 4;
<bb 16> [local count: 268435455]:
# DEBUG BEGIN_STMT
_46 = slave_10->bufferSize;
if (_46 == 0)
goto <bb 17>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 17> [local count: 134217728]:
# DEBUG BEGIN_STMT
_47 = slave_10->slaveCallback;
if (_47 != 0B)
goto <bb 18>; [70.00%]
else
goto <bb 19>; [30.00%]
<bb 18> [local count: 93952409]:
# DEBUG BEGIN_STMT
_48 = slave_10->callbackParam;
_47 (4, _48);
<bb 19> [local count: 268435456]:
# DEBUG BEGIN_STMT
_49 = slave_10->bufferSize;
if (_49 == 0)
goto <bb 20>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 20> [local count: 134217728]:
# DEBUG BEGIN_STMT
slave_10->txUnderrunWarning = 1;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG data => 255
# DEBUG INLINE_ENTRY LPI2C_Transmit_SlaveData
# DEBUG BEGIN_STMT
baseAddr_9->STDR ={v} 255;
goto <bb 22>; [100.00%]
<bb 21> [local count: 134217728]:
# DEBUG BEGIN_STMT
_50 = slave_10->dataBuffer;
_51 = *_50;
# DEBUG baseAddr => baseAddr_9
# DEBUG data => _51
# DEBUG INLINE_ENTRY LPI2C_Transmit_SlaveData
# DEBUG BEGIN_STMT
_52 = (long unsigned int) _51;
baseAddr_9->STDR ={v} _52;
# DEBUG baseAddr => NULL
# DEBUG data => NULL
# DEBUG BEGIN_STMT
_53 = _50 + 1;
slave_10->dataBuffer = _53;
# DEBUG BEGIN_STMT
_54 = _49 + 4294967295;
slave_10->bufferSize = _54;
<bb 22> [local count: 268435456]:
# DEBUG baseAddr => NULL
# DEBUG data => NULL
<bb 23> [local count: 1073741823]:
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveReceiveDataEvent
# DEBUG BEGIN_STMT
regValue_30 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_30
# DEBUG BEGIN_STMT
_31 = regValue_30 >> 1;
# DEBUG regValue => _31 & 1
# DEBUG BEGIN_STMT
_32 = (_Bool) _31;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_32 != 0)
goto <bb 24>; [50.00%]
else
goto <bb 32>; [50.00%]
<bb 24> [local count: 536870911]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG interrupts => 2
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveInt
# DEBUG BEGIN_STMT
tmp_33 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SIER;
# DEBUG tmp => tmp_33
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_34 = tmp_33 & 2;
if (_34 != 0)
goto <bb 25>; [50.00%]
else
goto <bb 32>; [50.00%]
<bb 25> [local count: 268435456]:
# DEBUG hasInterrupts => 1
# DEBUG BEGIN_STMT
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveHandleReceiveDataEvent
# DEBUG BEGIN_STMT
_55 = slave_10->bufferSize;
if (_55 == 0)
goto <bb 26>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 26> [local count: 134217728]:
# DEBUG BEGIN_STMT
_56 = slave_10->slaveCallback;
if (_56 != 0B)
goto <bb 27>; [70.00%]
else
goto <bb 28>; [30.00%]
<bb 27> [local count: 93952409]:
# DEBUG BEGIN_STMT
_57 = slave_10->callbackParam;
_56 (3, _57);
<bb 28> [local count: 268435456]:
# DEBUG BEGIN_STMT
_58 = slave_10->bufferSize;
if (_58 == 0)
goto <bb 29>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 29> [local count: 134217728]:
# DEBUG BEGIN_STMT
slave_10->status = 5;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveData
# DEBUG BEGIN_STMT
tmp_59 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SRDR;
# DEBUG tmp => tmp_59
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_59 & 255
# DEBUG BEGIN_STMT
goto <bb 31>; [100.00%]
<bb 30> [local count: 134217728]:
# DEBUG BEGIN_STMT
_60 = slave_10->dataBuffer;
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveData
# DEBUG BEGIN_STMT
tmp_61 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SRDR;
# DEBUG tmp => tmp_61
# DEBUG BEGIN_STMT
# DEBUG tmp => tmp_61 & 255
# DEBUG BEGIN_STMT
_62 = (unsigned char) tmp_61;
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
*_60 = _62;
# DEBUG BEGIN_STMT
_63 = slave_10->dataBuffer;
_64 = _63 + 1;
slave_10->dataBuffer = _64;
# DEBUG BEGIN_STMT
_65 = slave_10->bufferSize;
_66 = _65 + 4294967295;
slave_10->bufferSize = _66;
<bb 31> [local count: 268435456]:
# DEBUG baseAddr => NULL
# DEBUG tmp => NULL
<bb 32> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG tmp => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG hasInterrupts => NULL
# DEBUG tmp => NULL
# DEBUG slaveInterrupt => NULL
# DEBUG instance => NULL
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG tmp => NULL
# DEBUG regValue => NULL
# DEBUG regValue => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveSTOPDetectEvent
# DEBUG BEGIN_STMT
regValue_19 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_19
# DEBUG BEGIN_STMT
_20 = regValue_19 >> 9;
# DEBUG regValue => _20 & 1
# DEBUG BEGIN_STMT
_21 = (_Bool) _20;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG stopDetect => _21
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
regValue_16 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_16
# DEBUG BEGIN_STMT
_17 = regValue_16 >> 8;
# DEBUG regValue => _17 & 1
# DEBUG BEGIN_STMT
_18 = (_Bool) _17;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
# DEBUG repeatStartDetect => _18
# DEBUG BEGIN_STMT
if (_18 != 0)
goto <bb 33>; [50.00%]
else
goto <bb 36>; [50.00%]
<bb 33> [local count: 536870913]:
# DEBUG BEGIN_STMT
_1 = slave_10->repeatedStarts;
_2 = _1 + 1;
slave_10->repeatedStarts = _2;
# DEBUG BEGIN_STMT
if (_2 == 1)
goto <bb 34>; [34.00%]
else
goto <bb 36>; [66.00%]
<bb 34> [local count: 182536110]:
_3 = slave_10->is10bitAddress;
if (_3 != 0)
goto <bb 35>; [50.00%]
else
goto <bb 36>; [50.00%]
<bb 35> [local count: 91268055]:
# DEBUG BEGIN_STMT
# DEBUG repeatStartDetect => 0
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
baseAddr_9->SSR ={v} 256;
<bb 36> [local count: 1073741824]:
# repeatStartDetect_4 = PHI <_18(32), 1(33), 1(34), 0(35)>
# DEBUG baseAddr => NULL
# DEBUG repeatStartDetect => repeatStartDetect_4
# DEBUG BEGIN_STMT
if (_21 != 0)
goto <bb 38>; [33.00%]
else
goto <bb 37>; [67.00%]
<bb 37> [local count: 719407022]:
if (repeatStartDetect_4 != 0)
goto <bb 38>; [50.00%]
else
goto <bb 42>; [50.00%]
<bb 38> [local count: 714038313]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveStopDetectHandler
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveSTOPDetectEvent
# DEBUG BEGIN_STMT
baseAddr_9->SSR ={v} 512;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveRepeatedStartEvent
# DEBUG BEGIN_STMT
baseAddr_9->SSR ={v} 256;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_67 ={v} baseAddr_9->SIER;
# DEBUG tmp => tmp_67
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_68 = tmp_67 & 4294967294;
# DEBUG tmp => tmp_68
# DEBUG BEGIN_STMT
baseAddr_9->SIER ={v} tmp_68;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
_69 = slave_10->status;
if (_69 == 2)
goto <bb 39>; [34.00%]
else
goto <bb 40>; [66.00%]
<bb 39> [local count: 242773026]:
# DEBUG BEGIN_STMT
slave_10->status = 0;
<bb 40> [local count: 714038314]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveEndTransferHandler (slave_10, baseAddr_9);
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
if (_21 != 0)
goto <bb 41>; [50.00%]
else
goto <bb 42>; [50.00%]
<bb 41> [local count: 357019157]:
# DEBUG BEGIN_STMT
slave_10->repeatedStarts = 0;
<bb 42> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveCheckErrorEvent
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Get_SlaveBitErrorEvent
# DEBUG BEGIN_STMT
regValue_70 ={v} MEM[(const struct LPI2C_Type *)baseAddr_9].SSR;
# DEBUG regValue => regValue_70
# DEBUG BEGIN_STMT
_71 = regValue_70 >> 10;
# DEBUG regValue => _71 & 1
# DEBUG BEGIN_STMT
_72 = (_Bool) _71;
# DEBUG baseAddr => NULL
# DEBUG regValue => NULL
if (_72 != 0)
goto <bb 43>; [33.00%]
else
goto <bb 44>; [67.00%]
<bb 43> [local count: 354334802]:
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG slave => slave_10
# DEBUG INLINE_ENTRY Lpi2c_Ip_SlaveBitErrorEventHandler
# DEBUG BEGIN_STMT
slave_10->status = 1;
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG INLINE_ENTRY LPI2C_Clear_SlaveBitErrorEvent
# DEBUG BEGIN_STMT
baseAddr_9->SSR ={v} 1024;
# DEBUG baseAddr => NULL
# DEBUG BEGIN_STMT
# DEBUG baseAddr => baseAddr_9
# DEBUG interrupts => 1
# DEBUG enable => 0
# DEBUG INLINE_ENTRY LPI2C_Set_SlaveInt
# DEBUG BEGIN_STMT
tmp_73 ={v} baseAddr_9->SIER;
# DEBUG tmp => tmp_73
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_74 = tmp_73 & 4294967294;
# DEBUG tmp => tmp_74
# DEBUG BEGIN_STMT
baseAddr_9->SIER ={v} tmp_74;
# DEBUG baseAddr => NULL
# DEBUG interrupts => NULL
# DEBUG enable => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveEndTransferHandler (slave_10, baseAddr_9);
<bb 44> [local count: 1073741824]:
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG tmp => NULL
# DEBUG baseAddr => NULL
# DEBUG slave => NULL
# DEBUG regValue => NULL
return;
}
;; Function Lpi2c_Ip_ModuleIRQHandler (Lpi2c_Ip_ModuleIRQHandler, funcdef_no=132, decl_uid=4494, cgraph_uid=133, symbol_order=137)
Lpi2c_Ip_ModuleIRQHandler (uint32 instance)
{
uint32 u32SlaveIsrStatus;
uint32 u32SlaveIsrEnable;
uint32 u32MasterIsrStatus;
uint32 u32MasterIsrEnable;
struct LPI2C_Type * baseAddr;
struct Lpi2c_Ip_SlaveStateType * _1;
struct Lpi2c_Ip_MasterStateType * _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG u32MasterIsrEnable => 0
# DEBUG BEGIN_STMT
# DEBUG u32MasterIsrStatus => 0
# DEBUG BEGIN_STMT
# DEBUG u32SlaveIsrEnable => 0
# DEBUG BEGIN_STMT
# DEBUG u32SlaveIsrStatus => 0
# DEBUG BEGIN_STMT
baseAddr_14 = g_lpi2cBase[instance_13(D)];
# DEBUG baseAddr => baseAddr_14
# DEBUG BEGIN_STMT
_1 = g_lpi2cSlaveStatePtr[instance_13(D)];
if (_1 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 3>; [30.00%]
<bb 3> [local count: 322122547]:
_2 = g_lpi2cMasterStatePtr[instance_13(D)];
if (_2 != 0B)
goto <bb 4>; [70.00%]
else
goto <bb 12>; [30.00%]
<bb 4> [local count: 977105059]:
# DEBUG BEGIN_STMT
_3 ={v} baseAddr_14->MIER;
u32MasterIsrEnable_17 = _3 & 32515;
# DEBUG u32MasterIsrEnable => u32MasterIsrEnable_17
# DEBUG BEGIN_STMT
_4 ={v} baseAddr_14->MSR;
u32MasterIsrStatus_18 = _4 & 32515;
# DEBUG u32MasterIsrStatus => u32MasterIsrStatus_18
# DEBUG BEGIN_STMT
_5 ={v} baseAddr_14->SIER;
u32SlaveIsrEnable_19 = _5 & 65295;
# DEBUG u32SlaveIsrEnable => u32SlaveIsrEnable_19
# DEBUG BEGIN_STMT
_6 ={v} baseAddr_14->SSR;
u32SlaveIsrStatus_20 = _6 & 65295;
# DEBUG u32SlaveIsrStatus => u32SlaveIsrStatus_20
# DEBUG BEGIN_STMT
if (u32MasterIsrEnable_17 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 488552529]:
if (u32MasterIsrStatus_18 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 6> [local count: 732828795]:
if (u32SlaveIsrEnable_19 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 7> [local count: 366414397]:
if (u32SlaveIsrStatus_20 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 8> [local count: 427483463]:
# DEBUG BEGIN_STMT
if (_1 == 0B)
goto <bb 9>; [30.00%]
else
goto <bb 10>; [70.00%]
<bb 9> [local count: 128245039]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_MasterIRQHandler (instance_13(D));
goto <bb 13>; [100.00%]
<bb 10> [local count: 299238425]:
# DEBUG BEGIN_STMT
Lpi2c_Ip_SlaveIRQHandler (instance_13(D));
goto <bb 13>; [100.00%]
<bb 11> [local count: 549621597]:
# DEBUG BEGIN_STMT
_7 ={v} baseAddr_14->MSR;
baseAddr_14->MSR ={v} _7;
# DEBUG BEGIN_STMT
_8 ={v} baseAddr_14->SSR;
baseAddr_14->SSR ={v} _8;
goto <bb 13>; [100.00%]
<bb 12> [local count: 96636764]:
# DEBUG BEGIN_STMT
_9 ={v} baseAddr_14->MSR;
baseAddr_14->MSR ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} baseAddr_14->SSR;
baseAddr_14->SSR ={v} _10;
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return;
}
;; Function Lpi2c_Ip_SetMasterCallback (Lpi2c_Ip_SetMasterCallback, funcdef_no=133, decl_uid=4497, cgraph_uid=134, symbol_order=138)
Lpi2c_Ip_SetMasterCallback (uint32 u32Instance, void (*Lpi2c_Ip_MasterCallbackType) (Lpi2c_Ip_MasterEventType, uint8) masterCallback)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_3 = g_lpi2cMasterStatePtr[u32Instance_2(D)];
# DEBUG master => master_3
# DEBUG BEGIN_STMT
master_3->masterCallback = masterCallback_4(D);
return;
}
;; Function Lpi2c_Ip_SetSlaveCallback (Lpi2c_Ip_SetSlaveCallback, funcdef_no=134, decl_uid=4500, cgraph_uid=135, symbol_order=139)
Lpi2c_Ip_SetSlaveCallback (uint32 u32Instance, void (*Lpi2c_Ip_SlaveCallbackType) (Lpi2c_Ip_SlaveEventType, uint8) slaveCallback)
{
struct Lpi2c_Ip_SlaveStateType * slave;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
slave_3 = g_lpi2cSlaveStatePtr[u32Instance_2(D)];
# DEBUG slave => slave_3
# DEBUG BEGIN_STMT
slave_3->slaveCallback = slaveCallback_4(D);
return;
}
;; Function Lpi2c_Ip_SetMasterHighSpeedMode (Lpi2c_Ip_SetMasterHighSpeedMode, funcdef_no=135, decl_uid=4505, cgraph_uid=136, symbol_order=140)
Lpi2c_Ip_SetMasterHighSpeedMode (uint32 u32Instance, boolean bHighSpeedEnabled)
{
struct Lpi2c_Ip_MasterStateType * master;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
master_4 = g_lpi2cMasterStatePtr[u32Instance_3(D)];
# DEBUG master => master_4
# DEBUG BEGIN_STMT
if (bHighSpeedEnabled_5(D) != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
master_4->operatingMode = 3;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
master_4->operatingMode = 0;
<bb 5> [local count: 1073741824]:
return;
}