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

16597 lines
534 KiB
Plaintext

IPA function summary for FlexCAN_StartRxMessageFifoData.part.0/179 inlinable
global time: 16.140750
self size: 41
global size: 41
min size: 36
self stack: 0
global stack: 0
size:20.000000, time:9.314500
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.11 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.11 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.11 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 inlinable
global time: 8.000000
self size: 9
global size: 9
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: 864] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 864] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 928] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 928] changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed || op1 changed)
calls:
IPA function summary for FlexCAN_SetEnhancedDataTimeSegments.part.0/172 inlinable
global time: 29.000000
self size: 30
global size: 30
min size: 0
self stack: 0
global stack: 0
size:6.500000, time:6.500000
size:6.500000, time:5.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24512] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24512] 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)
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:2.000000, time:2.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed)
calls:
IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 inlinable
global time: 29.000000
self size: 30
global size: 30
min size: 0
self stack: 0
global stack: 0
size:6.500000, time:6.500000
size:6.500000, time:5.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24480] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24480] 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)
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:3.000000, time:3.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 96] changed)
calls:
IPA function summary for FlexCAN_SetExtendedTimeSegments.part.0/168 inlinable
global time: 26.000000
self size: 27
global size: 27
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: 640] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed)
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.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
IPA function summary for FlexCAN_SetTimeSegments.part.0/166 inlinable
global time: 25.000000
self size: 26
global size: 26
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: 32] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
IPA function summary for FlexCAN_SetFDTimeSegments.part.0/164 inlinable
global time: 26.000000
self size: 27
global size: 27
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: 24608] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24608] changed)
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.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
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:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
IPA function summary for FlexCAN_Ip_GetListenOnlyMode/120 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_SetListenOnlyMode_Privileged/119 inlinable
global time: 17.049956
self size: 33
global size: 33
min size: 18
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetListenOnlyMode/7 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMb15Mask_Privileged/118 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMb14Mask_Privileged/117 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_AbortTransfer/116 inlinable
global time: 11.431054
self size: 40
global size: 40
min size: 0
self stack: 0
global stack: 0
size:10.000000, time:6.500000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:10.000000, time:0.792990, executed if:(op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_AbortRxTransfer/68 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:23 stack: 0 predicate: (op1 <= 95)
FlexCAN_AbortTxTransfer/67 function not considered for inlining
loop depth: 0 freq:0.01 size: 4 time: 13callee size:24 stack: 4 predicate: (op1 <= 95)
FLEXCAN_ClearMsgBuffIntCmd/162 function body not available
loop depth: 0 freq:0.06 size: 5 time: 14 predicate: (op1 <= 95)
IPA function summary for FlexCAN_Ip_SetErrorInt_Privileged/115 inlinable
global time: 18.373233
self size: 68
global size: 68
min size: 12
self stack: 0
global stack: 0
size:18.000000, time:7.709837
size:3.000000, time:0.927450, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:12.000000, time:1.745003, nonconst if:(op1 changed)
size:4.000000, time:0.290890, executed if:(op1 == 1)
size:4.000000, time:0.290890, executed if:(op1 == 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.12 size: 3 time: 12
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 1)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 0)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 3)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 2)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 4)
op1 is compile time invariant
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_DisableInterrupts_Privileged/114 inlinable
global time: 15.331072
self size: 27
global size: 27
min size: 10
self stack: 0
global stack: 0
size:18.000000, time:8.560843
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.21 size: 3 time: 12
FlexCAN_DisableInterrupts/160 function body not available
loop depth: 0 freq:0.21 size: 2 time: 11
IPA function summary for FlexCAN_Ip_EnableInterrupts_Privileged/113 inlinable
global time: 13.921378
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:8.611247
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.07 size: 3 time: 12
FlexCAN_EnableInterrupts/159 function body not available
loop depth: 0 freq:0.21 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ClearBuffStatusFlag/112 inlinable
global time: 10.688379
self size: 15
global size: 15
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:4.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:0.255602, executed if:(op1 == 255)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.24 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 != 255)
IPA function summary for FlexCAN_Ip_GetBuffStatusFlag/111 inlinable
global time: 11.432777
self size: 18
global size: 18
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:4.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:0.244398, executed if:(op1 != 255)
size:2.000000, time:0.511204, executed if:(op1 == 255)
array index:(op0 changed)
calls:
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 0 freq:0.24 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255)
IPA function summary for FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 inlinable
global time: 19.524950
self size: 35
global size: 35
min size: 22
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_SetTxArbitrationStartDelay/42 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetTDCOffset_Privileged/109 inlinable
global time: 20.143759
self size: 44
global size: 44
min size: 32
self stack: 0
global stack: 0
size:24.000000, time:11.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_SetTDCOffset/2 function not considered for inlining
loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0
FlexCAN_SetEnhancedTDCOffset/3 function not considered for inlining
loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetBitrateFD/108 inlinable
global time: 12.500056
self size: 25
global size: 25
min size: 12
self stack: 0
global stack: 0
size:14.000000, time:7.500000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_GetFDTimeSegments/21 function not considered for inlining
loop depth: 0 freq:0.13 size: 3 time: 12callee size:11 stack: 0
FlexCAN_GetEnhancedDataTimeSegments/18 function not considered for inlining
loop depth: 0 freq:0.13 size: 3 time: 12callee size:12 stack: 0
IPA function summary for FlexCAN_Ip_SetBitrateCbt_Privileged/107 inlinable
global time: 14.985979
self size: 56
global size: 56
min size: 36
self stack: 0
global stack: 0
size:33.000000, time:10.063763
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 function body not available
loop depth: 0 freq:0.03 size: 1 time: 10
FlexCAN_SetFDTimeSegments/12 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_SetEnhancedDataTimeSegments/17 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_SetFDEnabled/6 function not considered for inlining
loop depth: 0 freq:0.03 size: 4 time: 13callee size: 9 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 function body not available
loop depth: 0 freq:0.03 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetTDCValue_Privileged/106 inlinable
global time: 14.586837
self size: 28
global size: 28
min size: 10
self stack: 0
global stack: 0
size:19.000000, time:9.654376
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetTDCFail_Privileged/105 inlinable
global time: 15.241213
self size: 31
global size: 31
min size: 10
self stack: 0
global stack: 0
size:22.000000, time:10.308753
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ClearTDCFail_Privileged/104 inlinable
global time: 15.241213
self size: 31
global size: 31
min size: 10
self stack: 0
global stack: 0
size:22.000000, time:10.308753
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetBitrate/103 inlinable
global time: 13.002496
self size: 31
global size: 31
min size: 18
self stack: 0
global stack: 0
size:17.000000, time:8.002496
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_GetTimeSegments/20 function not considered for inlining
loop depth: 0 freq:0.10 size: 3 time: 12callee size:10 stack: 0
FlexCAN_GetExtendedTimeSegments/19 function not considered for inlining
loop depth: 0 freq:0.07 size: 3 time: 12callee size:11 stack: 0
FlexCAN_GetEnhancedNominalTimeSegments/16 function not considered for inlining
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 9 stack: 0
IPA function summary for FlexCAN_Ip_SetBitrate_Privileged/102 inlinable
global time: 15.753204
self size: 54
global size: 54
min size: 22
self stack: 0
global stack: 0
size:24.000000, time:9.252501
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:2.000000, time:0.123754, nonconst if:(op2 changed)
size:3.000000, time:0.124374, executed if:(op2 == 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
FlexCAN_SetTimeSegments/13 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 == 0)
FlexCAN_SetExtendedTimeSegments/14 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 == 0)
FlexCAN_SetEnhancedNominalTimeSegments/15 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 != 0)
FlexCAN_EnhCbtEnable/25 function not considered for inlining
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMaskType_Privileged/101 inlinable
global time: 17.049956
self size: 33
global size: 33
min size: 18
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetRxMaskType/43 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetStopMode_Privileged/100 inlinable
global time: 15.479977
self size: 17
global size: 17
min size: 12
self stack: 0
global stack: 0
size:7.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetStartMode_Privileged/99 inlinable
global time: 14.000000
self size: 15
global size: 15
min size: 6
self stack: 0
global stack: 0
size:8.000000, time:6.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_ExitFreezeMode/149 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetStartMode_Privileged/98 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetStopMode_Privileged/97 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_MainFunctionWrite/96 inlinable
global time: 20.119945
self size: 26
global size: 26
min size: 22
self stack: 0
global stack: 0
size:11.000000, time:7.494994
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.16 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffTimestamp/147 function body not available
loop depth: 0 freq:0.16 size: 4 time: 13
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 0 freq:0.50 size: 4 time: 13callee size:11 stack: 0
IPA function summary for FlexCAN_Ip_MainFunctionBusOff_Privileged/95 inlinable
global time: 14.325009
self size: 25
global size: 25
min size: 14
self stack: 0
global stack: 0
size:14.000000, time:9.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
indirect call loop depth: 0 freq:0.18 size: 7 time: 19
IPA function summary for FlexCAN_Ip_MainFunctionRead/94 inlinable
global time: 15.524457
self size: 61
global size: 61
min size: 0
self stack: 0
global stack: 0
size:10.000000, time:8.000000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:8.000000, time:1.062310, executed if:(op1 != 255)
size:2.000000, time:0.267197, executed if:(op1 != 255), nonconst if:(op1 changed) && (op1 != 255)
size:2.000000, time:0.133598, executed if:(op1 <= 7) && (op1 != 255), nonconst if:(op1 changed) && (op1 <= 7) && (op1 != 255)
size:5.000000, time:0.166986, executed if:(op1 == 0) && (op1 <= 7) && (op1 != 255)
size:10.000000, time:0.228971, executed if:(op1 == 255)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_IRQHandlerRxMB/61 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 predicate: (op1 != 255)
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 0 freq:0.13 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255)
FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:35 stack:80 predicate: (op1 == 0) && (op1 <= 7) && (op1 != 255)
op1 is compile time invariant
FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining
loop depth: 0 freq:0.00 size: 3 time: 12callee size:41 stack:80 predicate: (op1 == 255)
op1 is compile time invariant
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 255)
IPA function summary for FlexCAN_Ip_Deinit_Privileged/93 inlinable
global time: 17.794955
self size: 19
global size: 19
min size: 14
self stack: 0
global stack: 0
size:8.000000, time:6.164998
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.16 size: 2 time: 11
FlexCAN_SetRegDefaultVal/49 function not considered for inlining
loop depth: 0 freq:0.16 size: 2 time: 11callee size:28 stack: 0
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxIndividualMask_Privileged/91 inlinable
global time: 13.559176
self size: 37
global size: 37
min size: 0
self stack: 0
global stack: 0
size:9.000000, time:7.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.649999, nonconst if:(op1 changed)
size:16.000000, time:2.616350, executed if:(op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95)
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95)
IPA function summary for FlexCAN_Ip_ExitFreezeMode_Privileged/90 inlinable
global time: 15.000000
self size: 7
global size: 7
min size: 6
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_ExitFreezeMode/149 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
IPA function summary for FlexCAN_Ip_EnterFreezeMode_Privileged/89 inlinable
global time: 15.000000
self size: 7
global size: 7
min size: 6
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 inlinable
global time: 16.252459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:11.192500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SendBlocking/87 inlinable
global time: 83.516070
self size: 94
global size: 94
min size: 94
self stack: 4
global stack: 4
size:41.000000, time:16.454379
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op5 changed)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 1 freq:0.13 size: 4 time: 13callee size:11 stack: 0
op1 change 95.340000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:0.12 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.01 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 1 freq:1.17 size: 4 time: 13callee size:11 stack: 0
op0 change 85.580000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:1.10 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_StartSendData/59 function not considered for inlining
loop depth: 0 freq:0.25 size: 7 time: 16callee size:29 stack:16
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_Busoff_Error_IRQHandler/86 inlinable
global time: 26.261395
self size: 109
global size: 109
min size: 70
self stack: 0
global stack: 0
size:70.000000, time:18.652206
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.05 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
IPA function summary for FlexCAN_Ip_GetControllerRxErrorCounter/85 inlinable
global time: 8.000000
self size: 11
global size: 11
min size: 0
self stack: 0
global stack: 0
size:7.000000, time:6.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetControllerTxErrorCounter/84 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetErrorStatus/83 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_ClearErrorStatus/82 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_IRQHandler/81 inlinable
global time: 51.613459
self size: 94
global size: 94
min size: 62
self stack: 0
global stack: 0
size:40.000000, time:18.936912
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
size:4.000000, time:0.500000, nonconst if:(op3 changed)
size:10.000000, time:0.515367, executed if:(op3 != 0)
loop iterations:(op2 changed || op1 changed)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 1 freq:0.94 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_ProcessSpuriousInterruptMB/64 function not considered for inlining
loop depth: 0 freq:0.04 size: 4 time: 13callee size:18 stack: 0
FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 function not considered for inlining
loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0 predicate: (op3 != 0)
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining
loop depth: 0 freq:0.07 size: 4 time: 13callee size:12 stack: 0
FlexCAN_IRQHandlerTxMB/62 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:36 stack:80
FlexCAN_IRQHandlerRxMB/61 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80
FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size:35 stack:80
FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining
loop depth: 1 freq:1.12 size: 4 time: 13callee size:12 stack: 0
op0 change 89.610000% of time
FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining
loop depth: 0 freq:0.13 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_CompleteRxMessageFifoData/80 inlinable
global time: 18.419906
self size: 36
global size: 36
min size: 36
self stack: 0
global stack: 0
size:14.000000, time:8.994994
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.16 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.16 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.16 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
IPA function summary for FlexCAN_Ip_GetTransferStatus/79 inlinable
global time: 10.750014
self size: 23
global size: 23
min size: 0
self stack: 0
global stack: 0
size:9.000000, time:7.000000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:3.000000, time:0.375007, executed if:(op1 > 95)
size:3.000000, time:0.375007, executed if:(op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
IPA function summary for FlexCAN_Ip_ConfigRemoteResponseMb/78 inlinable
global time: 19.958053
self size: 53
global size: 53
min size: 46
self stack: 16
global stack: 16
size:23.000000, time:9.994799
size:5.000000, time:0.738847, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.04 size: 7 time: 16
op3 is compile time invariant
FlexCAN_SetTxMsgBuff/134 function body not available
loop depth: 0 freq:0.12 size: 7 time: 16
op2 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 inlinable
global time: 19.012512
self size: 45
global size: 45
min size: 24
self stack: 0
global stack: 0
size:28.000000, time:10.376264
size:3.000000, time:0.249995, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.250000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_SetEnhancedRxFifoFilter/146 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ConfigRxFifo_Privileged/76 inlinable
global time: 17.173706
self size: 34
global size: 34
min size: 20
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetRxFifoFilter/145 function body not available
loop depth: 0 freq:0.12 size: 4 time: 13
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_RxFifoBlocking/75 inlinable
global time: 24.650041
self size: 47
global size: 47
min size: 54
self stack: 0
global stack: 0
size:16.000000, time:8.005006
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_ProccessLegacyRxFIFO/57 function not considered for inlining
loop depth: 0 freq:0.05 size: 4 time: 13callee size:37 stack: 4
FlexCAN_StartRxMessageFifoData/60 function not considered for inlining
loop depth: 0 freq:0.16 size: 4 time: 13callee size: 6 stack: 0
FlexCAN_ProccessLegacyRxFIFO/57 function not considered for inlining
loop depth: 0 freq:0.07 size: 4 time: 13callee size:37 stack: 4
FlexCAN_StartRxMessageFifoData/60 function not considered for inlining
loop depth: 0 freq:0.20 size: 4 time: 13callee size: 6 stack: 0
FlexCAN_ProccessEnhancedRxFifo/56 function not considered for inlining
loop depth: 0 freq:0.05 size: 4 time: 13callee size:28 stack: 4
FlexCAN_StartRxMessageEnhancedFifoData/55 function not considered for inlining
loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_RxFifo/74 inlinable
global time: 21.005006
self size: 29
global size: 29
min size: 30
self stack: 0
global stack: 0
size:10.000000, time:6.505006
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_StartRxMessageFifoData/60 function not considered for inlining
loop depth: 0 freq:0.16 size: 4 time: 13callee size: 6 stack: 0
FlexCAN_StartRxMessageFifoData/60 function not considered for inlining
loop depth: 0 freq:0.20 size: 4 time: 13callee size: 6 stack: 0
FlexCAN_StartRxMessageEnhancedFifoData/55 function not considered for inlining
loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ReceiveBlocking/73 inlinable
global time: 80.158218
self size: 80
global size: 80
min size: 34
self stack: 4
global stack: 4
size:28.000000, time:20.554627
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op4 changed)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:6.000000, time:3.755164, nonconst if:(op3 changed)
size:2.000000, time:0.138600, executed if:(op3 == 0)
size:2.000000, time:0.962002, executed if:(op3 != 0)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.06 size: 6 time: 15 predicate: (op3 == 0)
op3 is compile time invariant
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:1.46 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerRxMB/61 function not considered for inlining
loop depth: 1 freq:0.16 size: 3 time: 12callee size:29 stack:80 predicate: (op3 != 0)
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 1 freq:0.48 size: 4 time: 13callee size:11 stack: 0 predicate: (op3 != 0)
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
op0 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0)
op3 is compile time invariant
FlexCAN_StartRxMessageBufferData/58 function not considered for inlining
loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for FlexCAN_Ip_Receive/72 inlinable
global time: 18.402523
self size: 28
global size: 28
min size: 12
self stack: 0
global stack: 0
size:8.000000, time:7.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.500000, nonconst if:(op3 changed)
size:1.000000, time:0.082501, executed if:(op3 == 0)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0)
op3 is compile time invariant
FlexCAN_StartRxMessageBufferData/58 function not considered for inlining
loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0
IPA function summary for FlexCAN_Ip_ConfigRxMb/71 inlinable
global time: 22.273693
self size: 52
global size: 52
min size: 48
self stack: 16
global stack: 16
size:21.500000, time:9.895678
size:4.500000, time:0.679136, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_Ip_Send/70 inlinable
global time: 12.840162
self size: 39
global size: 39
min size: 28
self stack: 0
global stack: 0
size:19.500000, time:9.281735
size:3.500000, time:0.520624, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.01 size: 7 time: 16
op3 is compile time invariant
FlexCAN_StartSendData/59 function not considered for inlining
loop depth: 0 freq:0.08 size: 7 time: 16callee size:29 stack:16
IPA function summary for FlexCAN_Ip_Init_Privileged/69 inlinable
global time: 48.330965
self size: 90
global size: 90
min size: 64
self stack: 0
global stack: 0
size:41.000000, time:28.658625
size:15.000000, time:8.901571, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.08 size: 3 time: 12
FlexCAN_SetOperationMode/123 function body not available
loop depth: 0 freq:0.08 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_SetTimeSegments/13 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_SetFDTimeSegments/12 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_SetExtendedTimeSegments/14 function not considered for inlining
loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_SetEnhancedDataTimeSegments/17 function not considered for inlining
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_SetEnhancedNominalTimeSegments/15 function not considered for inlining
loop depth: 0 freq:0.04 size: 3 time: 12callee size: 5 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_EnableExtCbt/24 function not considered for inlining
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 4 stack: 0
FlexCAN_InitController/53 function not considered for inlining
loop depth: 0 freq:0.25 size: 4 time: 13callee size:36 stack: 0
IPA function summary for FlexCAN_AbortRxTransfer/68 inlinable
global time: 45.966300
self size: 46
global size: 46
min size: 28
self stack: 0
global stack: 0
size:21.000000, time:12.105500
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:1.340000, nonconst if:(op1 changed)
size:1.000000, time:0.221100, executed if:(op1 == 0)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0
op0 change 99.990000% of time
op1 change 99.990000% of time
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.33 size: 4 time: 13
FLEXCAN_ClearMsgBuffIntCmd/162 function body not available
loop depth: 0 freq:0.22 size: 5 time: 14 predicate: (op1 == 0)
op2 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.22 size: 4 time: 13
RxFifoOcuppiedLastMsgBuff/29 function not considered for inlining
loop depth: 0 freq:0.67 size: 3 time: 12callee size: 3 stack: 0
IPA function summary for FlexCAN_AbortTxTransfer/67 inlinable
global time: 349.181112
self size: 48
global size: 48
min size: 44
self stack: 4
global stack: 4
size:23.000000, time:60.817476
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 1 freq:9.35 size: 4 time: 13callee size:11 stack: 0
op0 change 10.690000% of time
op1 change 10.690000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
IPA function summary for FlexCAN_IRQHandlerEnhancedRxFIFO/66 inlinable
global time: 22.587640
self size: 82
global size: 82
min size: 0
self stack: 80
global stack: 80
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:10.000000, time:4.000000, nonconst if:(op1 changed)
size:1.000000, time:0.200000, executed if:(op1 == 31), nonconst if:(op1 changed) && (op1 == 31)
size:4.000000, time:0.800000, executed if:(op1 == 31)
size:1.000000, time:0.200000, executed if:(op1 == 30), nonconst if:(op1 changed) && (op1 == 30)
size:4.000000, time:0.800000, executed if:(op1 == 30)
size:1.000000, time:0.200000, executed if:(op1 == 29), nonconst if:(op1 changed) && (op1 == 29)
size:4.000000, time:0.800000, executed if:(op1 == 29)
size:18.000000, time:1.572400, executed if:(op1 == 28)
size:1.000000, time:0.068000, executed if:(op1 == 28), nonconst if:(op1 changed) && (op1 == 28)
array index:(op0 changed)
calls:
FlexCAN_CompleteRxMessageEnhancedFifoData/54 function not considered for inlining
loop depth: 0 freq:0.02 size: 2 time: 11callee size:13 stack: 0 predicate: (op1 == 28)
FlexCAN_ReadEnhancedRxFifo/142 function body not available
loop depth: 0 freq:0.07 size: 3 time: 12 predicate: (op1 == 28)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 31)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 30)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 29)
indirect call loop depth: 0 freq:0.05 size: 7 time: 19predicate: (op1 == 28)
IPA function summary for FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 inlinable
global time: 106.564801
self size: 30
global size: 30
min size: 22
self stack: 0
global stack: 0
size:16.000000, time:30.177600
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining
loop depth: 1 freq:0.44 size: 3 time: 12callee size:41 stack:80
FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 function not considered for inlining
loop depth: 1 freq:1.32 size: 4 time: 13callee size: 4 stack: 0
op0 change 75.750000% of time
FlexCAN_GetEnhancedRxFIFOStatusFlag/46 function not considered for inlining
loop depth: 1 freq:4.00 size: 4 time: 13callee size: 4 stack: 0
op0 change 24.990000% of time
IPA function summary for FlexCAN_ProcessSpuriousInterruptMB/64 inlinable
global time: 207.939185
self size: 36
global size: 36
min size: 22
self stack: 0
global stack: 0
size:22.000000, time:60.760769
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 1 freq:0.44 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusImask/11 function not considered for inlining
loop depth: 1 freq:2.67 size: 4 time: 13callee size:11 stack: 0
op0 change 37.450000% of time
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 1 freq:8.09 size: 4 time: 13callee size:11 stack: 0
op0 change 12.350000% of time
IPA function summary for FlexCAN_IRQHandlerRxFIFO/63 inlinable
global time: 28.692556
self size: 70
global size: 70
min size: 0
self stack: 80
global stack: 80
size:6.000000, time:5.300000
size:3.000000, time:2.000000, executed if:(not inlined)
size:8.000000, time:4.000000, nonconst if:(op1 changed)
size:3.000000, time:0.750000, executed if:(op1 == 7)
size:3.000000, time:0.750000, executed if:(op1 == 6)
size:12.000000, time:1.171498, executed if:(op1 == 5)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 7)
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 6)
FlexCAN_CompleteRxMessageFifoData/80 function not considered for inlining
loop depth: 0 freq:0.02 size: 2 time: 11callee size:18 stack: 0 predicate: (op1 == 5)
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.05 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 5)
FlexCAN_ReadRxFifo/143 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 5)
indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 7)
indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 6)
indirect call loop depth: 0 freq:0.04 size: 7 time: 19predicate: (op1 == 5)
IPA function summary for FlexCAN_IRQHandlerTxMB/62 inlinable
global time: 68.946300
self size: 73
global size: 73
min size: 72
self stack: 80
global stack: 80
size:34.000000, time:22.890275
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.14 size: 6 time: 15
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op3 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffTimestamp/147 function body not available
loop depth: 0 freq:0.50 size: 4 time: 13
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.10 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuff/140 function body not available
loop depth: 0 freq:0.50 size: 4 time: 13
op2 is compile time invariant
FlexCAN_LockRxMsgBuff/139 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
indirect call loop depth: 0 freq:0.70 size: 7 time: 19
IPA function summary for FlexCAN_IRQHandlerRxMB/61 inlinable
global time: 77.031900
self size: 59
global size: 59
min size: 58
self stack: 80
global stack: 80
size:27.000000, time:20.190275
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.14 size: 6 time: 15
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op3 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuff/140 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
FlexCAN_LockRxMsgBuff/139 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
indirect call loop depth: 0 freq:0.70 size: 7 time: 19
IPA function summary for FlexCAN_StartRxMessageFifoData/60 inlinable
global time: 12.500000
self size: 12
global size: 12
min size: 8
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
FlexCAN_StartRxMessageFifoData.part.0/179 function not considered for inlining
loop depth: 0 freq:0.50 size: 4 time: 13callee size:20 stack: 0
IPA function summary for FlexCAN_StartSendData/59 inlinable
global time: 18.885922
self size: 58
global size: 58
min size: 32
self stack: 16
global stack: 16
size:33.500000, time:10.690707
size:6.500000, time:0.771691, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_SetTxMsgBuff/134 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16
op2 is compile time invariant
op5 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_StartRxMessageBufferData/58 inlinable
global time: 19.108755
self size: 26
global size: 26
min size: 12
self stack: 0
global stack: 0
size:16.000000, time:9.608755
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.50 size: 6 time: 15
IPA function summary for FlexCAN_ProccessLegacyRxFIFO/57 inlinable
global time: 338.159771
self size: 74
global size: 74
min size: 72
self stack: 4
global stack: 4
size:34.000000, time:115.926893
size:3.000000, time:1.999800, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining
loop depth: 2 freq:1.40 size: 3 time: 12callee size:35 stack:80
op0 change 71.460000% of time
FlexCAN_GetBuffStatusFlag/10 function not considered for inlining
loop depth: 2 freq:4.24 size: 4 time: 13callee size:11 stack: 0
op0 change 23.580000% of time
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for FlexCAN_ProccessEnhancedRxFifo/56 inlinable
global time: 361.894335
self size: 56
global size: 56
min size: 36
self stack: 4
global stack: 4
size:34.000000, time:123.168589
size:3.000000, time:1.999800, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining
loop depth: 2 freq:1.87 size: 3 time: 12callee size:41 stack:80
op0 change 53.590000% of time
FlexCAN_GetEnhancedRxFIFOStatusFlag/46 function not considered for inlining
loop depth: 2 freq:5.65 size: 4 time: 13callee size: 4 stack: 0
op0 change 17.680000% of time
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for FlexCAN_StartRxMessageEnhancedFifoData/55 inlinable
global time: 13.449210
self size: 28
global size: 28
min size: 0
self stack: 0
global stack: 0
size:24.000000, time:11.449210
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_CompleteRxMessageEnhancedFifoData/54 inlinable
global time: 17.250009
self size: 26
global size: 26
min size: 6
self stack: 0
global stack: 0
size:19.000000, time:9.750009
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_InitController/53 inlinable
global time: 81.731575
self size: 73
global size: 73
min size: 86
self stack: 0
global stack: 0
size:19.500000, time:8.433575
size:7.500000, time:3.730775, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.06 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.06 size: 2 time: 11
FlexCAN_SetMaxMsgBuffNum/129 function body not available
loop depth: 0 freq:0.18 size: 4 time: 13
FlexCAN_SetPayloadSize/128 function body not available
loop depth: 0 freq:0.18 size: 3 time: 12
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.18 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.18 size: 2 time: 11
FlexCAN_InitRxFifo/52 function not considered for inlining
loop depth: 0 freq:0.35 size: 4 time: 13callee size:12 stack: 0
FlexCAN_ConfigCtrlOptions/127 function body not available
loop depth: 0 freq:0.35 size: 3 time: 12
FlexCAN_SetFDEnabled/6 function not considered for inlining
loop depth: 0 freq:0.35 size: 4 time: 13callee size: 9 stack: 0
FlexCAN_DisableMemErrorDetection/5 function not considered for inlining
loop depth: 0 freq:0.35 size: 2 time: 11callee size: 6 stack: 0
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.35 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.35 size: 2 time: 11
FlexCAN_Init/126 function body not available
loop depth: 0 freq:0.71 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.71 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.71 size: 1 time: 10
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.19 size: 3 time: 12
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.59 size: 3 time: 12
IPA function summary for FlexCAN_InitRxFifo/52 inlinable
global time: 17.744900
self size: 25
global size: 25
min size: 12
self stack: 0
global stack: 0
size:4.000000, time:2.500825
size:5.000000, time:2.830825, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 40] changed) && (not inlined)
size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 40] changed)
size:0.500000, time:0.165000, executed if:(op1[ref offset: 40] != 0) && (not inlined), nonconst if:(op1[ref offset: 32] changed) && (op1[ref offset: 40] != 0) && (not inlined)
size:0.500000, time:0.165000, executed if:(op1[ref offset: 40] != 0), nonconst if:(op1[ref offset: 32] changed) && (op1[ref offset: 40] != 0)
size:2.000000, time:0.660000, executed if:(op1[ref offset: 40] != 0)
calls:
FlexCAN_EnableEnhancedRxFifo/131 function body not available
loop depth: 0 freq:0.28 size: 6 time: 15
FlexCAN_EnableRxFifo/130 function body not available
loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op1[ref offset: 40] != 0)
IPA function summary for FlexCAN_SetRegDefaultVal/49 inlinable
global time: 79.500000
self size: 57
global size: 57
min size: 18
self stack: 0
global stack: 0
size:27.500000, time:25.750000
size:20.500000, time:17.750000, executed if:(not inlined)
calls:
FlexCAN_GetMaxMbNum/150 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
FlexCAN_GetMaxMbNum/150 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
IPA function summary for FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 inlinable
global time: 8.000000
self size: 9
global size: 9
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: 24704] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 24704] changed)
size:3.000000, time:3.000000, nonconst if:(op1 changed)
size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 24704] changed || op1 changed)
calls:
IPA function summary for FlexCAN_GetEnhancedRxFIFOStatusFlag/46 inlinable
global time: 8.000000
self size: 9
global size: 9
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: 24736] changed) && (not inlined)
size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 24736] changed)
size:3.000000, time:3.000000, nonconst if:(op1 changed)
size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 24736] changed || op1 changed)
calls:
IPA function summary for FlexCAN_SetRxMaskType/43 inlinable
global time: 7.000000
self size: 11
global size: 11
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:2.000000, time:2.000000, nonconst if:(op1 changed)
size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op1 != 0) && (not inlined)
size:1.500000, time:0.750000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 0] changed) && (op1 != 0)
size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 != 0)
size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op1 == 0) && (not inlined)
size:1.500000, time:0.750000, executed if:(op1 == 0), nonconst if:(op0[ref offset: 0] changed) && (op1 == 0)
size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 == 0)
calls:
IPA function summary for FlexCAN_SetTxArbitrationStartDelay/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: 416] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 416] changed || op1 changed)
calls:
IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag/36 inlinable
global time: 11.125000
self size: 24
global size: 24
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:2.000000, time:2.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31)
size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31)
size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31)
calls:
FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 function not considered for inlining
loop depth: 0 freq:0.12 size: 4 time: 13callee size: 4 stack: 0 predicate: (op1 <= 95) && (op1 > 63) && (op1 > 31)
IPA function summary for RxFifoOcuppiedLastMsgBuff/29 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:4.000000, time:4.000000, nonconst if:(op0 changed)
calls:
IPA function summary for FlexCAN_EnhCbtEnable/25 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: 416] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 416] changed || op1 changed)
calls:
IPA function summary for FlexCAN_EnableExtCbt/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: 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 FlexCAN_GetFDTimeSegments/21 inlinable
global time: 21.000000
self size: 22
global size: 22
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:2.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24608] changed) && (not inlined)
size:11.500000, time:11.500000, nonconst if:(op0[ref offset: 24608] changed)
calls:
IPA function summary for FlexCAN_GetTimeSegments/20 inlinable
global time: 20.000000
self size: 21
global size: 21
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:2.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined)
size:10.500000, time:10.500000, nonconst if:(op0[ref offset: 32] changed)
calls:
IPA function summary for FlexCAN_GetExtendedTimeSegments/19 inlinable
global time: 21.000000
self size: 22
global size: 22
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:2.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 640] changed) && (not inlined)
size:11.500000, time:11.500000, nonconst if:(op0[ref offset: 640] changed)
calls:
IPA function summary for FlexCAN_GetEnhancedDataTimeSegments/18 inlinable
global time: 14.000000
self size: 24
global size: 24
min size: 0
self stack: 0
global stack: 0
size:15.500000, time:9.750000
size:7.500000, time:3.250000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
IPA function summary for FlexCAN_SetEnhancedDataTimeSegments/17 inlinable
global time: 12.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_SetEnhancedDataTimeSegments.part.0/172 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0
IPA function summary for FlexCAN_GetEnhancedNominalTimeSegments/16 inlinable
global time: 17.000000
self size: 18
global size: 18
min size: 0
self stack: 0
global stack: 0
size:2.500000, time:2.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24448] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24448] changed)
size:1.500000, time:1.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24480] changed) && (not inlined)
size:6.500000, time:6.500000, nonconst if:(op0[ref offset: 24480] changed)
calls:
IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments/15 inlinable
global time: 12.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0
IPA function summary for FlexCAN_SetExtendedTimeSegments/14 inlinable
global time: 12.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_SetExtendedTimeSegments.part.0/168 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
IPA function summary for FlexCAN_SetTimeSegments/13 inlinable
global time: 12.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_SetTimeSegments.part.0/166 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
IPA function summary for FlexCAN_SetFDTimeSegments/12 inlinable
global time: 12.000000
self size: 11
global size: 11
min size: 6
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_SetFDTimeSegments.part.0/164 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
IPA function summary for FlexCAN_GetBuffStatusImask/11 inlinable
global time: 9.375000
self size: 23
global size: 23
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:2.000000, time:2.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31)
size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31)
size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed) && (op1 <= 31)
calls:
IPA function summary for FlexCAN_GetBuffStatusFlag/10 inlinable
global time: 9.375000
self size: 23
global size: 23
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:2.000000, time:2.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31)
size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31)
size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 384] changed) && (op1 <= 31)
calls:
IPA function summary for FlexCAN_ClearMsgBuffIntStatusFlag/9 inlinable
global time: 8.375000
self size: 14
global size: 14
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:4.000000, time:4.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31)
calls:
IPA function summary for FlexCAN_SetListenOnlyMode/7 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: 32] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 32] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 32] changed || op1 changed)
calls:
IPA function summary for FlexCAN_SetFDEnabled/6 inlinable
global time: 17.000000
self size: 18
global size: 18
min size: 0
self stack: 0
global stack: 0
size:5.500000, time:5.500000
size:5.500000, time:4.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 0] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 0] changed || op1 changed)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
calls:
IPA function summary for FlexCAN_DisableMemErrorDetection/5 inlinable
global time: 12.000000
self size: 13
global size: 13
min size: 0
self stack: 0
global stack: 0
size:4.500000, time:4.500000
size:6.500000, time:5.500000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed)
calls:
IPA function summary for FlexCAN_SetEnhancedTDCOffset/3 inlinable
global time: 9.000000
self size: 12
global size: 12
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: 24544] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24544] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24544] changed) && (op1 != 0)
size:2.000000, time:1.000000, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0)
size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24544] changed || op2 changed) && (op1 != 0)
calls:
IPA function summary for FlexCAN_SetTDCOffset/2 inlinable
global time: 9.000000
self size: 12
global size: 12
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: 24576] changed) && (not inlined)
size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24576] changed)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24576] changed) && (op1 != 0)
size:2.000000, time:1.000000, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0)
size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24576] changed || op2 changed) && (op1 != 0)
calls:
Flattening functions:
Overall time estimate: 3308.961620 weighted by profile: 0.000000
Deciding on inlining of small functions. Starting with size 0.
Enqueueing calls in FlexCAN_StartRxMessageFifoData.part.0/179.
Enqueueing calls in FlexCAN_GetMsgBuffIntStatusFlag.part.0/174.
Enqueueing calls in FlexCAN_SetEnhancedDataTimeSegments.part.0/172.
Enqueueing calls in FlexCAN_SetEnhancedNominalTimeSegments.part.0/170.
Enqueueing calls in FlexCAN_SetExtendedTimeSegments.part.0/168.
Enqueueing calls in FlexCAN_SetTimeSegments.part.0/166.
Enqueueing calls in FlexCAN_SetFDTimeSegments.part.0/164.
Enqueueing calls in FlexCAN_Ip_GetListenOnlyMode/120.
Enqueueing calls in FlexCAN_Ip_SetListenOnlyMode_Privileged/119.
Enqueueing calls in FlexCAN_Ip_SetRxMb15Mask_Privileged/118.
Enqueueing calls in FlexCAN_Ip_SetRxMb14Mask_Privileged/117.
Enqueueing calls in FlexCAN_Ip_AbortTransfer/116.
Enqueueing calls in FlexCAN_Ip_SetErrorInt_Privileged/115.
Enqueueing calls in FlexCAN_Ip_DisableInterrupts_Privileged/114.
Enqueueing calls in FlexCAN_Ip_EnableInterrupts_Privileged/113.
Enqueueing calls in FlexCAN_Ip_ClearBuffStatusFlag/112.
Enqueueing calls in FlexCAN_Ip_GetBuffStatusFlag/111.
Enqueueing calls in FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110.
Enqueueing calls in FlexCAN_Ip_SetTDCOffset_Privileged/109.
Enqueueing calls in FlexCAN_Ip_GetBitrateFD/108.
Enqueueing calls in FlexCAN_Ip_SetBitrateCbt_Privileged/107.
Enqueueing calls in FlexCAN_Ip_GetTDCValue_Privileged/106.
Enqueueing calls in FlexCAN_Ip_GetTDCFail_Privileged/105.
Enqueueing calls in FlexCAN_Ip_ClearTDCFail_Privileged/104.
Enqueueing calls in FlexCAN_Ip_GetBitrate/103.
Enqueueing calls in FlexCAN_Ip_SetBitrate_Privileged/102.
Enqueueing calls in FlexCAN_Ip_SetRxMaskType_Privileged/101.
Enqueueing calls in FlexCAN_Ip_SetStopMode_Privileged/100.
Enqueueing calls in FlexCAN_Ip_SetStartMode_Privileged/99.
Enqueueing calls in FlexCAN_Ip_GetStartMode_Privileged/98.
Enqueueing calls in FlexCAN_Ip_GetStopMode_Privileged/97.
Enqueueing calls in FlexCAN_Ip_MainFunctionWrite/96.
Enqueueing calls in FlexCAN_Ip_MainFunctionBusOff_Privileged/95.
Enqueueing calls in FlexCAN_Ip_MainFunctionRead/94.
Enqueueing calls in FlexCAN_Ip_Deinit_Privileged/93.
Enqueueing calls in FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92.
Enqueueing calls in FlexCAN_Ip_SetRxIndividualMask_Privileged/91.
Enqueueing calls in FlexCAN_Ip_ExitFreezeMode_Privileged/90.
Enqueueing calls in FlexCAN_Ip_EnterFreezeMode_Privileged/89.
Enqueueing calls in FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88.
Enqueueing calls in FlexCAN_Ip_SendBlocking/87.
Enqueueing calls in FlexCAN_Busoff_Error_IRQHandler/86.
Enqueueing calls in FlexCAN_Ip_GetControllerRxErrorCounter/85.
Enqueueing calls in FlexCAN_Ip_GetControllerTxErrorCounter/84.
Enqueueing calls in FlexCAN_Ip_GetErrorStatus/83.
Enqueueing calls in FlexCAN_Ip_ClearErrorStatus/82.
Enqueueing calls in FlexCAN_IRQHandler/81.
Enqueueing calls in FlexCAN_CompleteRxMessageFifoData/80.
Enqueueing calls in FlexCAN_Ip_GetTransferStatus/79.
Enqueueing calls in FlexCAN_Ip_ConfigRemoteResponseMb/78.
Enqueueing calls in FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77.
Enqueueing calls in FlexCAN_Ip_ConfigRxFifo_Privileged/76.
Enqueueing calls in FlexCAN_Ip_RxFifoBlocking/75.
Enqueueing calls in FlexCAN_Ip_RxFifo/74.
Enqueueing calls in FlexCAN_Ip_ReceiveBlocking/73.
Enqueueing calls in FlexCAN_Ip_Receive/72.
Enqueueing calls in FlexCAN_Ip_ConfigRxMb/71.
Enqueueing calls in FlexCAN_Ip_Send/70.
Enqueueing calls in FlexCAN_Ip_Init_Privileged/69.
Enqueueing calls in FlexCAN_AbortRxTransfer/68.
Enqueueing calls in FlexCAN_AbortTxTransfer/67.
Enqueueing calls in FlexCAN_IRQHandlerEnhancedRxFIFO/66.
Enqueueing calls in FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65.
Enqueueing calls in FlexCAN_ProcessSpuriousInterruptMB/64.
Enqueueing calls in FlexCAN_IRQHandlerRxFIFO/63.
Enqueueing calls in FlexCAN_IRQHandlerTxMB/62.
Enqueueing calls in FlexCAN_IRQHandlerRxMB/61.
Enqueueing calls in FlexCAN_StartRxMessageFifoData/60.
Enqueueing calls in FlexCAN_StartSendData/59.
Enqueueing calls in FlexCAN_StartRxMessageBufferData/58.
Enqueueing calls in FlexCAN_ProccessLegacyRxFIFO/57.
Enqueueing calls in FlexCAN_ProccessEnhancedRxFifo/56.
Enqueueing calls in FlexCAN_StartRxMessageEnhancedFifoData/55.
Enqueueing calls in FlexCAN_CompleteRxMessageEnhancedFifoData/54.
Enqueueing calls in FlexCAN_InitController/53.
Enqueueing calls in FlexCAN_InitRxFifo/52.
Enqueueing calls in FlexCAN_SetRegDefaultVal/49.
Enqueueing calls in FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48.
Enqueueing calls in FlexCAN_GetEnhancedRxFIFOStatusFlag/46.
Enqueueing calls in FlexCAN_SetRxMaskType/43.
Enqueueing calls in FlexCAN_SetTxArbitrationStartDelay/42.
Enqueueing calls in FlexCAN_GetMsgBuffIntStatusFlag/36.
Enqueueing calls in RxFifoOcuppiedLastMsgBuff/29.
Enqueueing calls in FlexCAN_EnhCbtEnable/25.
Enqueueing calls in FlexCAN_EnableExtCbt/24.
Enqueueing calls in FlexCAN_GetFDTimeSegments/21.
Enqueueing calls in FlexCAN_GetTimeSegments/20.
Enqueueing calls in FlexCAN_GetExtendedTimeSegments/19.
Enqueueing calls in FlexCAN_GetEnhancedDataTimeSegments/18.
Enqueueing calls in FlexCAN_SetEnhancedDataTimeSegments/17.
Enqueueing calls in FlexCAN_GetEnhancedNominalTimeSegments/16.
Enqueueing calls in FlexCAN_SetEnhancedNominalTimeSegments/15.
Enqueueing calls in FlexCAN_SetExtendedTimeSegments/14.
Enqueueing calls in FlexCAN_SetTimeSegments/13.
Enqueueing calls in FlexCAN_SetFDTimeSegments/12.
Enqueueing calls in FlexCAN_GetBuffStatusImask/11.
Enqueueing calls in FlexCAN_GetBuffStatusFlag/10.
Enqueueing calls in FlexCAN_ClearMsgBuffIntStatusFlag/9.
Enqueueing calls in FlexCAN_SetListenOnlyMode/7.
Enqueueing calls in FlexCAN_SetFDEnabled/6.
Enqueueing calls in FlexCAN_DisableMemErrorDetection/5.
Enqueueing calls in FlexCAN_SetEnhancedTDCOffset/3.
Enqueueing calls in FlexCAN_SetTDCOffset/2.
Considering FlexCAN_GetEnhancedRxFIFOStatusFlag/46 with 9 size
to be inlined into FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 in ../RTD/src/FlexCAN_Ip.c:1373
Estimated badness is -31.750100, frequency 4.00.
Considering FlexCAN_GetEnhancedRxFIFOStatusFlag/46 with 9 size
to be inlined into FlexCAN_ProccessEnhancedRxFifo/56 in ../RTD/src/FlexCAN_Ip.c:713
Estimated badness is -24.816203, frequency 5.65.
Considering FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 with 9 size
to be inlined into FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 in ../RTD/src/FlexCAN_Ip.c:1375
Estimated badness is -10.310025, frequency 1.32.
Considering RxFifoOcuppiedLastMsgBuff/29 with 7 size
to be inlined into FlexCAN_AbortRxTransfer/68 in ../RTD/src/FlexCAN_Ip.c:1622
Estimated badness is -6.386383, frequency 0.67.
Considering FlexCAN_GetBuffStatusImask/11 with 23 size
to be inlined into FlexCAN_ProcessSpuriousInterruptMB/64 in ../RTD/src/FlexCAN_Ip.c:1334
Estimated badness is -1.754720, frequency 2.67.
Considering FlexCAN_SetListenOnlyMode/7 with 9 size
to be inlined into FlexCAN_Ip_SetListenOnlyMode_Privileged/119 in ../RTD/src/FlexCAN_Ip.c:4311
Estimated badness is -0.848569, frequency 0.12.
Considering FlexCAN_SetTxArbitrationStartDelay/42 with 9 size
to be inlined into FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 in ../RTD/src/FlexCAN_Ip.c:3889
Estimated badness is -0.802701, frequency 0.12.
Considering FlexCAN_SetTimeSegments.part.0/166 with 26 size
to be inlined into FlexCAN_SetTimeSegments/13 in unknown:0
Estimated badness is -0.685185, frequency 0.50.
Considering FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 with 30 size
to be inlined into FlexCAN_SetEnhancedNominalTimeSegments/15 in unknown:0
Estimated badness is -0.628352, frequency 0.50.
Considering FlexCAN_SetEnhancedDataTimeSegments.part.0/172 with 30 size
to be inlined into FlexCAN_SetEnhancedDataTimeSegments/17 in unknown:0
Estimated badness is -0.628352, frequency 0.50.
Considering FlexCAN_DisableMemErrorDetection/5 with 13 size
to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:367
Estimated badness is -0.622597, frequency 0.35.
Considering FlexCAN_SetExtendedTimeSegments.part.0/168 with 27 size
to be inlined into FlexCAN_SetExtendedTimeSegments/14 in unknown:0
Estimated badness is -0.621849, frequency 0.50.
Considering FlexCAN_SetFDTimeSegments.part.0/164 with 27 size
to be inlined into FlexCAN_SetFDTimeSegments/12 in unknown:0
Estimated badness is -0.621849, frequency 0.50.
Considering FlexCAN_SetRxMaskType/43 with 11 size
to be inlined into FlexCAN_Ip_SetRxMaskType_Privileged/101 in ../RTD/src/FlexCAN_Ip.c:3441
Estimated badness is -0.549999, frequency 0.12.
Considering FlexCAN_SetFDEnabled/6 with 18 size
to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:372
Estimated badness is -0.313333, frequency 0.35.
Considering FlexCAN_EnhCbtEnable/25 with 9 size
to be inlined into FlexCAN_Ip_SetBitrate_Privileged/102 in ../RTD/src/FlexCAN_Ip.c:3496
Estimated badness is -0.265188, frequency 0.06.
Considering FlexCAN_EnableExtCbt/24 with 9 size
to be inlined into FlexCAN_Ip_Init_Privileged/69 in ../RTD/src/FlexCAN_Ip.c:1694
Estimated badness is -0.215221, frequency 0.08.
Considering FlexCAN_GetFDTimeSegments/21 with 22 size
to be inlined into FlexCAN_Ip_GetBitrateFD/108 in ../RTD/src/FlexCAN_Ip.c:3784
Estimated badness is -0.191923, frequency 0.13.
Considering FlexCAN_SetEnhancedTDCOffset/3 with 12 size
to be inlined into FlexCAN_Ip_SetTDCOffset_Privileged/109 in ../RTD/src/FlexCAN_Ip.c:3830
Estimated badness is -0.165006, frequency 0.06.
Considering FlexCAN_SetTDCOffset/2 with 12 size
to be inlined into FlexCAN_Ip_SetTDCOffset_Privileged/109 in ../RTD/src/FlexCAN_Ip.c:3835
Estimated badness is -0.165006, frequency 0.06.
Considering FlexCAN_GetEnhancedNominalTimeSegments/16 with 18 size
to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3551
Estimated badness is -0.156541, frequency 0.08.
Considering FlexCAN_GetTimeSegments/20 with 21 size
to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3563
Estimated badness is -0.146547, frequency 0.10.
Considering FlexCAN_GetEnhancedDataTimeSegments/18 with 24 size
to be inlined into FlexCAN_Ip_GetBitrateFD/108 in ../RTD/src/FlexCAN_Ip.c:3779
Estimated badness is -0.111724, frequency 0.13.
Considering FlexCAN_GetExtendedTimeSegments/19 with 22 size
to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3558
Estimated badness is -0.090379, frequency 0.07.
Considering FlexCAN_SetRegDefaultVal/49 with 57 size
to be inlined into FlexCAN_Ip_Deinit_Privileged/93 in ../RTD/src/FlexCAN_Ip.c:3186
Estimated badness is -0.080317, frequency 0.16.
Considering FlexCAN_SetFDEnabled/6 with 18 size
to be inlined into FlexCAN_Ip_SetBitrateCbt_Privileged/107 in ../RTD/src/FlexCAN_Ip.c:3731
Estimated badness is -0.034806, frequency 0.03.
Considering FlexCAN_InitRxFifo/52 with 25 size
to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:389
Estimated badness is -0.017621, frequency 0.35.
Considering FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 with 9 size
to be inlined into FlexCAN_GetMsgBuffIntStatusFlag/36 in unknown:0
Estimated badness is -0.005805, frequency 0.12.
Considering FlexCAN_ProcessSpuriousInterruptMB/64 with 51 size
to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2562
Estimated badness is -0.003487, frequency 0.04.
Considering FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 with 33 size
to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2553
Estimated badness is -0.001391, frequency 0.01.
Considering FlexCAN_InitController/53 with 100 size
to be inlined into FlexCAN_Ip_Init_Privileged/69 in ../RTD/src/FlexCAN_Ip.c:1690
Estimated badness is -0.001100, frequency 0.25.
Considering FlexCAN_ProccessEnhancedRxFifo/56 with 58 size
to be inlined into FlexCAN_Ip_RxFifoBlocking/75 in ../RTD/src/FlexCAN_Ip.c:2117
Estimated badness is -0.000544, frequency 0.05.
Considering FlexCAN_CompleteRxMessageEnhancedFifoData/54 with 26 size
to be inlined into FlexCAN_IRQHandlerEnhancedRxFIFO/66 in ../RTD/src/FlexCAN_Ip.c:1438
Estimated badness is -0.000477, frequency 0.02.
Considering FlexCAN_StartRxMessageFifoData.part.0/179 with 41 size
to be inlined into FlexCAN_StartRxMessageFifoData/60 in unknown:0
Estimated badness is -0.000300, frequency 0.50.
Considering FlexCAN_AbortTxTransfer/67 with 48 size
to be inlined into FlexCAN_Ip_AbortTransfer/116 in ../RTD/src/FlexCAN_Ip.c:4154
Estimated badness is -0.000218, frequency 0.01.
Considering FlexCAN_AbortRxTransfer/68 with 47 size
to be inlined into FlexCAN_Ip_AbortTransfer/116 in ../RTD/src/FlexCAN_Ip.c:4159
Estimated badness is -0.000204, frequency 0.01.
Considering FlexCAN_IRQHandlerTxMB/62 with 73 size
to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2533
Estimated badness is -0.000070, frequency 0.01.
Considering FlexCAN_CompleteRxMessageFifoData/80 with 36 size
to be inlined into FlexCAN_IRQHandlerRxFIFO/63 in ../RTD/src/FlexCAN_Ip.c:1288
Estimated badness is -0.000000, frequency 0.02.
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 1650.036266 weighted by profile: 0.000000
Why inlining failed?
function body not available : 149 calls, 35.776769 freq, 0 count
--param max-inline-insns-auto limit reached : 14 calls, 1.452852 freq, 0 count
call is unlikely and code size would grow : 47 calls, 15.009144 freq, 0 count
IPA function summary for FlexCAN_Ip_GetListenOnlyMode/120 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_SetListenOnlyMode_Privileged/119 inlinable
global time: 16.183708
self size: 33
global size: 35
min size: 30
self stack: 0
global stack: 0
size:23.000000, time:10.876250
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.247499, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetListenOnlyMode/7 inlined
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMb15Mask_Privileged/118 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMb14Mask_Privileged/117 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_AbortTransfer/116 inlinable
global time: 15.790805
self size: 40
global size: 122
min size: 0
self stack: 0
global stack: 4
size:10.000000, time:6.500000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:58.000000, time:1.706571, executed if:(op1 <= 95)
size:2.000000, time:0.016192, executed if:(op1 <= 95), nonconst if:(op1 changed) && (op1 <= 95)
size:1.000000, time:0.002672, executed if:(op1 == 0) && (op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_AbortRxTransfer/68 inlined
loop depth: 0 freq:0.01 size: 3 time: 12callee size:23 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 <= 95)
op0 change 99.990000% of time
op1 change 99.990000% of time
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.00 size: 4 time: 13 predicate: (op1 <= 95)
FLEXCAN_ClearMsgBuffIntCmd/162 function body not available
loop depth: 0 freq:0.00 size: 5 time: 14 predicate: (op1 == 0) && (op1 <= 95)
op2 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.00 size: 4 time: 13 predicate: (op1 <= 95)
RxFifoOcuppiedLastMsgBuff/29 inlined
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_AbortTxTransfer/67 inlined
loop depth: 0 freq:0.01 size: 4 time: 13callee size:24 stack: 4
Stack frame offset 0, callee self size 4, callee size 4
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 <= 95)
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 1 freq:0.11 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 <= 95)
op0 change 10.690000% of time
op1 change 10.690000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:0.11 size: 4 time: 13 predicate: (op1 <= 95)
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op1 <= 95)
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13 predicate: (op1 <= 95)
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13 predicate: (op1 <= 95)
FLEXCAN_ClearMsgBuffIntCmd/162 function body not available
loop depth: 0 freq:0.06 size: 5 time: 14 predicate: (op1 <= 95)
IPA function summary for FlexCAN_Ip_SetErrorInt_Privileged/115 inlinable
global time: 18.373233
self size: 68
global size: 68
min size: 12
self stack: 0
global stack: 0
size:18.000000, time:7.709837
size:3.000000, time:0.927450, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:12.000000, time:1.745003, nonconst if:(op1 changed)
size:4.000000, time:0.290890, executed if:(op1 == 1)
size:4.000000, time:0.290890, executed if:(op1 == 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.12 size: 3 time: 12
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 1)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 0)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 3)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 2)
op1 is compile time invariant
FlexCAN_SetErrIntCmd/161 function body not available
loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 4)
op1 is compile time invariant
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_DisableInterrupts_Privileged/114 inlinable
global time: 15.331072
self size: 27
global size: 27
min size: 10
self stack: 0
global stack: 0
size:18.000000, time:8.560843
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.21 size: 3 time: 12
FlexCAN_DisableInterrupts/160 function body not available
loop depth: 0 freq:0.21 size: 2 time: 11
IPA function summary for FlexCAN_Ip_EnableInterrupts_Privileged/113 inlinable
global time: 13.921378
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:8.611247
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.07 size: 3 time: 12
FlexCAN_EnableInterrupts/159 function body not available
loop depth: 0 freq:0.21 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ClearBuffStatusFlag/112 inlinable
global time: 10.688379
self size: 15
global size: 15
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:4.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:0.255602, executed if:(op1 == 255)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.24 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 != 255)
IPA function summary for FlexCAN_Ip_GetBuffStatusFlag/111 inlinable
global time: 11.432777
self size: 18
global size: 18
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:4.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:1.000000, nonconst if:(op1 changed)
size:1.000000, time:0.244398, executed if:(op1 != 255)
size:2.000000, time:0.511204, executed if:(op1 == 255)
array index:(op0 changed)
calls:
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 0 freq:0.24 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255)
IPA function summary for FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 inlinable
global time: 18.658702
self size: 35
global size: 37
min size: 38
self stack: 0
global stack: 0
size:23.000000, time:10.876250
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.247499, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_SetTxArbitrationStartDelay/42 inlined
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetTDCOffset_Privileged/109 inlinable
global time: 19.277479
self size: 44
global size: 52
min size: 72
self stack: 0
global stack: 0
size:28.000000, time:11.247509
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:0.247509, nonconst if:(op1 changed)
size:4.000000, time:0.123754, executed if:(op1 != 0)
size:4.000000, time:0.123754, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_SetTDCOffset/2 inlined
loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_SetEnhancedTDCOffset/3 inlined
loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 function body not available
loop depth: 0 freq:0.12 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetBitrateFD/108 inlinable
global time: 12.593808
self size: 25
global size: 50
min size: 18
self stack: 0
global stack: 0
size:43.500000, time:10.468805
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.625002, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_GetFDTimeSegments/21 inlined
loop depth: 0 freq:0.13 size: 3 time: 12callee size:11 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetEnhancedDataTimeSegments/18 inlined
loop depth: 0 freq:0.13 size: 3 time: 12callee size:12 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_Ip_SetBitrateCbt_Privileged/107 inlinable
global time: 14.955040
self size: 56
global size: 64
min size: 64
self stack: 0
global stack: 0
size:43.000000, time:10.373149
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:2.000000, time:0.061877, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 function body not available
loop depth: 0 freq:0.03 size: 1 time: 10
FlexCAN_SetFDTimeSegments/12 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0
FlexCAN_SetEnhancedDataTimeSegments/17 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0
FlexCAN_SetFDEnabled/6 inlined
loop depth: 0 freq:0.03 size: 4 time: 13callee size: 9 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 function body not available
loop depth: 0 freq:0.03 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetTDCValue_Privileged/106 inlinable
global time: 14.586837
self size: 28
global size: 28
min size: 10
self stack: 0
global stack: 0
size:19.000000, time:9.654376
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetTDCFail_Privileged/105 inlinable
global time: 15.241213
self size: 31
global size: 31
min size: 10
self stack: 0
global stack: 0
size:22.000000, time:10.308753
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ClearTDCFail_Privileged/104 inlinable
global time: 15.241213
self size: 31
global size: 31
min size: 10
self stack: 0
global stack: 0
size:22.000000, time:10.308753
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 2 time: 11
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetBitrate/103 inlinable
global time: 13.114918
self size: 31
global size: 60
min size: 36
self stack: 0
global stack: 0
size:54.500000, time:11.114918
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_GetTimeSegments/20 inlined
loop depth: 0 freq:0.10 size: 3 time: 12callee size:10 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetExtendedTimeSegments/19 inlined
loop depth: 0 freq:0.07 size: 3 time: 12callee size:11 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetEnhancedNominalTimeSegments/16 inlined
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 9 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_Ip_SetBitrate_Privileged/102 inlinable
global time: 15.320064
self size: 54
global size: 56
min size: 38
self stack: 0
global stack: 0
size:27.000000, time:9.438132
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op1 changed)
size:4.000000, time:0.247509, nonconst if:(op2 changed)
size:3.000000, time:0.124374, executed if:(op2 == 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
FlexCAN_SetTimeSegments/13 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:13 stack: 0 predicate: (op2 == 0)
FlexCAN_SetExtendedTimeSegments/14 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 predicate: (op2 == 0)
FlexCAN_SetEnhancedNominalTimeSegments/15 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 predicate: (op2 != 0)
FlexCAN_EnhCbtEnable/25 inlined
loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 function body not available
loop depth: 0 freq:0.06 size: 1 time: 10
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.06 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMaskType_Privileged/101 inlinable
global time: 16.059959
self size: 33
global size: 36
min size: 30
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.247499, nonconst if:(op1 changed)
size:2.000000, time:0.123750, executed if:(op1 != 0)
size:2.000000, time:0.123750, executed if:(op1 == 0)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetRxMaskType/43 inlined
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 5 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetStopMode_Privileged/100 inlinable
global time: 15.479977
self size: 17
global size: 17
min size: 12
self stack: 0
global stack: 0
size:7.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetStartMode_Privileged/99 inlinable
global time: 14.000000
self size: 15
global size: 15
min size: 6
self stack: 0
global stack: 0
size:8.000000, time:6.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_ExitFreezeMode/149 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_GetStartMode_Privileged/98 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetStopMode_Privileged/97 inlinable
global time: 6.000000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_MainFunctionWrite/96 inlinable
global time: 20.119945
self size: 26
global size: 26
min size: 22
self stack: 0
global stack: 0
size:11.000000, time:7.494994
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.16 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffTimestamp/147 function body not available
loop depth: 0 freq:0.16 size: 4 time: 13
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 4 time: 13callee size:11 stack: 0
IPA function summary for FlexCAN_Ip_MainFunctionBusOff_Privileged/95 inlinable
global time: 14.325009
self size: 25
global size: 25
min size: 14
self stack: 0
global stack: 0
size:14.000000, time:9.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
indirect call loop depth: 0 freq:0.18 size: 7 time: 19
IPA function summary for FlexCAN_Ip_MainFunctionRead/94 inlinable
global time: 15.524457
self size: 61
global size: 61
min size: 0
self stack: 0
global stack: 0
size:10.000000, time:8.000000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:8.000000, time:1.062310, executed if:(op1 != 255)
size:2.000000, time:0.267197, executed if:(op1 != 255), nonconst if:(op1 changed) && (op1 != 255)
size:2.000000, time:0.133598, executed if:(op1 <= 7) && (op1 != 255), nonconst if:(op1 changed) && (op1 <= 7) && (op1 != 255)
size:5.000000, time:0.166986, executed if:(op1 == 0) && (op1 <= 7) && (op1 != 255)
size:10.000000, time:0.228971, executed if:(op1 == 255)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 predicate: (op1 != 255)
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 0 freq:0.13 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255)
FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size:50 stack:80 predicate: (op1 == 0) && (op1 <= 7) && (op1 != 255)
op1 is compile time invariant
FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.00 size: 3 time: 12callee size:51 stack:80 predicate: (op1 == 255)
op1 is compile time invariant
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 255)
IPA function summary for FlexCAN_Ip_Deinit_Privileged/93 inlinable
global time: 26.168606
self size: 19
global size: 54
min size: 42
self stack: 0
global stack: 0
size:35.500000, time:10.413698
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.16 size: 2 time: 11
FlexCAN_SetRegDefaultVal/49 inlined
loop depth: 0 freq:0.16 size: 2 time: 11callee size:28 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetMaxMbNum/150 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
FlexCAN_GetMaxMbNum/150 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 inlinable
global time: 15.752459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:10.692500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxIndividualMask_Privileged/91 inlinable
global time: 13.559176
self size: 37
global size: 37
min size: 0
self stack: 0
global stack: 0
size:9.000000, time:7.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.649999, nonconst if:(op1 changed)
size:16.000000, time:2.616350, executed if:(op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95)
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95)
IPA function summary for FlexCAN_Ip_ExitFreezeMode_Privileged/90 inlinable
global time: 15.000000
self size: 7
global size: 7
min size: 6
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_ExitFreezeMode/149 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
IPA function summary for FlexCAN_Ip_EnterFreezeMode_Privileged/89 inlinable
global time: 15.000000
self size: 7
global size: 7
min size: 6
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 inlinable
global time: 16.252459
self size: 31
global size: 31
min size: 12
self stack: 0
global stack: 0
size:21.000000, time:11.192500
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_SendBlocking/87 inlinable
global time: 83.516070
self size: 94
global size: 94
min size: 94
self stack: 4
global stack: 4
size:41.000000, time:16.454379
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op5 changed)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 1 freq:0.13 size: 4 time: 13callee size:11 stack: 0
op1 change 95.340000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:0.12 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.01 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_GetMsgBuffRegion/148 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 1 freq:1.17 size: 4 time: 13callee size:11 stack: 0
op0 change 85.580000% of time
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:1.10 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_StartSendData/59 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.25 size: 7 time: 16callee size:29 stack:16
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_Busoff_Error_IRQHandler/86 inlinable
global time: 26.261395
self size: 109
global size: 109
min size: 70
self stack: 0
global stack: 0
size:70.000000, time:18.652206
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
indirect call loop depth: 0 freq:0.05 size: 7 time: 19
indirect call loop depth: 0 freq:0.06 size: 7 time: 19
IPA function summary for FlexCAN_Ip_GetControllerRxErrorCounter/85 inlinable
global time: 8.000000
self size: 11
global size: 11
min size: 0
self stack: 0
global stack: 0
size:7.000000, time:6.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetControllerTxErrorCounter/84 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_GetErrorStatus/83 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_Ip_ClearErrorStatus/82 inlinable
global time: 7.500000
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:6.000000, time:5.500000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_IRQHandler/81 inlinable
global time: 60.573503
self size: 94
global size: 231
min size: 332
self stack: 0
global stack: 80
size:114.500000, time:22.711713
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
size:4.000000, time:0.500000, nonconst if:(op3 changed)
size:37.000000, time:1.037857, executed if:(op3 != 0)
loop iterations:(op2 changed || op1 changed)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 1 freq:0.94 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_ProcessSpuriousInterruptMB/64 inlined
loop depth: 0 freq:0.04 size: 4 time: 13callee size:25 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 1 freq:0.02 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetBuffStatusImask/11 inlined
loop depth: 1 freq:0.12 size: 4 time: 13callee size:11 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 1 freq:0.36 size: 4 time: 13callee size:11 stack: 0
op0 change 12.350000% of time
FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 inlined
loop depth: 0 freq:0.01 size: 4 time: 13callee size:16 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached
loop depth: 1 freq:0.00 size: 3 time: 12callee size:51 stack:80 predicate: (op3 != 0)
FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 inlined
loop depth: 1 freq:0.01 size: 4 time: 13callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_GetEnhancedRxFIFOStatusFlag/311 inlined
loop depth: 1 freq:0.04 size: 4 time: 13callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow
loop depth: 0 freq:0.07 size: 4 time: 13callee size:12 stack: 0
FlexCAN_IRQHandlerTxMB/62 inlined
loop depth: 0 freq:0.01 size: 3 time: 12callee size:36 stack:80
Stack frame offset 0, callee self size 80, callee size 80
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.00 size: 6 time: 15
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.00 size: 6 time: 15
op3 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuffTimestamp/147 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.00 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuff/140 function body not available
loop depth: 0 freq:0.01 size: 4 time: 13
op2 is compile time invariant
FlexCAN_LockRxMsgBuff/139 function body not available
loop depth: 0 freq:0.01 size: 3 time: 12
indirect call loop depth: 0 freq:0.01 size: 7 time: 19
FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80
FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size:50 stack:80
FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow
loop depth: 1 freq:1.12 size: 4 time: 13callee size:12 stack: 0
op0 change 89.610000% of time
FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow
loop depth: 0 freq:0.13 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_Ip_GetTransferStatus/79 inlinable
global time: 10.750014
self size: 23
global size: 23
min size: 0
self stack: 0
global stack: 0
size:9.000000, time:7.000000
size:3.000000, time:0.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:4.000000, time:1.500000, nonconst if:(op1 changed)
size:3.000000, time:0.375007, executed if:(op1 > 95)
size:3.000000, time:0.375007, executed if:(op1 <= 95)
array index:(op1 changed) && (op0 changed)
calls:
IPA function summary for FlexCAN_Ip_ConfigRemoteResponseMb/78 inlinable
global time: 19.958053
self size: 53
global size: 53
min size: 46
self stack: 16
global stack: 16
size:23.000000, time:9.994799
size:5.000000, time:0.738847, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.04 size: 7 time: 16
op3 is compile time invariant
FlexCAN_SetTxMsgBuff/134 function body not available
loop depth: 0 freq:0.12 size: 7 time: 16
op2 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 inlinable
global time: 19.012512
self size: 45
global size: 45
min size: 24
self stack: 0
global stack: 0
size:28.000000, time:10.376264
size:3.000000, time:0.249995, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.250000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_SetEnhancedRxFifoFilter/146 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.03 size: 3 time: 12
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ConfigRxFifo_Privileged/76 inlinable
global time: 17.173706
self size: 34
global size: 34
min size: 20
self stack: 0
global stack: 0
size:20.000000, time:10.505001
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
FlexCAN_SetRxFifoFilter/145 function body not available
loop depth: 0 freq:0.12 size: 4 time: 13
FlexCAN_Enable/144 function body not available
loop depth: 0 freq:0.13 size: 3 time: 12
IPA function summary for FlexCAN_Ip_RxFifoBlocking/75 inlinable
global time: 38.346478
self size: 47
global size: 98
min size: 128
self stack: 0
global stack: 4
size:55.500000, time:14.891922
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.045328, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_ProccessLegacyRxFIFO/57 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.05 size: 4 time: 13callee size:37 stack: 4
FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.16 size: 4 time: 13callee size:23 stack: 0
FlexCAN_ProccessLegacyRxFIFO/57 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.07 size: 4 time: 13callee size:37 stack: 4
FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.20 size: 4 time: 13callee size:23 stack: 0
FlexCAN_ProccessEnhancedRxFifo/56 inlined
loop depth: 0 freq:0.05 size: 4 time: 13callee size:29 stack: 4
Stack frame offset 0, callee self size 4, callee size 4
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:0.40 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached
loop depth: 2 freq:0.08 size: 3 time: 12callee size:51 stack:80
op0 change 53.590000% of time
FlexCAN_GetEnhancedRxFIFOStatusFlag/46 inlined
loop depth: 2 freq:0.26 size: 4 time: 13callee size: 4 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:0.05 size: 4 time: 13
op1 is compile time invariant
FlexCAN_StartRxMessageEnhancedFifoData/55 call is unlikely and code size would grow
loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_RxFifo/74 inlinable
global time: 21.005006
self size: 29
global size: 29
min size: 30
self stack: 0
global stack: 0
size:10.000000, time:6.505006
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.16 size: 4 time: 13callee size:23 stack: 0
FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.20 size: 4 time: 13callee size:23 stack: 0
FlexCAN_StartRxMessageEnhancedFifoData/55 call is unlikely and code size would grow
loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.50 size: 3 time: 12
IPA function summary for FlexCAN_Ip_ReceiveBlocking/73 inlinable
global time: 80.158218
self size: 80
global size: 80
min size: 34
self stack: 4
global stack: 4
size:28.000000, time:20.554627
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op4 changed)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:6.000000, time:3.755164, nonconst if:(op3 changed)
size:2.000000, time:0.138600, executed if:(op3 == 0)
size:2.000000, time:0.962002, executed if:(op3 != 0)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.06 size: 6 time: 15 predicate: (op3 == 0)
op3 is compile time invariant
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:1.46 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached
loop depth: 1 freq:0.16 size: 3 time: 12callee size:29 stack:80 predicate: (op3 != 0)
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 1 freq:0.48 size: 4 time: 13callee size:11 stack: 0 predicate: (op3 != 0)
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:0.16 size: 3 time: 12
op0 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0)
op3 is compile time invariant
FlexCAN_StartRxMessageBufferData/58 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for FlexCAN_Ip_Receive/72 inlinable
global time: 18.402523
self size: 28
global size: 28
min size: 12
self stack: 0
global stack: 0
size:8.000000, time:7.000000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:0.500000, nonconst if:(op3 changed)
size:1.000000, time:0.082501, executed if:(op3 == 0)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0)
op3 is compile time invariant
FlexCAN_StartRxMessageBufferData/58 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0
IPA function summary for FlexCAN_Ip_ConfigRxMb/71 inlinable
global time: 22.273693
self size: 52
global size: 52
min size: 48
self stack: 16
global stack: 16
size:21.500000, time:9.895678
size:4.500000, time:0.679136, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_SetRxMsgBuff/135 function body not available
loop depth: 0 freq:0.12 size: 5 time: 14
op2 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_Ip_Send/70 inlinable
global time: 12.840162
self size: 39
global size: 39
min size: 28
self stack: 0
global stack: 0
size:19.500000, time:9.281735
size:3.500000, time:0.520624, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.01 size: 7 time: 16
op3 is compile time invariant
FlexCAN_StartSendData/59 --param max-inline-insns-auto limit reached
loop depth: 0 freq:0.08 size: 7 time: 16callee size:29 stack:16
IPA function summary for FlexCAN_Ip_Init_Privileged/69 inlinable
global time: 63.459956
self size: 90
global size: 180
min size: 258
self stack: 0
global stack: 0
size:95.000000, time:33.904177
size:15.000000, time:8.901571, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op0 changed)
calls:
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.08 size: 3 time: 12
FlexCAN_SetOperationMode/123 function body not available
loop depth: 0 freq:0.08 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_SetTimeSegments/13 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:13 stack: 0
FlexCAN_SetFDTimeSegments/12 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0
FlexCAN_SetExtendedTimeSegments/14 call is unlikely and code size would grow
loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_SetEnhancedDataTimeSegments/17 call is unlikely and code size would grow
loop depth: 0 freq:0.01 size: 3 time: 12callee size:14 stack: 0
FlexCAN_SetEnhancedNominalTimeSegments/15 call is unlikely and code size would grow
loop depth: 0 freq:0.04 size: 3 time: 12callee size:14 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
FlexCAN_EnableExtCbt/24 inlined
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_InitController/53 inlined
loop depth: 0 freq:0.25 size: 4 time: 13callee size:50 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.01 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.01 size: 2 time: 11
FlexCAN_SetMaxMsgBuffNum/129 function body not available
loop depth: 0 freq:0.04 size: 4 time: 13
FlexCAN_SetPayloadSize/128 function body not available
loop depth: 0 freq:0.04 size: 3 time: 12
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.04 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.04 size: 2 time: 11
FlexCAN_InitRxFifo/52 inlined
loop depth: 0 freq:0.09 size: 4 time: 13callee size:12 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_EnableEnhancedRxFifo/131 function body not available
loop depth: 0 freq:0.02 size: 6 time: 15
FlexCAN_EnableRxFifo/130 function body not available
loop depth: 0 freq:0.03 size: 4 time: 13
FlexCAN_ConfigCtrlOptions/127 function body not available
loop depth: 0 freq:0.09 size: 3 time: 12
FlexCAN_SetFDEnabled/312 inlined
loop depth: 0 freq:0.09 size: 4 time: 13callee size: 9 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_DisableMemErrorDetection/5 inlined
loop depth: 0 freq:0.09 size: 2 time: 11callee size: 6 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.09 size: 2 time: 11
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.09 size: 2 time: 11
FlexCAN_Init/126 function body not available
loop depth: 0 freq:0.18 size: 3 time: 12
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available
loop depth: 0 freq:0.18 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available
loop depth: 0 freq:0.18 size: 1 time: 10
FlexCAN_Disable/125 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12
FlexCAN_EnterFreezeMode/124 function body not available
loop depth: 0 freq:0.15 size: 3 time: 12
IPA function summary for FlexCAN_IRQHandlerEnhancedRxFIFO/66 inlinable
global time: 22.716670
self size: 82
global size: 103
min size: 2
self stack: 80
global stack: 80
estimated growth:99
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:10.000000, time:4.000000, nonconst if:(op1 changed)
size:1.000000, time:0.200000, executed if:(op1 == 31), nonconst if:(op1 changed) && (op1 == 31)
size:4.000000, time:0.800000, executed if:(op1 == 31)
size:1.000000, time:0.200000, executed if:(op1 == 30), nonconst if:(op1 changed) && (op1 == 30)
size:4.000000, time:0.800000, executed if:(op1 == 30)
size:1.000000, time:0.200000, executed if:(op1 == 29), nonconst if:(op1 changed) && (op1 == 29)
size:4.000000, time:0.800000, executed if:(op1 == 29)
size:37.000000, time:1.791190, executed if:(op1 == 28)
size:1.000000, time:0.068000, executed if:(op1 == 28), nonconst if:(op1 changed) && (op1 == 28)
size:1.000000, time:0.022440, executed if:(op1 == 28), nonconst if:(op0 changed) && (op1 == 28)
array index:(op0 changed)
calls:
FlexCAN_CompleteRxMessageEnhancedFifoData/54 inlined
loop depth: 0 freq:0.02 size: 2 time: 11callee size:13 stack: 0
Stack frame offset 80, callee self size 0, callee size 0
FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available
loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op1 == 28)
FlexCAN_ReadEnhancedRxFifo/142 function body not available
loop depth: 0 freq:0.07 size: 3 time: 12 predicate: (op1 == 28)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 31)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 30)
indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 29)
indirect call loop depth: 0 freq:0.05 size: 7 time: 19predicate: (op1 == 28)
IPA function summary for FlexCAN_IRQHandlerRxFIFO/63 inlinable
global time: 28.799756
self size: 70
global size: 101
min size: 6
self stack: 80
global stack: 80
estimated growth:88
size:6.000000, time:5.300000
size:3.000000, time:2.000000, executed if:(not inlined)
size:8.000000, time:4.000000, nonconst if:(op1 changed)
size:3.000000, time:0.750000, executed if:(op1 == 7)
size:3.000000, time:0.750000, executed if:(op1 == 6)
size:26.000000, time:1.321696, executed if:(op1 == 5)
size:1.000000, time:0.016698, executed if:(op1 == 5), nonconst if:(op0 changed) && (op1 == 5)
array index:(op0 changed)
calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 7)
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 6)
FlexCAN_CompleteRxMessageFifoData/80 inlined
loop depth: 0 freq:0.02 size: 2 time: 11callee size:18 stack: 0
Stack frame offset 80, callee self size 0, callee size 0
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5)
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5)
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5)
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.05 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 5)
FlexCAN_ReadRxFifo/143 function body not available
loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 5)
indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 7)
indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 6)
indirect call loop depth: 0 freq:0.04 size: 7 time: 19predicate: (op1 == 5)
IPA function summary for FlexCAN_IRQHandlerRxMB/61 inlinable
global time: 77.031900
self size: 59
global size: 59
min size: 27
self stack: 80
global stack: 80
estimated growth:100
size:27.000000, time:20.190275
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.14 size: 6 time: 15
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op3 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_GetMsgBuff/140 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
FlexCAN_LockRxMsgBuff/139 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
indirect call loop depth: 0 freq:0.70 size: 7 time: 19
IPA function summary for FlexCAN_StartRxMessageFifoData/60 inlinable
global time: 13.070404
self size: 12
global size: 46
min size: 24
self stack: 0
global stack: 0
estimated growth:8
size:24.000000, time:8.657250
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
FlexCAN_StartRxMessageFifoData.part.0/179 inlined
loop depth: 0 freq:0.50 size: 4 time: 13callee size:20 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.05 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.05 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.05 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
IPA function summary for FlexCAN_StartSendData/59 inlinable
global time: 18.885922
self size: 58
global size: 58
min size: 34
self stack: 16
global stack: 16
estimated growth:32
size:33.500000, time:10.690707
size:6.500000, time:0.771691, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:0.500000, nonconst if:(op2 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_SetTxMsgBuff/134 function body not available
loop depth: 0 freq:0.08 size: 7 time: 16
op2 is compile time invariant
op5 is compile time invariant
FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow
loop depth: 0 freq:0.08 size: 3 time: 12callee size: 7 stack: 0
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.25 size: 6 time: 15
IPA function summary for FlexCAN_StartRxMessageBufferData/58 inlinable
global time: 19.108755
self size: 26
global size: 26
min size: 16
self stack: 0
global stack: 0
estimated growth:8
size:16.000000, time:9.608755
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op1 changed) && (op0 changed)
calls:
FlexCAN_IsMbOutOfRange/133 function body not available
loop depth: 0 freq:0.50 size: 6 time: 15
IPA function summary for FlexCAN_ProccessLegacyRxFIFO/57 inlinable
global time: 338.159771
self size: 74
global size: 74
min size: 34
self stack: 4
global stack: 4
estimated growth:60
size:34.000000, time:115.926893
size:3.000000, time:1.999800, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
array index:(op0 changed)
calls:
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
FlexCAN_SetMsgBuffIntCmd/132 function body not available
loop depth: 0 freq:0.17 size: 6 time: 15
op2 is compile time invariant
op3 is compile time invariant
OsIf_GetElapsed/138 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow
loop depth: 2 freq:1.40 size: 3 time: 12callee size:50 stack:80
op0 change 71.460000% of time
FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow
loop depth: 2 freq:4.24 size: 4 time: 13callee size:11 stack: 0
op0 change 23.580000% of time
OsIf_GetCounter/137 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
OsIf_MicrosToTicks/136 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op1 is compile time invariant
IPA function summary for FlexCAN_StartRxMessageEnhancedFifoData/55 inlinable
global time: 13.449210
self size: 28
global size: 28
min size: 24
self stack: 0
global stack: 0
estimated growth:14
size:24.000000, time:11.449210
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag/36 inlinable
global time: 10.125000
self size: 24
global size: 25
min size: 0
self stack: 0
global stack: 0
estimated growth:21
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31)
size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31)
size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:1.000000, time:0.125000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:1.000000, time:0.125000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 864] changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
calls:
FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 inlined
loop depth: 0 freq:0.12 size: 4 time: 13callee size: 4 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_SetEnhancedDataTimeSegments/17 inlinable
global time: 16.250000
self size: 11
global size: 29
min size: 11
self stack: 0
global stack: 0
estimated growth:-1
size:10.500000, time:7.250000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24512] changed)
size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 0] changed)
size:2.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed)
calls:
FlexCAN_SetEnhancedDataTimeSegments.part.0/172 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments/15 inlinable
global time: 16.250000
self size: 11
global size: 29
min size: 11
self stack: 0
global stack: 0
estimated growth:-1
size:10.500000, time:7.250000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24480] changed)
size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 32] changed)
size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 0] changed)
size:3.000000, time:1.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 96] changed)
calls:
FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_SetExtendedTimeSegments/14 inlinable
global time: 15.750000
self size: 11
global size: 28
min size: 7
self stack: 0
global stack: 0
estimated growth:-1
size:6.500000, time:5.250000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 640] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
FlexCAN_SetExtendedTimeSegments.part.0/168 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_SetTimeSegments/13 inlinable
global time: 15.250000
self size: 11
global size: 27
min size: 7
self stack: 0
global stack: 0
estimated growth:-1
size:6.500000, time:5.250000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 32] changed)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 0] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
FlexCAN_SetTimeSegments.part.0/166 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_SetFDTimeSegments/12 inlinable
global time: 15.750000
self size: 11
global size: 28
min size: 7
self stack: 0
global stack: 0
estimated growth:-1
size:6.500000, time:5.250000
size:3.000000, time:1.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24608] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed)
size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 64] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed)
size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed)
calls:
FlexCAN_SetFDTimeSegments.part.0/164 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
IPA function summary for FlexCAN_GetBuffStatusFlag/10 inlinable
global time: 9.375000
self size: 23
global size: 23
min size: 0
self stack: 0
global stack: 0
estimated growth:112
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31)
size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31)
size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 384] changed) && (op1 <= 31)
calls:
IPA function summary for FlexCAN_ClearMsgBuffIntStatusFlag/9 inlinable
global time: 8.375000
self size: 14
global size: 14
min size: 0
self stack: 0
global stack: 0
estimated growth:112
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:4.000000, time:4.000000, nonconst if:(op1 changed)
size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31)
size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined)
size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31)
size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined)
size:0.500000, time:0.250000, executed if:(op1 <= 31)
calls:
Symbol table:
FlexCAN_SetFDEnabled/312 (FlexCAN_SetFDEnabled) @060e99a0
Type: function definition analyzed
Visibility:
next sharing asm name: 6
References:
Referring:
Function FlexCAN_SetFDEnabled/312 is inline copy in FlexCAN_Ip_Init_Privileged/69
Clone of FlexCAN_SetFDEnabled/6
Availability: local
Function flags: count:18925 (estimated locally) body local optimize_size
Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call)
Calls:
FlexCAN_GetEnhancedRxFIFOStatusFlag/311 (FlexCAN_GetEnhancedRxFIFOStatusFlag) @06023000
Type: function definition analyzed
Visibility:
next sharing asm name: 46
References:
Referring:
Function FlexCAN_GetEnhancedRxFIFOStatusFlag/311 is inline copy in FlexCAN_IRQHandler/81
Clone of FlexCAN_GetEnhancedRxFIFOStatusFlag/46
Availability: local
Function flags: count:7768 (estimated locally) body local optimize_size
Called by: FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (7768 (estimated locally),0.04 per call)
Calls:
FlexCAN_StartRxMessageFifoData.part.0/179 (FlexCAN_StartRxMessageFifoData.part.0) @06021a80
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_StartRxMessageFifoData.part.0/179 is inline copy in FlexCAN_StartRxMessageFifoData/60
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_StartRxMessageFifoData/60 (inlined) (107374 (estimated locally),0.50 per call)
Calls: FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call) FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call) FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call)
FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 (FlexCAN_GetMsgBuffIntStatusFlag.part.0) @060e19a0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 is inline copy in FlexCAN_GetMsgBuffIntStatusFlag/36
Availability: local
Function flags: count:134217728 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_GetMsgBuffIntStatusFlag/36 (inlined) (134217728 (estimated locally),0.12 per call)
Calls:
FlexCAN_SetEnhancedDataTimeSegments.part.0/172 (FlexCAN_SetEnhancedDataTimeSegments.part.0) @060e1620
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_SetEnhancedDataTimeSegments.part.0/172 is inline copy in FlexCAN_SetEnhancedDataTimeSegments/17
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_SetEnhancedDataTimeSegments/17 (inlined) (107374 (estimated locally),0.50 per call)
Calls:
FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 (FlexCAN_SetEnhancedNominalTimeSegments.part.0) @060e12a0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 is inline copy in FlexCAN_SetEnhancedNominalTimeSegments/15
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_SetEnhancedNominalTimeSegments/15 (inlined) (107374 (estimated locally),0.50 per call)
Calls:
FlexCAN_SetExtendedTimeSegments.part.0/168 (FlexCAN_SetExtendedTimeSegments.part.0) @06023ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_SetExtendedTimeSegments.part.0/168 is inline copy in FlexCAN_SetExtendedTimeSegments/14
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_SetExtendedTimeSegments/14 (inlined) (107374 (estimated locally),0.50 per call)
Calls:
FlexCAN_SetTimeSegments.part.0/166 (FlexCAN_SetTimeSegments.part.0) @06023b60
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_SetTimeSegments.part.0/166 is inline copy in FlexCAN_SetTimeSegments/13
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_SetTimeSegments/13 (inlined) (107374 (estimated locally),0.50 per call)
Calls:
FlexCAN_SetFDTimeSegments.part.0/164 (FlexCAN_SetFDTimeSegments.part.0) @060237e0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring:
Function FlexCAN_SetFDTimeSegments.part.0/164 is inline copy in FlexCAN_SetFDTimeSegments/12
Availability: local
Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_SetFDTimeSegments/12 (inlined) (107374 (estimated locally),0.50 per call)
Calls:
FLEXCAN_ClearMsgBuffIntCmd/162 (FLEXCAN_ClearMsgBuffIntCmd) @0651e7e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_AbortTransfer/116 (12823 (estimated locally),0.06 per call) FlexCAN_AbortRxTransfer/68 (574 (estimated locally),0.00 per call)
Calls:
FlexCAN_SetErrIntCmd/161 (FlexCAN_SetErrIntCmd) @0651e620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetErrorInt_Privileged/115 (5154 (estimated locally),0.02 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (5154 (estimated locally),0.02 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call)
Calls:
FlexCAN_DisableInterrupts/160 (FlexCAN_DisableInterrupts) @0651e380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_DisableInterrupts_Privileged/114 (44539 (estimated locally),0.21 per call)
Calls:
FlexCAN_EnableInterrupts/159 (FlexCAN_EnableInterrupts) @0651e1c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_EnableInterrupts_Privileged/113 (44539 (estimated locally),0.21 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17) @06509d20
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (26575 (estimated locally),0.12 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17) @06509c40
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (26575 (estimated locally),0.12 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16) @065098c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (26575 (estimated locally),0.12 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16) @065097e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (26575 (estimated locally),0.12 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15) @065092a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (6644 (estimated locally),0.03 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15) @065091c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (6644 (estimated locally),0.03 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14) @064f5700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (13288 (estimated locally),0.06 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14) @064f5620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (13288 (estimated locally),0.06 per call)
Calls:
FlexCAN_GetMaxMbNum/150 (FlexCAN_GetMaxMbNum) @064ddb60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call) FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call)
Calls:
FlexCAN_ExitFreezeMode/149 (FlexCAN_ExitFreezeMode) @064dd540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetStartMode_Privileged/99 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_ExitFreezeMode_Privileged/90 (1073741824 (estimated locally),1.00 per call)
Calls:
FlexCAN_GetMsgBuffRegion/148 (FlexCAN_GetMsgBuffRegion) @064dd0e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_AbortRxTransfer/68 (856 (estimated locally),0.00 per call) FlexCAN_AbortRxTransfer/68 (574 (estimated locally),0.00 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call)
Calls:
FlexCAN_GetMsgBuffTimestamp/147 (FlexCAN_GetMsgBuffTimestamp) @064bc380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_MainFunctionWrite/96 (35433 (estimated locally),0.16 per call) FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call)
Calls:
FlexCAN_SetEnhancedRxFifoFilter/146 (FlexCAN_SetEnhancedRxFifoFilter) @064a2d20
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6644 (estimated locally),0.03 per call)
Calls:
FlexCAN_SetRxFifoFilter/145 (FlexCAN_SetRxFifoFilter) @064a2a80
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigRxFifo_Privileged/76 (26575 (estimated locally),0.12 per call)
Calls:
FlexCAN_Enable/144 (FlexCAN_Enable) @064a29a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTDCOffset_Privileged/109 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrateCbt_Privileged/107 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_GetTDCValue_Privileged/106 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetTDCFail_Privileged/105 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ClearTDCFail_Privileged/104 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrate_Privileged/102 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_SetRxMaskType_Privileged/101 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (11568 (estimated locally),0.05 per call) FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6845 (estimated locally),0.03 per call) FlexCAN_Ip_ConfigRxFifo_Privileged/76 (27380 (estimated locally),0.13 per call)
Calls:
FlexCAN_ReadRxFifo/143 (FlexCAN_ReadRxFifo) @064a2700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_IRQHandlerRxFIFO/63 (54331336 (estimated locally),0.05 per call)
Calls:
FlexCAN_ReadEnhancedRxFifo/142 (FlexCAN_ReadEnhancedRxFifo) @064a21c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (73014444 (estimated locally),0.07 per call)
Calls:
FlexCAN_IsEnhancedRxFifoAvailable/141 (FlexCAN_IsEnhancedRxFifoAvailable) @064897e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_DisableInterrupts_Privileged/114 (44539 (estimated locally),0.21 per call) FlexCAN_Ip_EnableInterrupts_Privileged/113 (14698 (estimated locally),0.07 per call) FlexCAN_Ip_MainFunctionRead/94 (10866 (estimated locally),0.05 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_RxFifoBlocking/75 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_RxFifo/74 (107374 (estimated locally),0.50 per call) FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call) FlexCAN_CompleteRxMessageEnhancedFifoData/54 (12047384 (estimated locally),0.01 per call)
Calls:
FlexCAN_GetMsgBuff/140 (FlexCAN_GetMsgBuff) @06489540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call)
Calls:
FlexCAN_LockRxMsgBuff/139 (FlexCAN_LockRxMsgBuff) @06489460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call)
Calls:
OsIf_GetElapsed/138 (OsIf_GetElapsed) @064891c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SendBlocking/87 (26606 (estimated locally),0.12 per call) FlexCAN_Ip_SendBlocking/87 (237131 (estimated locally),1.10 per call) FlexCAN_Ip_ReceiveBlocking/73 (313013 (estimated locally),1.46 per call) FlexCAN_AbortTxTransfer/67 (22924 (estimated locally),0.11 per call) FlexCAN_ProccessLegacyRxFIFO/57 (1014686025 (estimated locally),8.83 per call) FlexCAN_ProccessEnhancedRxFifo/56 (85989 (estimated locally),0.40 per call)
Calls:
OsIf_GetCounter/137 (OsIf_GetCounter) @064890e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_Ip_SendBlocking/87 (214748 (estimated locally),1.00 per call) FlexCAN_Ip_ReceiveBlocking/73 (35433 (estimated locally),0.16 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (114863532 (estimated locally),1.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (9734 (estimated locally),0.05 per call)
Calls:
OsIf_MicrosToTicks/136 (OsIf_MicrosToTicks) @06489000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_Ip_SendBlocking/87 (214748 (estimated locally),1.00 per call) FlexCAN_Ip_ReceiveBlocking/73 (214748 (estimated locally),1.00 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (114863532 (estimated locally),1.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (9734 (estimated locally),0.05 per call)
Calls:
FlexCAN_SetRxMsgBuff/135 (FlexCAN_SetRxMsgBuff) @06471b60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call)
Calls:
FlexCAN_SetTxMsgBuff/134 (FlexCAN_SetTxMsgBuff) @064718c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (25646 (estimated locally),0.12 per call) FlexCAN_StartSendData/59 (16670 (estimated locally),0.08 per call)
Calls:
FlexCAN_IsMbOutOfRange/133 (FlexCAN_IsMbOutOfRange) @064717e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_ConfigRxMb/71 (53687 (estimated locally),0.25 per call) FlexCAN_StartSendData/59 (53687 (estimated locally),0.25 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call)
Calls:
FlexCAN_SetMsgBuffIntCmd/132 (FlexCAN_SetMsgBuffIntCmd) @06471540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (8463 (estimated locally),0.04 per call) FlexCAN_Ip_ReceiveBlocking/73 (12047 (estimated locally),0.06 per call) FlexCAN_Ip_ReceiveBlocking/73 (17717 (estimated locally),0.08 per call) FlexCAN_Ip_Receive/72 (17717 (estimated locally),0.08 per call) FlexCAN_Ip_Send/70 (2923 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (400 (estimated locally),0.00 per call) FlexCAN_IRQHandlerTxMB/62 (479 (estimated locally),0.00 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_IRQHandlerRxMB/61 (147934780 (estimated locally),0.14 per call) FlexCAN_IRQHandlerRxMB/61 (177167401 (estimated locally),0.17 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call)
Calls:
FlexCAN_EnableEnhancedRxFifo/131 (FlexCAN_EnableEnhancedRxFifo) @04f04e00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitRxFifo/52 (5215 (estimated locally),0.02 per call)
Calls:
FlexCAN_EnableRxFifo/130 (FlexCAN_EnableRxFifo) @04f04d20
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitRxFifo/52 (6245 (estimated locally),0.03 per call)
Calls:
FlexCAN_SetMaxMsgBuffNum/129 (FlexCAN_SetMaxMsgBuffNum) @04f047e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call)
Calls:
FlexCAN_SetPayloadSize/128 (FlexCAN_SetPayloadSize) @04f04700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call)
Calls:
FlexCAN_ConfigCtrlOptions/127 (FlexCAN_ConfigCtrlOptions) @04f04620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call)
Calls:
FlexCAN_Init/126 (FlexCAN_Init) @04f04540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call)
Calls:
FlexCAN_Disable/125 (FlexCAN_Disable) @04f04460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (25394 (estimated locally),0.12 per call) FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTDCOffset_Privileged/109 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrateCbt_Privileged/107 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_GetTDCValue_Privileged/106 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetTDCFail_Privileged/105 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ClearTDCFail_Privileged/104 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrate_Privileged/102 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_SetRxMaskType_Privileged/101 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetStopMode_Privileged/100 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_Deinit_Privileged/93 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (11568 (estimated locally),0.05 per call) FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6845 (estimated locally),0.03 per call) FlexCAN_Ip_ConfigRxFifo_Privileged/76 (27380 (estimated locally),0.13 per call) FlexCAN_InitController/53 (3123 (estimated locally),0.01 per call) FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call) FlexCAN_InitController/53 (10453 (estimated locally),0.05 per call)
Calls:
FlexCAN_EnterFreezeMode/124 (FlexCAN_EnterFreezeMode) @04f041c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_SetStopMode_Privileged/100 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_Deinit_Privileged/93 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_EnterFreezeMode_Privileged/89 (1073741824 (estimated locally),1.00 per call) FlexCAN_Ip_Init_Privileged/69 (17717 (estimated locally),0.08 per call) FlexCAN_InitController/53 (3123 (estimated locally),0.01 per call) FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call) FlexCAN_InitController/53 (31675 (estimated locally),0.15 per call)
Calls:
FlexCAN_SetOperationMode/123 (FlexCAN_SetOperationMode) @04f040e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_Init_Privileged/69 (17717 (estimated locally),0.08 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00) @04f04000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00) @06455e00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call)
Calls:
FlexCAN_Ip_GetListenOnlyMode/120 (FlexCAN_Ip_GetListenOnlyMode) @064550e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (FlexCAN_Ip_SetListenOnlyMode_Privileged) @06455d20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetListenOnlyMode/7 (inlined) (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (FlexCAN_Ip_SetRxMb15Mask_Privileged) @06455a80
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (FlexCAN_Ip_SetRxMb14Mask_Privileged) @064557e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_AbortTransfer/116 (FlexCAN_Ip_AbortTransfer) @06455540
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_AbortRxTransfer/68 (inlined) (2595 (estimated locally),0.01 per call) FlexCAN_AbortTxTransfer/67 (inlined) (2595 (estimated locally),0.01 per call) FLEXCAN_ClearMsgBuffIntCmd/162 (12823 (estimated locally),0.06 per call)
FlexCAN_Ip_SetErrorInt_Privileged/115 (FlexCAN_Ip_SetErrorInt_Privileged) @064552a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (25394 (estimated locally),0.12 per call) FlexCAN_SetErrIntCmd/161 (5154 (estimated locally),0.02 per call) FlexCAN_SetErrIntCmd/161 (5154 (estimated locally),0.02 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_DisableInterrupts_Privileged/114 (FlexCAN_Ip_DisableInterrupts_Privileged) @06455000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (44539 (estimated locally),0.21 per call) FlexCAN_DisableInterrupts/160 (44539 (estimated locally),0.21 per call)
FlexCAN_Ip_EnableInterrupts_Privileged/113 (FlexCAN_Ip_EnableInterrupts_Privileged) @06448b60
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (14698 (estimated locally),0.07 per call) FlexCAN_EnableInterrupts/159 (44539 (estimated locally),0.21 per call)
FlexCAN_Ip_ClearBuffStatusFlag/112 (FlexCAN_Ip_ClearBuffStatusFlag) @06448620
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (52484 (estimated locally),0.24 per call)
FlexCAN_Ip_GetBuffStatusFlag/111 (FlexCAN_Ip_GetBuffStatusFlag) @064480e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetBuffStatusFlag/10 (52484 (estimated locally),0.24 per call)
FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged) @06448d20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 (26575 (estimated locally),0.12 per call) FlexCAN_SetTxArbitrationStartDelay/42 (inlined) (26575 (estimated locally),0.12 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SetTDCOffset_Privileged/109 (FlexCAN_Ip_SetTDCOffset_Privileged) @06448a80
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 (26575 (estimated locally),0.12 per call) FlexCAN_SetTDCOffset/2 (inlined) (13288 (estimated locally),0.06 per call) FlexCAN_SetEnhancedTDCOffset/3 (inlined) (13288 (estimated locally),0.06 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_GetBitrateFD/108 (FlexCAN_Ip_GetBitrateFD) @064487e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetFDTimeSegments/21 (inlined) (26844 (estimated locally),0.13 per call) FlexCAN_GetEnhancedDataTimeSegments/18 (inlined) (26844 (estimated locally),0.13 per call)
FlexCAN_Ip_SetBitrateCbt_Privileged/107 (FlexCAN_Ip_SetBitrateCbt_Privileged) @06448540
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (13690 (estimated locally),0.06 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 (6644 (estimated locally),0.03 per call) FlexCAN_SetFDTimeSegments/12 (3322 (estimated locally),0.02 per call) FlexCAN_SetEnhancedDataTimeSegments/17 (3322 (estimated locally),0.02 per call) FlexCAN_SetFDEnabled/6 (inlined) (6644 (estimated locally),0.03 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 (6644 (estimated locally),0.03 per call) FlexCAN_Enable/144 (13690 (estimated locally),0.06 per call)
FlexCAN_Ip_GetTDCValue_Privileged/106 (FlexCAN_Ip_GetTDCValue_Privileged) @064482a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_GetTDCFail_Privileged/105 (FlexCAN_Ip_GetTDCFail_Privileged) @06448000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_ClearTDCFail_Privileged/104 (FlexCAN_Ip_ClearTDCFail_Privileged) @0643bb60
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_GetBitrate/103 (FlexCAN_Ip_GetBitrate) @0643b620
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetTimeSegments/20 (inlined) (21222 (estimated locally),0.10 per call) FlexCAN_GetExtendedTimeSegments/19 (inlined) (14748 (estimated locally),0.07 per call) FlexCAN_GetEnhancedNominalTimeSegments/16 (inlined) (17717 (estimated locally),0.08 per call)
FlexCAN_Ip_SetBitrate_Privileged/102 (FlexCAN_Ip_SetBitrate_Privileged) @0643b0e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (13690 (estimated locally),0.06 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 (13288 (estimated locally),0.06 per call) FlexCAN_SetTimeSegments/13 (5253 (estimated locally),0.02 per call) FlexCAN_SetExtendedTimeSegments/14 (3650 (estimated locally),0.02 per call) FlexCAN_SetEnhancedNominalTimeSegments/15 (4385 (estimated locally),0.02 per call) FlexCAN_EnhCbtEnable/25 (inlined) (13288 (estimated locally),0.06 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 (13288 (estimated locally),0.06 per call) FlexCAN_Enable/144 (13690 (estimated locally),0.06 per call)
FlexCAN_Ip_SetRxMaskType_Privileged/101 (FlexCAN_Ip_SetRxMaskType_Privileged) @0643bd20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetRxMaskType/43 (inlined) (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SetStopMode_Privileged/100 (FlexCAN_Ip_SetStopMode_Privileged) @0643ba80
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (35433 (estimated locally),0.16 per call) FlexCAN_EnterFreezeMode/124 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_SetStartMode_Privileged/99 (FlexCAN_Ip_SetStartMode_Privileged) @0643b7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ExitFreezeMode/149 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_GetStartMode_Privileged/98 (FlexCAN_Ip_GetStartMode_Privileged) @0643b540
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_GetStopMode_Privileged/97 (FlexCAN_Ip_GetStopMode_Privileged) @0643b2a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_MainFunctionWrite/96 (FlexCAN_Ip_MainFunctionWrite) @0643b000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (35433 (estimated locally),0.16 per call) FlexCAN_GetMsgBuffTimestamp/147 (35433 (estimated locally),0.16 per call) FlexCAN_GetBuffStatusFlag/10 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (FlexCAN_Ip_MainFunctionBusOff_Privileged) @0642eb60
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Indirect call(37581 (estimated locally),0.18 per call)
FlexCAN_Ip_MainFunctionRead/94 (FlexCAN_Ip_MainFunctionRead) @0642e620
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_IRQHandlerRxMB/61 (2882 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (28476 (estimated locally),0.13 per call) FlexCAN_IRQHandlerRxFIFO/63 (2367 (estimated locally),0.01 per call) FlexCAN_IRQHandlerEnhancedRxFIFO/66 (735 (estimated locally),0.00 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (10866 (estimated locally),0.05 per call)
FlexCAN_Ip_Deinit_Privileged/93 (FlexCAN_Ip_Deinit_Privileged) @0642e0e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (35433 (estimated locally),0.16 per call) FlexCAN_SetRegDefaultVal/49 (inlined) (35433 (estimated locally),0.16 per call) FlexCAN_EnterFreezeMode/124 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (FlexCAN_Ip_SetRxFifoGlobalMask_Privileged) @0642ed20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (FlexCAN_Ip_SetRxIndividualMask_Privileged) @0642ea80
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (11568 (estimated locally),0.05 per call) FlexCAN_Enable/144 (11568 (estimated locally),0.05 per call)
FlexCAN_Ip_ExitFreezeMode_Privileged/90 (FlexCAN_Ip_ExitFreezeMode_Privileged) @0642e7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ExitFreezeMode/149 (1073741824 (estimated locally),1.00 per call)
FlexCAN_Ip_EnterFreezeMode_Privileged/89 (FlexCAN_Ip_EnterFreezeMode_Privileged) @0642e540
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_EnterFreezeMode/124 (1073741824 (estimated locally),1.00 per call)
FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (FlexCAN_Ip_SetRxMbGlobalMask_Privileged) @0642e2a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_SendBlocking/87 (FlexCAN_Ip_SendBlocking) @0642e000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (26843 (estimated locally),0.12 per call) FlexCAN_GetBuffStatusFlag/10 (28155 (estimated locally),0.13 per call) OsIf_GetElapsed/138 (26606 (estimated locally),0.12 per call) OsIf_GetCounter/137 (3012 (estimated locally),0.01 per call) OsIf_MicrosToTicks/136 (3012 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (3012 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (3012 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (250932 (estimated locally),1.17 per call) OsIf_GetElapsed/138 (237131 (estimated locally),1.10 per call) FlexCAN_StartSendData/59 (53687 (estimated locally),0.25 per call) OsIf_MicrosToTicks/136 (214748 (estimated locally),1.00 per call) OsIf_GetCounter/137 (214748 (estimated locally),1.00 per call)
FlexCAN_Busoff_Error_IRQHandler/86 (FlexCAN_Busoff_Error_IRQHandler) @0641db60
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Indirect call(13153 (estimated locally),0.06 per call)
Indirect call(13153 (estimated locally),0.06 per call)
Indirect call(13153 (estimated locally),0.06 per call)
Indirect call(10786 (estimated locally),0.05 per call)
Indirect call(13153 (estimated locally),0.06 per call)
FlexCAN_Ip_GetControllerRxErrorCounter/85 (FlexCAN_Ip_GetControllerRxErrorCounter) @0641d620
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_GetControllerTxErrorCounter/84 (FlexCAN_Ip_GetControllerTxErrorCounter) @0641d0e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_GetErrorStatus/83 (FlexCAN_Ip_GetErrorStatus) @0641dd20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_ClearErrorStatus/82 (FlexCAN_Ip_ClearErrorStatus) @0641da80
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_IRQHandler/81 (FlexCAN_IRQHandler) @0641d7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (202115 (estimated locally),0.94 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (inlined) (9473 (estimated locally),0.04 per call) FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (1942 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (2368 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (14353 (estimated locally),0.07 per call) FlexCAN_IRQHandlerTxMB/62 (inlined) (2905 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (2426 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxFIFO/63 (2368 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (239641 (estimated locally),1.12 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (28706 (estimated locally),0.13 per call)
FlexCAN_CompleteRxMessageFifoData/80 (FlexCAN_CompleteRxMessageFifoData) @0641d540
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_CompleteRxMessageFifoData/80 is inline copy in FlexCAN_IRQHandlerRxFIFO/63
Availability: local
Function flags: count:17929341 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandlerRxFIFO/63 (inlined) (17929341 (estimated locally),0.02 per call)
Calls: FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call)
FlexCAN_Ip_GetTransferStatus/79 (FlexCAN_Ip_GetTransferStatus) @0641d2a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_Ip_ConfigRemoteResponseMb/78 (FlexCAN_Ip_ConfigRemoteResponseMb) @0641d000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_SetMsgBuffIntCmd/132 (8463 (estimated locally),0.04 per call) FlexCAN_SetTxMsgBuff/134 (25646 (estimated locally),0.12 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (25646 (estimated locally),0.12 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call)
FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged) @0640db60
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (6845 (estimated locally),0.03 per call) FlexCAN_SetEnhancedRxFifoFilter/146 (6644 (estimated locally),0.03 per call) FlexCAN_Enable/144 (6845 (estimated locally),0.03 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_ConfigRxFifo_Privileged/76 (FlexCAN_Ip_ConfigRxFifo_Privileged) @0640d620
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetRxFifoFilter/145 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call)
FlexCAN_Ip_RxFifoBlocking/75 (FlexCAN_Ip_RxFifoBlocking) @0640d0e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ProccessLegacyRxFIFO/57 (11693 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData/60 (35433 (estimated locally),0.16 per call) FlexCAN_ProccessLegacyRxFIFO/57 (14007 (estimated locally),0.07 per call) FlexCAN_StartRxMessageFifoData/60 (42445 (estimated locally),0.20 per call) FlexCAN_ProccessEnhancedRxFifo/56 (inlined) (9734 (estimated locally),0.05 per call) FlexCAN_StartRxMessageEnhancedFifoData/55 (29496 (estimated locally),0.14 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_RxFifo/74 (FlexCAN_Ip_RxFifo) @0640dd20
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_StartRxMessageFifoData/60 (35433 (estimated locally),0.16 per call) FlexCAN_StartRxMessageFifoData/60 (42445 (estimated locally),0.20 per call) FlexCAN_StartRxMessageEnhancedFifoData/55 (29496 (estimated locally),0.14 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_ReceiveBlocking/73 (FlexCAN_Ip_ReceiveBlocking) @0640da80
Type: function definition analyzed
Visibility: externally_visible public
References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_SetMsgBuffIntCmd/132 (12047 (estimated locally),0.06 per call) OsIf_GetElapsed/138 (313013 (estimated locally),1.46 per call) FlexCAN_IRQHandlerRxMB/61 (34087 (estimated locally),0.16 per call) FlexCAN_GetBuffStatusFlag/10 (103294 (estimated locally),0.48 per call) OsIf_GetCounter/137 (35433 (estimated locally),0.16 per call) FlexCAN_SetMsgBuffIntCmd/132 (17717 (estimated locally),0.08 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call) OsIf_MicrosToTicks/136 (214748 (estimated locally),1.00 per call)
FlexCAN_Ip_Receive/72 (FlexCAN_Ip_Receive) @0640d7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_SetMsgBuffIntCmd/132 (17717 (estimated locally),0.08 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call)
FlexCAN_Ip_ConfigRxMb/71 (FlexCAN_Ip_ConfigRxMb) @0640d540
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (25646 (estimated locally),0.12 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call)
FlexCAN_Ip_Send/70 (FlexCAN_Ip_Send) @0640d2a0
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_SetMsgBuffIntCmd/132 (2923 (estimated locally),0.01 per call) FlexCAN_StartSendData/59 (17717 (estimated locally),0.08 per call)
FlexCAN_Ip_Init_Privileged/69 (FlexCAN_Ip_Init_Privileged) @0640d000
Type: function definition analyzed
Visibility: externally_visible public
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_EnterFreezeMode/124 (17717 (estimated locally),0.08 per call) FlexCAN_SetOperationMode/123 (17717 (estimated locally),0.08 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (8858 (estimated locally),0.04 per call) FlexCAN_SetTimeSegments/13 (4429 (estimated locally),0.02 per call) FlexCAN_SetFDTimeSegments/12 (4429 (estimated locally),0.02 per call) FlexCAN_SetExtendedTimeSegments/14 (4429 (estimated locally),0.02 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (8858 (estimated locally),0.04 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (8858 (estimated locally),0.04 per call) FlexCAN_SetEnhancedDataTimeSegments/17 (2923 (estimated locally),0.01 per call) FlexCAN_SetEnhancedNominalTimeSegments/15 (8858 (estimated locally),0.04 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (8858 (estimated locally),0.04 per call) FlexCAN_EnableExtCbt/24 (inlined) (17717 (estimated locally),0.08 per call) FlexCAN_InitController/53 (inlined) (53687 (estimated locally),0.25 per call)
FlexCAN_AbortRxTransfer/68 (FlexCAN_AbortRxTransfer) @063f2b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_AbortRxTransfer/68 is inline copy in FlexCAN_Ip_AbortTransfer/116
Availability: local
Function flags: count:2595 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_AbortTransfer/116 (inlined) (2595 (estimated locally),0.01 per call)
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (2595 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (856 (estimated locally),0.00 per call) FLEXCAN_ClearMsgBuffIntCmd/162 (574 (estimated locally),0.00 per call) FlexCAN_GetMsgBuffRegion/148 (574 (estimated locally),0.00 per call) RxFifoOcuppiedLastMsgBuff/29 (inlined) (1739 (estimated locally),0.01 per call)
FlexCAN_AbortTxTransfer/67 (FlexCAN_AbortTxTransfer) @063f2620
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_AbortTxTransfer/67 is inline copy in FlexCAN_Ip_AbortTransfer/116
Availability: local
Function flags: count:2595 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_AbortTransfer/116 (inlined) (2595 (estimated locally),0.01 per call)
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (2595 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (24258 (estimated locally),0.11 per call) OsIf_GetElapsed/138 (22924 (estimated locally),0.11 per call) OsIf_GetCounter/137 (2595 (estimated locally),0.01 per call) OsIf_MicrosToTicks/136 (2595 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (2595 (estimated locally),0.01 per call)
FlexCAN_IRQHandlerEnhancedRxFIFO/66 (FlexCAN_IRQHandlerEnhancedRxFIFO) @063f20e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_MainFunctionRead/94 (735 (estimated locally),0.00 per call) FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (846 (estimated locally),0.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (18161 (estimated locally),0.08 per call)
Calls: FlexCAN_CompleteRxMessageEnhancedFifoData/54 (inlined) (24094767 (estimated locally),0.02 per call) FlexCAN_ReadEnhancedRxFifo/142 (73014444 (estimated locally),0.07 per call)
Indirect call(150323855 (estimated locally),0.14 per call)
Indirect call(150323855 (estimated locally),0.14 per call)
Indirect call(150323855 (estimated locally),0.14 per call)
Indirect call(51110111 (estimated locally),0.05 per call)
FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (FlexCAN_ProcessIRQHandlerEnhancedRxFIFO) @063f2d20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 is inline copy in FlexCAN_IRQHandler/81
Availability: local
Function flags: count:1942 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandler/81 (inlined) (1942 (estimated locally),0.01 per call)
Calls: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (846 (estimated locally),0.00 per call) FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 (inlined) (2563 (estimated locally),0.01 per call) FlexCAN_GetEnhancedRxFIFOStatusFlag/311 (inlined) (7768 (estimated locally),0.04 per call)
FlexCAN_ProcessSpuriousInterruptMB/64 (FlexCAN_ProcessSpuriousInterruptMB) @063f2a80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_ProcessSpuriousInterruptMB/64 is inline copy in FlexCAN_IRQHandler/81
Availability: local
Function flags: count:9473 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandler/81 (inlined) (9473 (estimated locally),0.04 per call)
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (4173 (estimated locally),0.02 per call) FlexCAN_GetBuffStatusImask/11 (inlined) (25293 (estimated locally),0.12 per call) FlexCAN_GetBuffStatusFlag/10 (76645 (estimated locally),0.36 per call)
FlexCAN_IRQHandlerRxFIFO/63 (FlexCAN_IRQHandlerRxFIFO) @063f27e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: local
Function flags: count:1073741823 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_MainFunctionRead/94 (2367 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (2368 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (160726266 (estimated locally),1.40 per call)
Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (268435456 (estimated locally),0.25 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (268435456 (estimated locally),0.25 per call) FlexCAN_CompleteRxMessageFifoData/80 (inlined) (17929341 (estimated locally),0.02 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (54331336 (estimated locally),0.05 per call) FlexCAN_ReadRxFifo/143 (54331336 (estimated locally),0.05 per call)
Indirect call(187904819 (estimated locally),0.18 per call)
Indirect call(187904819 (estimated locally),0.18 per call)
Indirect call(38031935 (estimated locally),0.04 per call)
FlexCAN_IRQHandlerTxMB/62 (FlexCAN_IRQHandlerTxMB) @063f2540
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_IRQHandlerTxMB/62 is inline copy in FlexCAN_IRQHandler/81
Availability: local
Function flags: count:2905 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandler/81 (inlined) (2905 (estimated locally),0.01 per call)
Calls: FlexCAN_SetMsgBuffIntCmd/132 (400 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (479 (estimated locally),0.00 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (1452 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffTimestamp/147 (1452 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (294 (estimated locally),0.00 per call) FlexCAN_GetMsgBuff/140 (1452 (estimated locally),0.01 per call) FlexCAN_LockRxMsgBuff/139 (1452 (estimated locally),0.01 per call)
Indirect call(2034 (estimated locally),0.01 per call)
FlexCAN_IRQHandlerRxMB/61 (FlexCAN_IRQHandlerRxMB) @063f22a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: local
Function flags: count:1073741823 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_MainFunctionRead/94 (2882 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (2426 (estimated locally),0.01 per call) FlexCAN_Ip_ReceiveBlocking/73 (34087 (estimated locally),0.16 per call)
Calls: FlexCAN_SetMsgBuffIntCmd/132 (147934780 (estimated locally),0.14 per call) FlexCAN_SetMsgBuffIntCmd/132 (177167401 (estimated locally),0.17 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (1073741823 (estimated locally),1.00 per call) FlexCAN_GetMsgBuff/140 (1073741823 (estimated locally),1.00 per call) FlexCAN_LockRxMsgBuff/139 (1073741823 (estimated locally),1.00 per call)
Indirect call(751619277 (estimated locally),0.70 per call)
FlexCAN_StartRxMessageFifoData/60 (FlexCAN_StartRxMessageFifoData) @063f2000
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_RxFifoBlocking/75 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_RxFifoBlocking/75 (42445 (estimated locally),0.20 per call) FlexCAN_Ip_RxFifo/74 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_RxFifo/74 (42445 (estimated locally),0.20 per call)
Calls: FlexCAN_StartRxMessageFifoData.part.0/179 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_StartSendData/59 (FlexCAN_StartSendData) @06033b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SendBlocking/87 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_Send/70 (17717 (estimated locally),0.08 per call)
Calls: FlexCAN_SetTxMsgBuff/134 (16670 (estimated locally),0.08 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (16670 (estimated locally),0.08 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call)
FlexCAN_StartRxMessageBufferData/58 (FlexCAN_StartRxMessageBufferData) @06033620
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_ReceiveBlocking/73 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_Receive/72 (107374 (estimated locally),0.50 per call)
Calls: FlexCAN_IsMbOutOfRange/133 (107374 (estimated locally),0.50 per call)
FlexCAN_ProccessLegacyRxFIFO/57 (FlexCAN_ProccessLegacyRxFIFO) @060330e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read)
Referring:
Availability: local
Function flags: count:114863532 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_RxFifoBlocking/75 (11693 (estimated locally),0.05 per call) FlexCAN_Ip_RxFifoBlocking/75 (14007 (estimated locally),0.07 per call)
Calls: FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) OsIf_GetElapsed/138 (1014686025 (estimated locally),8.83 per call) FlexCAN_IRQHandlerRxFIFO/63 (160726266 (estimated locally),1.40 per call) FlexCAN_GetBuffStatusFlag/10 (487049291 (estimated locally),4.24 per call) OsIf_GetCounter/137 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/136 (114863532 (estimated locally),1.00 per call)
FlexCAN_ProccessEnhancedRxFifo/56 (FlexCAN_ProccessEnhancedRxFifo) @06033d20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read)
Referring:
Function FlexCAN_ProccessEnhancedRxFifo/56 is inline copy in FlexCAN_Ip_RxFifoBlocking/75
Availability: local
Function flags: count:9734 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_RxFifoBlocking/75 (inlined) (9734 (estimated locally),0.05 per call)
Calls: OsIf_GetElapsed/138 (85989 (estimated locally),0.40 per call) FlexCAN_IRQHandlerEnhancedRxFIFO/66 (18161 (estimated locally),0.08 per call) FlexCAN_GetEnhancedRxFIFOStatusFlag/46 (inlined) (55033 (estimated locally),0.26 per call) OsIf_GetCounter/137 (9734 (estimated locally),0.05 per call) OsIf_MicrosToTicks/136 (9734 (estimated locally),0.05 per call)
FlexCAN_StartRxMessageEnhancedFifoData/55 (FlexCAN_StartRxMessageEnhancedFifoData) @06033a80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_RxFifoBlocking/75 (29496 (estimated locally),0.14 per call) FlexCAN_Ip_RxFifo/74 (29496 (estimated locally),0.14 per call)
Calls:
FlexCAN_CompleteRxMessageEnhancedFifoData/54 (FlexCAN_CompleteRxMessageEnhancedFifoData) @060337e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read)
Referring:
Function FlexCAN_CompleteRxMessageEnhancedFifoData/54 is inline copy in FlexCAN_IRQHandlerEnhancedRxFIFO/66
Availability: local
Function flags: count:24094767 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (inlined) (24094767 (estimated locally),0.02 per call)
Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (12047384 (estimated locally),0.01 per call)
FlexCAN_InitController/53 (FlexCAN_InitController) @06033540
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_InitController/53 is inline copy in FlexCAN_Ip_Init_Privileged/69
Availability: local
Function flags: count:53687 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_Init_Privileged/69 (inlined) (53687 (estimated locally),0.25 per call)
Calls: FlexCAN_Disable/125 (3123 (estimated locally),0.01 per call) FlexCAN_EnterFreezeMode/124 (3123 (estimated locally),0.01 per call) FlexCAN_SetMaxMsgBuffNum/129 (9462 (estimated locally),0.04 per call) FlexCAN_SetPayloadSize/128 (9462 (estimated locally),0.04 per call) FlexCAN_Disable/125 (9462 (estimated locally),0.04 per call) FlexCAN_EnterFreezeMode/124 (9462 (estimated locally),0.04 per call) FlexCAN_InitRxFifo/52 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_ConfigCtrlOptions/127 (18925 (estimated locally),0.09 per call) FlexCAN_SetFDEnabled/312 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_DisableMemErrorDetection/5 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_Disable/125 (18925 (estimated locally),0.09 per call) FlexCAN_EnterFreezeMode/124 (18925 (estimated locally),0.09 per call) FlexCAN_Init/126 (37849 (estimated locally),0.18 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (37849 (estimated locally),0.18 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (37849 (estimated locally),0.18 per call) FlexCAN_Disable/125 (10453 (estimated locally),0.05 per call) FlexCAN_EnterFreezeMode/124 (31675 (estimated locally),0.15 per call)
FlexCAN_InitRxFifo/52 (FlexCAN_InitRxFifo) @060332a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_InitRxFifo/52 is inline copy in FlexCAN_Ip_Init_Privileged/69
Availability: local
Function flags: count:18925 (estimated locally) body local optimize_size
Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call)
Calls: FlexCAN_EnableEnhancedRxFifo/131 (5215 (estimated locally),0.02 per call) FlexCAN_EnableRxFifo/130 (6245 (estimated locally),0.03 per call)
g_flexcan_Ip_StatePtr/51 (g_flexcan_Ip_StatePtr) @0602a678
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_CompleteRxMessageFifoData/80 (read)FlexCAN_Ip_Init_Privileged/69 (write)FlexCAN_Ip_Send/70 (read)FlexCAN_StartRxMessageFifoData.part.0/179 (read)FlexCAN_Ip_ConfigRxMb/71 (read)FlexCAN_StartRxMessageBufferData/58 (read)FlexCAN_IRQHandlerTxMB/62 (read)FlexCAN_StartRxMessageEnhancedFifoData/55 (read)FlexCAN_CompleteRxMessageEnhancedFifoData/54 (read)FlexCAN_IRQHandlerRxMB/61 (read)FlexCAN_StartSendData/59 (read)FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (read)FlexCAN_ProccessEnhancedRxFifo/56 (read)FlexCAN_ProcessSpuriousInterruptMB/64 (read)FlexCAN_Ip_Receive/72 (read)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_Ip_ConfigRemoteResponseMb/78 (read)FlexCAN_IRQHandlerRxFIFO/63 (read)FlexCAN_IRQHandlerEnhancedRxFIFO/66 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_Ip_GetTransferStatus/79 (read)FlexCAN_IRQHandler/81 (read)FlexCAN_Busoff_Error_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_Deinit_Privileged/93 (write)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_ProccessLegacyRxFIFO/57 (read)FlexCAN_Ip_AbortTransfer/116 (read)
Availability: available
Varpool flags:
g_Flexcan_Ip_aBase/50 (g_Flexcan_Ip_aBase) @0602a5e8
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_CompleteRxMessageFifoData/80 (read)FlexCAN_Ip_Init_Privileged/69 (read)FlexCAN_Ip_Send/70 (read)FlexCAN_StartRxMessageFifoData.part.0/179 (read)FlexCAN_Ip_ConfigRxMb/71 (read)FlexCAN_StartRxMessageBufferData/58 (read)FlexCAN_Ip_Receive/72 (read)FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (read)FlexCAN_StartRxMessageEnhancedFifoData/55 (read)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_CompleteRxMessageEnhancedFifoData/54 (read)FlexCAN_IRQHandlerRxMB/61 (read)FlexCAN_StartSendData/59 (read)FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (read)FlexCAN_ProccessEnhancedRxFifo/56 (read)FlexCAN_ProcessSpuriousInterruptMB/64 (read)FlexCAN_Ip_RxFifo/74 (read)FlexCAN_Ip_RxFifoBlocking/75 (read)FlexCAN_Ip_ConfigRxFifo_Privileged/76 (read)FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (read)FlexCAN_IRQHandlerRxFIFO/63 (read)FlexCAN_IRQHandlerEnhancedRxFIFO/66 (read)FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (read)FlexCAN_Ip_ConfigRemoteResponseMb/78 (read)FlexCAN_IRQHandler/81 (read)FlexCAN_Ip_ClearErrorStatus/82 (read)FlexCAN_Ip_GetErrorStatus/83 (read)FlexCAN_Ip_GetControllerTxErrorCounter/84 (read)FlexCAN_Ip_GetControllerRxErrorCounter/85 (read)FlexCAN_Busoff_Error_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (read)FlexCAN_Ip_EnterFreezeMode_Privileged/89 (read)FlexCAN_Ip_ExitFreezeMode_Privileged/90 (read)FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (read)FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (read)FlexCAN_Ip_Deinit_Privileged/93 (read)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_GetStopMode_Privileged/97 (read)FlexCAN_Ip_GetStartMode_Privileged/98 (read)FlexCAN_Ip_SetStartMode_Privileged/99 (read)FlexCAN_Ip_SetStopMode_Privileged/100 (read)FlexCAN_Ip_SetRxMaskType_Privileged/101 (read)FlexCAN_Ip_SetBitrate_Privileged/102 (read)FlexCAN_Ip_GetBitrate/103 (read)FlexCAN_Ip_ClearTDCFail_Privileged/104 (read)FlexCAN_Ip_GetTDCFail_Privileged/105 (read)FlexCAN_Ip_GetTDCValue_Privileged/106 (read)FlexCAN_Ip_SetBitrateCbt_Privileged/107 (read)FlexCAN_Ip_GetBitrateFD/108 (read)FlexCAN_Ip_SetTDCOffset_Privileged/109 (read)FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (read)FlexCAN_Ip_GetBuffStatusFlag/111 (read)FlexCAN_Ip_ClearBuffStatusFlag/112 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_ProccessLegacyRxFIFO/57 (read)FlexCAN_IRQHandlerTxMB/62 (read)FlexCAN_Ip_SetErrorInt_Privileged/115 (read)FlexCAN_Ip_AbortTransfer/116 (read)FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (read)FlexCAN_Ip_GetListenOnlyMode/120 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
FlexCAN_SetRegDefaultVal/49 (FlexCAN_SetRegDefaultVal) @060f19a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetRegDefaultVal/49 is inline copy in FlexCAN_Ip_Deinit_Privileged/93
Availability: local
Function flags: count:35433 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_Deinit_Privileged/93 (inlined) (35433 (estimated locally),0.16 per call)
Calls: FlexCAN_GetMaxMbNum/150 (35433 (estimated locally),0.16 per call) FlexCAN_GetMaxMbNum/150 (35433 (estimated locally),0.16 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (35433 (estimated locally),0.16 per call)
FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 (FlexCAN_GetEnhancedRxFIFOIntStatusFlag) @060edee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 is inline copy in FlexCAN_IRQHandler/81
Availability: local
Function flags: count:2563 (estimated locally) body local optimize_size
Called by: FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (2563 (estimated locally),0.01 per call)
Calls:
FlexCAN_GetEnhancedRxFIFOStatusFlag/46 (FlexCAN_GetEnhancedRxFIFOStatusFlag) @060ed9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 311
References:
Referring:
Function FlexCAN_GetEnhancedRxFIFOStatusFlag/46 is inline copy in FlexCAN_Ip_RxFifoBlocking/75
Availability: local
Function flags: count:55033 (estimated locally) body local optimize_size
Called by: FlexCAN_ProccessEnhancedRxFifo/56 (inlined) (55033 (estimated locally),0.26 per call)
Calls:
FlexCAN_SetRxMaskType/43 (FlexCAN_SetRxMaskType) @060ed1c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetRxMaskType/43 is inline copy in FlexCAN_Ip_SetRxMaskType_Privileged/101
Availability: local
Function flags: count:26575 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetRxMaskType_Privileged/101 (inlined) (26575 (estimated locally),0.12 per call)
Calls:
FlexCAN_SetTxArbitrationStartDelay/42 (FlexCAN_SetTxArbitrationStartDelay) @060e9d20
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetTxArbitrationStartDelay/42 is inline copy in FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110
Availability: local
Function flags: count:26575 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (inlined) (26575 (estimated locally),0.12 per call)
Calls:
FlexCAN_GetMsgBuffIntStatusFlag/36 (FlexCAN_GetMsgBuffIntStatusFlag) @060e1c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: FlexCAN_IRQHandler/81 (14353 (estimated locally),0.07 per call) FlexCAN_IRQHandler/81 (239641 (estimated locally),1.12 per call) FlexCAN_IRQHandler/81 (28706 (estimated locally),0.13 per call)
Calls: FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 (inlined) (134217728 (estimated locally),0.12 per call)
RxFifoOcuppiedLastMsgBuff/29 (RxFifoOcuppiedLastMsgBuff) @060232a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function RxFifoOcuppiedLastMsgBuff/29 is inline copy in FlexCAN_Ip_AbortTransfer/116
Availability: local
Function flags: count:1739 (estimated locally) body local optimize_size
Called by: FlexCAN_AbortRxTransfer/68 (inlined) (1739 (estimated locally),0.01 per call)
Calls:
FlexCAN_EnhCbtEnable/25 (FlexCAN_EnhCbtEnable) @06021620
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_EnhCbtEnable/25 is inline copy in FlexCAN_Ip_SetBitrate_Privileged/102
Availability: local
Function flags: count:13288 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (inlined) (13288 (estimated locally),0.06 per call)
Calls:
FlexCAN_EnableExtCbt/24 (FlexCAN_EnableExtCbt) @060212a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_EnableExtCbt/24 is inline copy in FlexCAN_Ip_Init_Privileged/69
Availability: local
Function flags: count:17717 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_Init_Privileged/69 (inlined) (17717 (estimated locally),0.08 per call)
Calls:
FlexCAN_GetFDTimeSegments/21 (FlexCAN_GetFDTimeSegments) @0601b9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetFDTimeSegments/21 is inline copy in FlexCAN_Ip_GetBitrateFD/108
Availability: local
Function flags: count:26844 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBitrateFD/108 (inlined) (26844 (estimated locally),0.13 per call)
Calls:
FlexCAN_GetTimeSegments/20 (FlexCAN_GetTimeSegments) @0601b700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetTimeSegments/20 is inline copy in FlexCAN_Ip_GetBitrate/103
Availability: local
Function flags: count:21222 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (21222 (estimated locally),0.10 per call)
Calls:
FlexCAN_GetExtendedTimeSegments/19 (FlexCAN_GetExtendedTimeSegments) @0601b460
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetExtendedTimeSegments/19 is inline copy in FlexCAN_Ip_GetBitrate/103
Availability: local
Function flags: count:14748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (14748 (estimated locally),0.07 per call)
Calls:
FlexCAN_GetEnhancedDataTimeSegments/18 (FlexCAN_GetEnhancedDataTimeSegments) @0601b1c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetEnhancedDataTimeSegments/18 is inline copy in FlexCAN_Ip_GetBitrateFD/108
Availability: local
Function flags: count:26844 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBitrateFD/108 (inlined) (26844 (estimated locally),0.13 per call)
Calls:
FlexCAN_SetEnhancedDataTimeSegments/17 (FlexCAN_SetEnhancedDataTimeSegments) @05fa6ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (3322 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (2923 (estimated locally),0.01 per call)
Calls: FlexCAN_SetEnhancedDataTimeSegments.part.0/172 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_GetEnhancedNominalTimeSegments/16 (FlexCAN_GetEnhancedNominalTimeSegments) @05fa69a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetEnhancedNominalTimeSegments/16 is inline copy in FlexCAN_Ip_GetBitrate/103
Availability: local
Function flags: count:17717 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (17717 (estimated locally),0.08 per call)
Calls:
FlexCAN_SetEnhancedNominalTimeSegments/15 (FlexCAN_SetEnhancedNominalTimeSegments) @05fa6700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (4385 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call)
Calls: FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_SetExtendedTimeSegments/14 (FlexCAN_SetExtendedTimeSegments) @05fa61c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (3650 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call)
Calls: FlexCAN_SetExtendedTimeSegments.part.0/168 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_SetTimeSegments/13 (FlexCAN_SetTimeSegments) @05fa1a80
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (5253 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call)
Calls: FlexCAN_SetTimeSegments.part.0/166 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_SetFDTimeSegments/12 (FlexCAN_SetFDTimeSegments) @05fa1380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:214748 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (3322 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call)
Calls: FlexCAN_SetFDTimeSegments.part.0/164 (inlined) (107374 (estimated locally),0.50 per call)
FlexCAN_GetBuffStatusImask/11 (FlexCAN_GetBuffStatusImask) @05f9bc40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_GetBuffStatusImask/11 is inline copy in FlexCAN_IRQHandler/81
Availability: local
Function flags: count:25293 (estimated locally) body local optimize_size
Called by: FlexCAN_ProcessSpuriousInterruptMB/64 (inlined) (25293 (estimated locally),0.12 per call)
Calls:
FlexCAN_GetBuffStatusFlag/10 (FlexCAN_GetBuffStatusFlag) @05f9b9a0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_GetBuffStatusFlag/111 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_MainFunctionWrite/96 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_MainFunctionRead/94 (28476 (estimated locally),0.13 per call) FlexCAN_Ip_SendBlocking/87 (28155 (estimated locally),0.13 per call) FlexCAN_Ip_SendBlocking/87 (250932 (estimated locally),1.17 per call) FlexCAN_Ip_ReceiveBlocking/73 (103294 (estimated locally),0.48 per call) FlexCAN_AbortTxTransfer/67 (24258 (estimated locally),0.11 per call) FlexCAN_ProccessLegacyRxFIFO/57 (487049291 (estimated locally),4.24 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (76645 (estimated locally),0.36 per call)
Calls:
FlexCAN_ClearMsgBuffIntStatusFlag/9 (FlexCAN_ClearMsgBuffIntStatusFlag) @05f9b700
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_ClearBuffStatusFlag/112 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_MainFunctionWrite/96 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_SendBlocking/87 (26843 (estimated locally),0.12 per call) FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (202115 (estimated locally),0.94 per call) FlexCAN_IRQHandler/81 (2368 (estimated locally),0.01 per call) FlexCAN_Ip_ConfigRemoteResponseMb/78 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_AbortRxTransfer/68 (2595 (estimated locally),0.01 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (294 (estimated locally),0.00 per call) FlexCAN_IRQHandlerRxFIFO/63 (268435456 (estimated locally),0.25 per call) FlexCAN_IRQHandlerRxFIFO/63 (268435456 (estimated locally),0.25 per call) FlexCAN_IRQHandlerRxFIFO/63 (54331336 (estimated locally),0.05 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call) FlexCAN_StartSendData/59 (16670 (estimated locally),0.08 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (4173 (estimated locally),0.02 per call)
Calls:
FlexCAN_SetListenOnlyMode/7 (FlexCAN_SetListenOnlyMode) @05f9b0e0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetListenOnlyMode/7 is inline copy in FlexCAN_Ip_SetListenOnlyMode_Privileged/119
Availability: local
Function flags: count:26575 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (inlined) (26575 (estimated locally),0.12 per call)
Calls:
FlexCAN_SetFDEnabled/6 (FlexCAN_SetFDEnabled) @05f99d20
Type: function definition analyzed
Visibility: prevailing_def_ironly
previous sharing asm name: 312
References:
Referring:
Function FlexCAN_SetFDEnabled/6 is inline copy in FlexCAN_Ip_SetBitrateCbt_Privileged/107
Availability: local
Function flags: count:6644 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (inlined) (6644 (estimated locally),0.03 per call)
Calls:
FlexCAN_DisableMemErrorDetection/5 (FlexCAN_DisableMemErrorDetection) @05f998c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_DisableMemErrorDetection/5 is inline copy in FlexCAN_Ip_Init_Privileged/69
Availability: local
Function flags: count:18925 (estimated locally) body local optimize_size
Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call)
Calls:
FlexCAN_SetEnhancedTDCOffset/3 (FlexCAN_SetEnhancedTDCOffset) @05f92c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetEnhancedTDCOffset/3 is inline copy in FlexCAN_Ip_SetTDCOffset_Privileged/109
Availability: local
Function flags: count:13288 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (inlined) (13288 (estimated locally),0.06 per call)
Calls:
FlexCAN_SetTDCOffset/2 (FlexCAN_SetTDCOffset) @05f928c0
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_SetTDCOffset/2 is inline copy in FlexCAN_Ip_SetTDCOffset_Privileged/109
Availability: local
Function flags: count:13288 (estimated locally) body local optimize_size
Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (inlined) (13288 (estimated locally),0.06 per call)
Calls:
;; Function FlexCAN_ClearMsgBuffIntStatusFlag (FlexCAN_ClearMsgBuffIntStatusFlag, funcdef_no=9, decl_uid=4867, cgraph_uid=10, symbol_order=9)
FlexCAN_ClearMsgBuffIntStatusFlag (struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
uint32 flag;
long unsigned int _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = msgBuffIdx_3(D) & 31;
flag_4 = 1 << _1;
# DEBUG flag => flag_4
# DEBUG BEGIN_STMT
if (msgBuffIdx_3(D) <= 31)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
base_6(D)->IFLAG1 ={v} flag_4;
goto <bb 8>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_3(D) <= 63)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 268435456]:
# DEBUG BEGIN_STMT
base_6(D)->IFLAG2 ={v} flag_4;
goto <bb 8>; [100.00%]
<bb 6> [local count: 268435456]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_3(D) <= 95)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 134217728]:
# DEBUG BEGIN_STMT
base_6(D)->IFLAG3 ={v} flag_4;
<bb 8> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}
;; Function FlexCAN_GetBuffStatusFlag (FlexCAN_GetBuffStatusFlag, funcdef_no=10, decl_uid=4872, cgraph_uid=11, symbol_order=10)
FlexCAN_GetBuffStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
uint32 flag;
long unsigned int _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;
long unsigned int _11;
long unsigned int _12;
uint8 _20;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG flag => 0
# DEBUG BEGIN_STMT
if (msgBuffIdx_14(D) <= 31)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_1 ={v} base_16(D)->IFLAG1;
_2 = msgBuffIdx_14(D);
_3 = 1 << _2;
_4 = _1 & _3;
flag_19 = _4 >> _2;
# DEBUG flag => flag_19
goto <bb 8>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_14(D) <= 63)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 268435456]:
# DEBUG BEGIN_STMT
_5 ={v} base_16(D)->IFLAG2;
_6 = msgBuffIdx_14(D) & 31;
_7 = 1 << _6;
_8 = _5 & _7;
flag_18 = _8 >> _6;
# DEBUG flag => flag_18
goto <bb 8>; [100.00%]
<bb 6> [local count: 268435456]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_14(D) <= 95)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 134217728]:
# DEBUG BEGIN_STMT
_9 ={v} base_16(D)->IFLAG3;
_10 = msgBuffIdx_14(D) & 31;
_11 = 1 << _10;
_12 = _9 & _11;
flag_17 = _12 >> _10;
# DEBUG flag => flag_17
<bb 8> [local count: 1073741824]:
# flag_13 = PHI <flag_19(3), flag_18(5), 0(6), flag_17(7)>
# DEBUG flag => flag_13
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_20 = (uint8) flag_13;
return _20;
}
;; Function FlexCAN_StartRxMessageEnhancedFifoData (FlexCAN_StartRxMessageEnhancedFifoData, funcdef_no=53, decl_uid=5251, cgraph_uid=54, symbol_order=55)
FlexCAN_StartRxMessageEnhancedFifoData (uint8 instance, struct Flexcan_Ip_MsgBuffType * data)
{
volatile boolean x;
Flexcan_Ip_StatusType eResult;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
int _1;
_Bool _2;
<unnamed type> _3;
<unnamed type> _4;
_Bool _5;
_Bool x.0_18;
long unsigned int _19;
long unsigned int _20;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_9(D);
base_11 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_11
# DEBUG BEGIN_STMT
state_12 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_12
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_2 = instance_9(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_18 ={v} x;
if (x.0_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 ={v} state_12->enhancedFifoOutput.state;
if (_3 == 1)
goto <bb 10>; [21.72%]
else
goto <bb 5>; [78.28%]
<bb 5> [local count: 84052]:
# DEBUG BEGIN_STMT
state_12->enhancedFifoOutput.state ={v} 1;
# DEBUG BEGIN_STMT
state_12->enhancedFifoOutput.pMBmessage = data_14(D);
# DEBUG BEGIN_STMT
_4 = state_12->transferType;
if (_4 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 6> [local count: 42026]:
# DEBUG BEGIN_STMT
state_12->enhancedFifoOutput.isPolling = 0;
# DEBUG BEGIN_STMT
_5 = state_12->isIntActive;
if (_5 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 21013]:
# DEBUG BEGIN_STMT
# DEBUG base => base_11
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_19 ={v} base_11->ERFIER;
_20 = _19 | 4026531840;
base_11->ERFIER ={v} _20;
<bb 8> [local count: 84052]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
if (_4 == 1)
goto <bb 9>; [34.00%]
else
goto <bb 10>; [66.00%]
<bb 9> [local count: 28578]:
# DEBUG BEGIN_STMT
state_12->enhancedFifoOutput.isPolling = 1;
<bb 10> [local count: 107374]:
# eResult_6 = PHI <2(4), 0(8), 0(9)>
# DEBUG eResult => eResult_6
# DEBUG BEGIN_STMT
return eResult_6;
}
;; Function FlexCAN_StartRxMessageBufferData (FlexCAN_StartRxMessageBufferData, funcdef_no=56, decl_uid=5207, cgraph_uid=57, symbol_order=58)
FlexCAN_StartRxMessageBufferData (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling)
{
volatile boolean x;
struct Flexcan_Ip_StateType * state;
const struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
_Bool _3;
long unsigned int _4;
_Bool _5;
int _6;
<unnamed type> _7;
_Bool x.0_21;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_10(D);
base_12 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_12
# DEBUG BEGIN_STMT
state_13 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_13
# DEBUG BEGIN_STMT
_2 = instance_10(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_21 ={v} x;
if (x.0_21 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = state_13->bIsLegacyFifoEn;
_4 = state_13->u32MaxMbNum;
_5 = FlexCAN_IsMbOutOfRange (base_12, mb_idx_14(D), _3, _4);
if (_5 != 0)
goto <bb 7>; [35.00%]
else
goto <bb 5>; [65.00%]
<bb 5> [local count: 69793]:
# DEBUG BEGIN_STMT
_6 = (int) mb_idx_14(D);
_7 ={v} state_13->mbs[_6].state;
if (_7 != 0)
goto <bb 7>; [35.00%]
else
goto <bb 6>; [65.00%]
<bb 6> [local count: 45366]:
# DEBUG BEGIN_STMT
state_13->mbs[_6].state ={v} 1;
# DEBUG BEGIN_STMT
state_13->mbs[_6].pMBmessage = data_17(D);
# DEBUG BEGIN_STMT
state_13->mbs[_6].isPolling = isPolling_19(D);
<bb 7> [local count: 107374]:
# result_8 = PHI <4(4), 2(5), 0(6)>
# DEBUG result => result_8
# DEBUG BEGIN_STMT
return result_8;
}
;; Function FlexCAN_StartSendData (FlexCAN_StartSendData, funcdef_no=57, decl_uid=5213, cgraph_uid=58, symbol_order=59)
FlexCAN_StartSendData (uint8 Flexcan_Ip_u8Instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
volatile boolean x;
volatile boolean x;
struct FLEXCAN_Type * base;
struct Flexcan_Ip_StateType * state;
struct Flexcan_Ip_MsbuffCodeStatusType cs;
Flexcan_Ip_StatusType eResult;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
long unsigned int _5;
_Bool _6;
int _7;
<unnamed type> _8;
long unsigned int _9;
_Bool _10;
_Bool _11;
long unsigned int _12;
<unnamed type> _13;
_Bool _14;
unsigned char _15;
_Bool _16;
_Bool x.0_43;
_Bool x.0_44;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) Flexcan_Ip_u8Instance_20(D);
state_22 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_22
# DEBUG BEGIN_STMT
base_23 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_23
# DEBUG BEGIN_STMT
_2 = Flexcan_Ip_u8Instance_20(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_44 ={v} x;
if (x.0_44 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 16> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = tx_info_24(D) != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_43 ={v} x;
if (x.0_43 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = state_22->bIsLegacyFifoEn;
_5 = state_22->u32MaxMbNum;
_6 = FlexCAN_IsMbOutOfRange (base_23, mb_idx_25(D), _4, _5);
if (_6 != 0)
goto <bb 12>; [35.00%]
else
goto <bb 7>; [65.00%]
<bb 7> [local count: 34897]:
# DEBUG BEGIN_STMT
_7 = (int) mb_idx_25(D);
_8 ={v} state_22->mbs[_7].state;
if (_8 != 0)
goto <bb 12>; [52.23%]
else
goto <bb 8>; [47.77%]
<bb 8> [local count: 16670]:
# DEBUG BEGIN_STMT
_9 = (long unsigned int) mb_idx_25(D);
FlexCAN_ClearMsgBuffIntStatusFlag (base_23, _9);
# DEBUG BEGIN_STMT
state_22->mbs[_7].state ={v} 2;
# DEBUG BEGIN_STMT
state_22->mbs[_7].time_stamp = 0;
# DEBUG BEGIN_STMT
_10 = tx_info_24(D)->is_polling;
state_22->mbs[_7].isPolling = _10;
# DEBUG BEGIN_STMT
_11 = tx_info_24(D)->is_remote;
state_22->mbs[_7].isRemote = _11;
# DEBUG BEGIN_STMT
_12 = tx_info_24(D)->data_length;
cs.dataLen = _12;
# DEBUG BEGIN_STMT
_13 = tx_info_24(D)->msg_id_type;
cs.msgIdType = _13;
# DEBUG BEGIN_STMT
_14 = tx_info_24(D)->fd_enable;
cs.fd_enable = _14;
# DEBUG BEGIN_STMT
_15 = tx_info_24(D)->fd_padding;
cs.fd_padding = _15;
# DEBUG BEGIN_STMT
_16 = tx_info_24(D)->enable_brs;
cs.enable_brs = _16;
# DEBUG BEGIN_STMT
if (_11 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 8335]:
# DEBUG BEGIN_STMT
cs.code = 28;
goto <bb 11>; [100.00%]
<bb 10> [local count: 8335]:
# DEBUG BEGIN_STMT
cs.code = 12;
<bb 11> [local count: 16670]:
# DEBUG BEGIN_STMT
FlexCAN_SetTxMsgBuff (base_23, _9, &cs, msg_id_39(D), mb_data_40(D), 0);
<bb 12> [local count: 53687]:
# eResult_17 = PHI <4(6), 2(7), 0(11)>
# DEBUG eResult => eResult_17
# DEBUG BEGIN_STMT
cs ={v} {CLOBBER};
return eResult_17;
}
;; Function FlexCAN_IRQHandlerRxMB (FlexCAN_IRQHandlerRxMB, funcdef_no=59, decl_uid=5222, cgraph_uid=60, symbol_order=61)
FlexCAN_IRQHandlerRxMB (uint8 instance, uint32 mb_idx)
{
boolean bCurrentIntStat;
struct Flexcan_Ip_MsgBuffType data;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
int _1;
struct Flexcan_Ip_MsgBuffType * _2;
struct Flexcan_Ip_MsgBuffType * _3;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _4;
<unnamed type> _5;
_Bool _6;
_Bool _7;
_Bool _8;
_Bool _9;
long unsigned int vol.5_29;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_1 = (int) instance_13(D);
base_15 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_15
# DEBUG BEGIN_STMT
state_16 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_16
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bCurrentIntStat => 0
# DEBUG BEGIN_STMT
_2 = state_16->mbs[mb_idx_17(D)].pMBmessage;
if (_2 == 0B)
goto <bb 3>; [30.00%]
else
goto <bb 4>; [70.00%]
<bb 3> [local count: 322122547]:
# DEBUG BEGIN_STMT
state_16->mbs[mb_idx_17(D)].pMBmessage = &data;
<bb 4> [local count: 1073741823]:
# DEBUG BEGIN_STMT
FlexCAN_LockRxMsgBuff (base_15, mb_idx_17(D));
# DEBUG BEGIN_STMT
_3 = state_16->mbs[mb_idx_17(D)].pMBmessage;
FlexCAN_GetMsgBuff (base_15, mb_idx_17(D), _3);
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_15, mb_idx_17(D));
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff
# DEBUG BEGIN_STMT
vol.5_29 ={v} MEM[(const struct FLEXCAN_Type *)base_15].TIMER;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
state_16->mbs[mb_idx_17(D)].state ={v} 0;
# DEBUG BEGIN_STMT
bCurrentIntStat_23 = state_16->mbs[mb_idx_17(D)].isPolling;
# DEBUG bCurrentIntStat => bCurrentIntStat_23
# DEBUG BEGIN_STMT
_4 = state_16->callback;
if (_4 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 751619277]:
# DEBUG BEGIN_STMT
_4 (instance_13(D), 0, mb_idx_17(D), state_16);
<bb 6> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_5 ={v} state_16->mbs[mb_idx_17(D)].state;
if (_5 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 536870911]:
_6 = state_16->mbs[mb_idx_17(D)].isPolling;
if (_6 != 0)
goto <bb 9>; [67.00%]
else
goto <bb 8>; [33.00%]
<bb 8> [local count: 177167401]:
# DEBUG BEGIN_STMT
state_16->mbs[mb_idx_17(D)].isPolling = 1;
# DEBUG BEGIN_STMT
_7 = state_16->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_15, instance_13(D), mb_idx_17(D), 0, _7);
goto <bb 12>; [100.00%]
<bb 9> [local count: 896574422]:
# DEBUG BEGIN_STMT
if (bCurrentIntStat_23 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 448287211]:
_8 = state_16->mbs[mb_idx_17(D)].isPolling;
if (_8 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 147934780]:
# DEBUG BEGIN_STMT
_9 = state_16->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_15, instance_13(D), mb_idx_17(D), 0, _9);
<bb 12> [local count: 1073741824]:
# DEBUG BEGIN_STMT
data ={v} {CLOBBER};
return;
}
;; Function FlexCAN_IRQHandlerEnhancedRxFIFO (FlexCAN_IRQHandlerEnhancedRxFIFO, funcdef_no=64, decl_uid=5243, cgraph_uid=65, symbol_order=66)
Symbols to be put in SSA form
{ D.6742 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 29
Number of blocks to update: 28 ( 97%)
Removing basic block 9
Removing basic block 17
Removing basic block 19
Merging blocks 20 and 21
Removing basic block 23
Merging blocks 24 and 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 19 20 21 22
;;
;; Loop 1
;; header 12, latch 12
;; depth 1, outer 0
;; nodes: 12
;;
;; Loop 2
;; header 10, latch 10
;; depth 1, outer 0
;; nodes: 10
;; 2 succs { 22 3 16 18 20 }
;; 3 succs { 4 22 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 9 22 }
;; 9 succs { 11 10 }
;; 10 succs { 10 }
;; 11 succs { 13 12 }
;; 12 succs { 12 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 22 }
;; 16 succs { 17 22 }
;; 17 succs { 22 }
;; 18 succs { 19 22 }
;; 19 succs { 22 }
;; 20 succs { 21 22 }
;; 21 succs { 22 }
;; 22 succs { 1 }
FlexCAN_IRQHandlerEnhancedRxFIFO (uint8 instance, uint32 intType)
{
struct FLEXCAN_Type * base;
struct Flexcan_Ip_StateType * state;
volatile boolean x;
volatile boolean x;
struct Flexcan_Ip_MsgBuffType data;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
int _1;
<unnamed type> _2;
struct Flexcan_Ip_MsgBuffType * _3;
struct Flexcan_Ip_MsgBuffType * _4;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _5;
<unnamed type> _6;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _7;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _8;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _9;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
int _37;
_Bool _40;
_Bool x.0_41;
_Bool _42;
_Bool x.0_43;
_Bool _44;
long unsigned int _45;
long unsigned int _46;
<bb 2> [local count: 9569875]:
# DEBUG BEGIN_STMT
_1 = (int) instance_13(D);
base_15 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_15
# DEBUG BEGIN_STMT
state_16 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_16
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
switch (intType_17(D)) <default: <L20> [20.00%], case 28: <L0> [20.00%], case 29: <L21> [20.00%], case 30: <L22> [20.00%], case 31: <L23> [20.00%]>
<bb 3> [local count: 1913975]:
<L0>:
# DEBUG BEGIN_STMT
_2 ={v} state_16->enhancedFifoOutput.state;
if (_2 == 1)
goto <bb 4>; [34.00%]
else
goto <bb 22>; [66.00%]
<bb 4> [local count: 650752]:
# DEBUG BEGIN_STMT
_3 = state_16->enhancedFifoOutput.pMBmessage;
if (_3 == 0B)
goto <bb 5>; [30.00%]
else
goto <bb 6>; [70.00%]
<bb 5> [local count: 195225]:
# DEBUG BEGIN_STMT
state_16->enhancedFifoOutput.pMBmessage = &data;
<bb 6> [local count: 650752]:
# DEBUG BEGIN_STMT
_4 = state_16->enhancedFifoOutput.pMBmessage;
FlexCAN_ReadEnhancedRxFifo (base_15, _4);
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => intType_17(D)
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
_27 = 1 << intType_17(D);
base_15->ERFSR ={v} _27;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => 29
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_15->ERFSR ={v} 536870912;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => 30
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_15->ERFSR ={v} 1073741824;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
state_16->enhancedFifoOutput.state ={v} 0;
# DEBUG BEGIN_STMT
_5 = state_16->callback;
if (_5 != 0B)
goto <bb 7>; [70.00%]
else
goto <bb 8>; [30.00%]
<bb 7> [local count: 455526]:
# DEBUG BEGIN_STMT
_5 (instance_13(D), 5, 255, state_16);
<bb 8> [local count: 650752]:
# DEBUG BEGIN_STMT
_6 ={v} state_16->enhancedFifoOutput.state;
if (_6 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 22>; [67.00%]
<bb 9> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG instance => instance_13(D)
# DEBUG INLINE_ENTRY FlexCAN_CompleteRxMessageEnhancedFifoData
# DEBUG BEGIN_STMT
_37 = (int) instance_13(D);
base_38 = g_Flexcan_Ip_aBase[_37];
# DEBUG base => base_38
# DEBUG BEGIN_STMT
state_39 = g_flexcan_Ip_StatePtr[_37];
# DEBUG state => state_39
# DEBUG BEGIN_STMT
_40 = instance_13(D) <= 5;
x ={v} _40;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_41 ={v} x;
if (x.0_41 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 10>; [100.00%]
<bb 11> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_42 = FlexCAN_IsEnhancedRxFifoAvailable (base_38);
x ={v} _42;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_43 ={v} x;
if (x.0_43 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 12>; [100.00%]
<bb 13> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_44 = state_39->enhancedFifoOutput.isPolling;
if (_44 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 26843]:
# DEBUG BEGIN_STMT
state_39->enhancedFifoOutput.isPolling = 1;
# DEBUG BEGIN_STMT
# DEBUG base => base_38
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_45 ={v} base_38->ERFIER;
_46 = _45 & 268435455;
base_38->ERFIER ={v} _46;
<bb 15> [local count: 53687]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
state_39->enhancedFifoOutput.pMBmessage = 0B;
# DEBUG BEGIN_STMT
state_39->enhancedFifoOutput.state ={v} 0;
goto <bb 22>; [100.00%]
<bb 16> [local count: 1913975]:
<L21>:
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => intType_17(D)
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
_28 = 1 << intType_17(D);
base_15->ERFSR ={v} _28;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
_7 = state_16->callback;
if (_7 != 0B)
goto <bb 17>; [70.00%]
else
goto <bb 22>; [30.00%]
<bb 17> [local count: 1339783]:
# DEBUG BEGIN_STMT
_7 (instance_13(D), 6, 255, state_16);
goto <bb 22>; [100.00%]
<bb 18> [local count: 1913975]:
<L22>:
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => intType_17(D)
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
_29 = 1 << intType_17(D);
base_15->ERFSR ={v} _29;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
_8 = state_16->callback;
if (_8 != 0B)
goto <bb 19>; [70.00%]
else
goto <bb 22>; [30.00%]
<bb 19> [local count: 1339783]:
# DEBUG BEGIN_STMT
_8 (instance_13(D), 7, 255, state_16);
goto <bb 22>; [100.00%]
<bb 20> [local count: 1913975]:
<L23>:
# DEBUG BEGIN_STMT
# DEBUG base => base_15
# DEBUG intFlag => intType_17(D)
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
_30 = 1 << intType_17(D);
base_15->ERFSR ={v} _30;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
_9 = state_16->callback;
if (_9 != 0B)
goto <bb 21>; [70.00%]
else
goto <bb 22>; [30.00%]
<bb 21> [local count: 1339783]:
# DEBUG BEGIN_STMT
_9 (instance_13(D), 8, 255, state_16);
<bb 22> [local count: 9408814]:
<L20>:
# DEBUG instance => NULL
# DEBUG x => NULL
# DEBUG x => NULL
# DEBUG state => NULL
# DEBUG base => NULL
data ={v} {CLOBBER};
return;
}
;; Function FlexCAN_IRQHandlerRxFIFO (FlexCAN_IRQHandlerRxFIFO, funcdef_no=61, decl_uid=5228, cgraph_uid=62, symbol_order=63)
Symbols to be put in SSA form
{ D.6745 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 23
Number of blocks to update: 22 ( 96%)
Merging blocks 9 and 16
Removing basic block 15
Removing basic block 17
Merging blocks 18 and 19
;; 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
;;
;; Loop 1
;; header 10, latch 10
;; depth 1, outer 0
;; nodes: 10
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 18 5 14 16 }
;; 5 succs { 6 18 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 9 18 }
;; 9 succs { 11 10 }
;; 10 succs { 10 }
;; 11 succs { 12 13 }
;; 12 succs { 13 }
;; 13 succs { 18 }
;; 14 succs { 15 18 }
;; 15 succs { 18 }
;; 16 succs { 17 18 }
;; 17 succs { 18 }
;; 18 succs { 1 }
FlexCAN_IRQHandlerRxFIFO (uint8 instance, uint32 mb_idx)
{
struct FLEXCAN_Type * base;
struct Flexcan_Ip_StateType * state;
volatile boolean x;
struct Flexcan_Ip_MsgBuffType data;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
int _1;
struct Flexcan_Ip_MsgBuffType * _2;
<unnamed type> _3;
struct Flexcan_Ip_MsgBuffType * _4;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _5;
<unnamed type> _6;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _7;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _8;
int _29;
_Bool _32;
_Bool x.0_33;
<unnamed type> _34;
_Bool _35;
_Bool _36;
_Bool _37;
<bb 2> [local count: 12860702]:
# DEBUG BEGIN_STMT
_1 = (int) instance_12(D);
base_14 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_14
# DEBUG BEGIN_STMT
state_15 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_15
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_2 = state_15->mbs[0].pMBmessage;
if (_2 == 0B)
goto <bb 3>; [30.00%]
else
goto <bb 4>; [70.00%]
<bb 3> [local count: 3858211]:
# DEBUG BEGIN_STMT
state_15->mbs[0].pMBmessage = &data;
<bb 4> [local count: 12860702]:
# DEBUG BEGIN_STMT
switch (mb_idx_17(D)) <default: <L17> [25.00%], case 5: <L2> [25.00%], case 6: <L9> [25.00%], case 7: <L12> [25.00%]>
<bb 5> [local count: 3215175]:
<L2>:
# DEBUG BEGIN_STMT
_3 ={v} state_15->mbs[0].state;
if (_3 == 1)
goto <bb 6>; [20.24%]
else
goto <bb 18>; [79.76%]
<bb 6> [local count: 650752]:
# DEBUG BEGIN_STMT
_4 = state_15->mbs[0].pMBmessage;
FlexCAN_ReadRxFifo (base_14, _4);
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D));
# DEBUG BEGIN_STMT
state_15->mbs[0].state ={v} 0;
# DEBUG BEGIN_STMT
_5 = state_15->callback;
if (_5 != 0B)
goto <bb 7>; [70.00%]
else
goto <bb 8>; [30.00%]
<bb 7> [local count: 455526]:
# DEBUG BEGIN_STMT
_5 (instance_12(D), 1, 0, state_15);
<bb 8> [local count: 650752]:
# DEBUG BEGIN_STMT
_6 ={v} state_15->mbs[0].state;
if (_6 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 18>; [67.00%]
<bb 9> [local count: 214748]:
# DEBUG BEGIN_STMT
state_15->mbs[0].isPolling = 1;
# DEBUG BEGIN_STMT
# DEBUG instance => instance_12(D)
# DEBUG INLINE_ENTRY FlexCAN_CompleteRxMessageFifoData
# DEBUG BEGIN_STMT
_29 = (int) instance_12(D);
base_30 = g_Flexcan_Ip_aBase[_29];
# DEBUG base => base_30
# DEBUG BEGIN_STMT
state_31 = g_flexcan_Ip_StatePtr[_29];
# DEBUG state => state_31
# DEBUG BEGIN_STMT
_32 = instance_12(D) <= 5;
x ={v} _32;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_33 ={v} x;
if (x.0_33 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 10>; [100.00%]
<bb 11> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_34 = state_31->transferType;
if (_34 == 0)
goto <bb 12>; [33.00%]
else
goto <bb 13>; [67.00%]
<bb 12> [local count: 35433]:
# DEBUG BEGIN_STMT
_35 = state_31->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 5, 0, _35);
# DEBUG BEGIN_STMT
_36 = state_31->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 6, 0, _36);
# DEBUG BEGIN_STMT
_37 = state_31->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 7, 0, _37);
<bb 13> [local count: 107374]:
# DEBUG BEGIN_STMT
state_31->mbs[0].pMBmessage = 0B;
# DEBUG BEGIN_STMT
state_31->mbs[0].state ={v} 0;
goto <bb 18>; [100.00%]
<bb 14> [local count: 3215175]:
<L9>:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D));
# DEBUG BEGIN_STMT
_7 = state_15->callback;
if (_7 != 0B)
goto <bb 15>; [70.00%]
else
goto <bb 18>; [30.00%]
<bb 15> [local count: 2250623]:
# DEBUG BEGIN_STMT
_7 (instance_12(D), 2, 0, state_15);
goto <bb 18>; [100.00%]
<bb 16> [local count: 3215175]:
<L12>:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D));
# DEBUG BEGIN_STMT
_8 = state_15->callback;
if (_8 != 0B)
goto <bb 17>; [70.00%]
else
goto <bb 18>; [30.00%]
<bb 17> [local count: 2250623]:
# DEBUG BEGIN_STMT
_8 (instance_12(D), 3, 0, state_15);
<bb 18> [local count: 12753328]:
<L17>:
# DEBUG instance => NULL
# DEBUG x => NULL
# DEBUG state => NULL
# DEBUG base => NULL
data ={v} {CLOBBER};
return;
}
;; Function FlexCAN_ProccessLegacyRxFIFO (FlexCAN_ProccessLegacyRxFIFO, funcdef_no=55, decl_uid=5219, cgraph_uid=56, symbol_order=57)
FlexCAN_ProccessLegacyRxFIFO (uint8 u8Instance, uint32 u32TimeoutMs)
{
uint32 u32intType;
uint32 mS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
struct FLEXCAN_Type * pBase;
struct Flexcan_Ip_StateType * pState;
Flexcan_Ip_StatusType eResult;
int _1;
long unsigned int _2;
long unsigned int _3;
<unnamed type> _4;
unsigned char _5;
<unnamed type> _6;
<unnamed type> _7;
_Bool _8;
_Bool _9;
_Bool _10;
<unnamed type> _11;
long unsigned int _37;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_23(D);
pState_25 = g_flexcan_Ip_StatePtr[_1];
# DEBUG pState => pState_25
# DEBUG BEGIN_STMT
pBase_26 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_26
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
_2 = u32TimeoutMs_28(D) * 1000;
mS2Ticks_30 = OsIf_MicrosToTicks (_2, 0);
# DEBUG mS2Ticks => mS2Ticks_30
# DEBUG BEGIN_STMT
# DEBUG u32intType => 0
# DEBUG BEGIN_STMT
_3 = OsIf_GetCounter (0);
timeStart = _3;
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_4 = pState_25->transferType;
if (_4 == 1)
goto <bb 17>; [16.00%]
else
goto <bb 8>; [84.00%]
<bb 17> [local count: 162349764]:
goto <bb 7>; [100.00%]
<bb 4> [local count: 487049291]:
# DEBUG BEGIN_STMT
_5 = FlexCAN_GetBuffStatusFlag (pBase_26, u32intType_15);
if (_5 != 0)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 160726266]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxFIFO (u8Instance_23(D), u32intType_15);
<bb 6> [local count: 487049291]:
# DEBUG BEGIN_STMT
u32intType_35 = u32intType_15 + 4294967295;
# DEBUG u32intType => u32intType_35
<bb 7> [local count: 649399056]:
# u32intType_15 = PHI <u32intType_35(6), 7(17)>
# DEBUG u32intType => u32intType_15
# DEBUG BEGIN_STMT
if (u32intType_15 > 4)
goto <bb 4>; [75.00%]
else
goto <bb 8>; [25.00%]
<bb 8> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_37 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_38 = timeElapsed_14 + _37;
# DEBUG timeElapsed => timeElapsed_38
# DEBUG BEGIN_STMT
if (mS2Ticks_30 <= timeElapsed_38)
goto <bb 10>; [5.50%]
else
goto <bb 18>; [94.50%]
<bb 18> [local count: 958878293]:
<bb 9> [local count: 1073741824]:
# timeElapsed_14 = PHI <0(2), timeElapsed_38(18)>
# DEBUG timeElapsed => timeElapsed_14
# DEBUG BEGIN_STMT
_6 ={v} pState_25->mbs[0].state;
if (_6 == 1)
goto <bb 3>; [94.50%]
else
goto <bb 10>; [5.50%]
<bb 10> [local count: 114863532]:
# eResult_12 = PHI <3(8), 0(9)>
# DEBUG eResult => eResult_12
# DEBUG BEGIN_STMT
if (eResult_12 == 3)
goto <bb 11>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 11> [local count: 39053601]:
_7 = pState_25->transferType;
if (_7 != 1)
goto <bb 12>; [48.88%]
else
goto <bb 13>; [51.12%]
<bb 12> [local count: 19089400]:
# DEBUG BEGIN_STMT
_8 = pState_25->isIntActive;
FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 5, 0, _8);
# DEBUG BEGIN_STMT
_9 = pState_25->isIntActive;
FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 6, 0, _9);
# DEBUG BEGIN_STMT
_10 = pState_25->isIntActive;
FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 7, 0, _10);
<bb 13> [local count: 114863532]:
# DEBUG BEGIN_STMT
_11 ={v} pState_25->mbs[0].state;
switch (_11) <default: <L18> [33.33%], case 0: <L22> [33.33%], case 1: <L16> [33.33%]>
<bb 14> [local count: 38284015]:
<L16>:
# DEBUG BEGIN_STMT
pState_25->mbs[0].state ={v} 0;
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 15> [local count: 38284015]:
<L18>:
# DEBUG BEGIN_STMT
# DEBUG eResult => 1
# DEBUG BEGIN_STMT
<bb 16> [local count: 114852045]:
# eResult_13 = PHI <eResult_12(14), 0(13), 1(15)>
<L22>:
# DEBUG eResult => eResult_13
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return eResult_13;
}
;; Function FlexCAN_SetFDTimeSegments (FlexCAN_SetFDTimeSegments, funcdef_no=12, decl_uid=4882, cgraph_uid=13, symbol_order=12)
Symbols to be put in SSA form
{ D.6703 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 10
Number of blocks to update: 9 ( 90%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 9 and 7
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 1 }
FlexCAN_SetFDTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
volatile boolean x;
_Bool _1;
_Bool x.0_6;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = timeSeg_2(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_6 ={v} x;
if (x.0_6 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG base => base_5(D)
# DEBUG timeSeg => timeSeg_2(D)
# DEBUG INLINE_ENTRY FlexCAN_SetFDTimeSegments
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_8 ={v} base_5(D)->FDCBT;
_9 = _8 & 3221783320;
base_5(D)->FDCBT ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} base_5(D)->FDCBT;
_11 = timeSeg_2(D)->propSeg;
_12 = _11 << 10;
_13 = _12 & 31744;
_14 = timeSeg_2(D)->phaseSeg2;
_15 = _14 & 7;
_16 = _13 | _15;
_17 = timeSeg_2(D)->phaseSeg1;
_18 = _17 << 5;
_19 = _18 & 255;
_20 = _16 | _19;
_21 = timeSeg_2(D)->preDivider;
_22 = _21 << 20;
_23 = _22 & 1072693248;
_24 = _20 | _23;
_25 = timeSeg_2(D)->rJumpwidth;
_26 = _25 << 16;
_27 = _26 & 458752;
_28 = _24 | _27;
_29 = _10 | _28;
base_5(D)->FDCBT ={v} _29;
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
return;
}
;; Function FlexCAN_SetTimeSegments (FlexCAN_SetTimeSegments, funcdef_no=13, decl_uid=4886, cgraph_uid=14, symbol_order=13)
Symbols to be put in SSA form
{ D.6704 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 10
Number of blocks to update: 9 ( 90%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 9 and 7
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 1 }
FlexCAN_SetTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
volatile boolean x;
_Bool _1;
_Bool x.0_6;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = timeSeg_2(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_6 ={v} x;
if (x.0_6 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG base => base_5(D)
# DEBUG timeSeg => timeSeg_2(D)
# DEBUG INLINE_ENTRY FlexCAN_SetTimeSegments
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_8 ={v} base_5(D)->CTRL1;
_9 = _8 & 65528;
base_5(D)->CTRL1 ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} base_5(D)->CTRL1;
_11 = timeSeg_2(D)->propSeg;
_12 = _11 & 7;
_13 = timeSeg_2(D)->phaseSeg2;
_14 = _13 << 16;
_15 = _14 & 458752;
_16 = _12 | _15;
_17 = timeSeg_2(D)->phaseSeg1;
_18 = _17 << 19;
_19 = _18 & 3670016;
_20 = _16 | _19;
_21 = timeSeg_2(D)->preDivider;
_22 = _21 << 24;
_23 = _20 | _22;
_24 = timeSeg_2(D)->rJumpwidth;
_25 = _24 << 22;
_26 = _25 & 12582912;
_27 = _23 | _26;
_28 = _10 | _27;
base_5(D)->CTRL1 ={v} _28;
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
return;
}
;; Function FlexCAN_SetExtendedTimeSegments (FlexCAN_SetExtendedTimeSegments, funcdef_no=14, decl_uid=4890, cgraph_uid=15, symbol_order=14)
Symbols to be put in SSA form
{ D.6705 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 10
Number of blocks to update: 9 ( 90%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 9 and 7
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 1 }
FlexCAN_SetExtendedTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
volatile boolean x;
_Bool _1;
_Bool x.0_6;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = timeSeg_2(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_6 ={v} x;
if (x.0_6 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG base => base_5(D)
# DEBUG timeSeg => timeSeg_2(D)
# DEBUG INLINE_ENTRY FlexCAN_SetExtendedTimeSegments
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_8 ={v} base_5(D)->CBT;
_9 = _8 & 2147483648;
base_5(D)->CBT ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} base_5(D)->CBT;
_11 = timeSeg_2(D)->propSeg;
_12 = _11 << 10;
_13 = _12 & 65535;
_14 = timeSeg_2(D)->phaseSeg2;
_15 = _14 & 31;
_16 = _13 | _15;
_17 = timeSeg_2(D)->phaseSeg1;
_18 = _17 << 5;
_19 = _18 & 992;
_20 = _16 | _19;
_21 = timeSeg_2(D)->preDivider;
_22 = _21 << 21;
_23 = _22 & 2145386496;
_24 = _20 | _23;
_25 = timeSeg_2(D)->rJumpwidth;
_26 = _25 << 16;
_27 = _26 & 2031616;
_28 = _24 | _27;
_29 = _10 | _28;
base_5(D)->CBT ={v} _29;
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
return;
}
;; Function FlexCAN_SetEnhancedNominalTimeSegments (FlexCAN_SetEnhancedNominalTimeSegments, funcdef_no=15, decl_uid=4894, cgraph_uid=16, symbol_order=15)
Symbols to be put in SSA form
{ D.6706 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 10
Number of blocks to update: 9 ( 90%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 9 and 7
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 1 }
FlexCAN_SetEnhancedNominalTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
volatile boolean x;
_Bool _1;
_Bool x.0_6;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = timeSeg_2(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_6 ={v} x;
if (x.0_6 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG base => base_5(D)
# DEBUG timeSeg => timeSeg_2(D)
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedNominalTimeSegments
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_8 ={v} base_5(D)->ENCBT;
_9 = _8 & 3761770240;
base_5(D)->ENCBT ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} base_5(D)->ENCBT;
_11 = timeSeg_2(D)->phaseSeg1;
_12 = timeSeg_2(D)->propSeg;
_13 = _11 + _12;
_14 = _13 + 1;
_15 = _14 & 255;
_16 = timeSeg_2(D)->phaseSeg2;
_17 = _16 << 12;
_18 = _17 & 520192;
_19 = _15 | _18;
_20 = timeSeg_2(D)->rJumpwidth;
_21 = _20 << 22;
_22 = _21 & 532676608;
_23 = _19 | _22;
_24 = _10 | _23;
base_5(D)->ENCBT ={v} _24;
# DEBUG BEGIN_STMT
_25 ={v} base_5(D)->EPRS;
_26 = _25 & 4294966272;
base_5(D)->EPRS ={v} _26;
# DEBUG BEGIN_STMT
_27 ={v} base_5(D)->EPRS;
_28 = timeSeg_2(D)->preDivider;
_29 = _28 & 1023;
_30 = _27 | _29;
base_5(D)->EPRS ={v} _30;
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
return;
}
;; Function FlexCAN_SetEnhancedDataTimeSegments (FlexCAN_SetEnhancedDataTimeSegments, funcdef_no=17, decl_uid=4902, cgraph_uid=18, symbol_order=17)
Symbols to be put in SSA form
{ D.6708 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 10
Number of blocks to update: 9 ( 90%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 9 and 7
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 1 }
FlexCAN_SetEnhancedDataTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
volatile boolean x;
_Bool _1;
_Bool x.0_6;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = timeSeg_2(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_6 ={v} x;
if (x.0_6 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG base => base_5(D)
# DEBUG timeSeg => timeSeg_2(D)
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedDataTimeSegments
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_8 ={v} base_5(D)->EDCBT;
_9 = _8 & 4231991264;
base_5(D)->EDCBT ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} base_5(D)->EDCBT;
_11 = timeSeg_2(D)->phaseSeg1;
_12 = timeSeg_2(D)->propSeg;
_13 = _11 + _12;
_14 = _13 & 31;
_15 = timeSeg_2(D)->phaseSeg2;
_16 = _15 << 12;
_17 = _16 & 65535;
_18 = _14 | _17;
_19 = timeSeg_2(D)->rJumpwidth;
_20 = _19 << 22;
_21 = _20 & 62914560;
_22 = _18 | _21;
_23 = _10 | _22;
base_5(D)->EDCBT ={v} _23;
# DEBUG BEGIN_STMT
_24 ={v} base_5(D)->EPRS;
_25 = _24 & 4227923967;
base_5(D)->EPRS ={v} _25;
# DEBUG BEGIN_STMT
_26 ={v} base_5(D)->EPRS;
_27 = timeSeg_2(D)->preDivider;
_28 = _27 << 16;
_29 = _28 & 67043328;
_30 = _26 | _29;
base_5(D)->EPRS ={v} _30;
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
return;
}
;; Function FlexCAN_GetMsgBuffIntStatusFlag (FlexCAN_GetMsgBuffIntStatusFlag, funcdef_no=36, decl_uid=4981, cgraph_uid=37, symbol_order=36)
Symbols to be put in SSA form
{ D.6721 D.7272 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 13
Number of blocks to update: 12 ( 92%)
Removing basic block 7
Removing basic block 10
Merging blocks 11 and 12
Merging blocks 11 and 9
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8
;; 2 succs { 3 4 }
;; 3 succs { 8 }
;; 4 succs { 5 6 }
;; 5 succs { 8 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 1 }
FlexCAN_GetMsgBuffIntStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
uint32 mask;
uint8 flag;
uint8 D.7272;
uint32 mask;
uint8 flag;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
unsigned char _10;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
unsigned char _27;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG flag => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (msgBuffIdx_13(D) <= 31)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
mask_18 ={v} base_15(D)->IMASK1;
# DEBUG mask => mask_18
# DEBUG BEGIN_STMT
_1 ={v} base_15(D)->IFLAG1;
_2 = _1 & mask_18;
_3 = msgBuffIdx_13(D);
_4 = _2 >> _3;
_5 = (unsigned char) _4;
flag_19 = _5 & 1;
# DEBUG flag => flag_19
goto <bb 8>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_13(D) <= 63)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 268435456]:
# DEBUG BEGIN_STMT
mask_16 ={v} base_15(D)->IMASK2;
# DEBUG mask => mask_16
# DEBUG BEGIN_STMT
_6 ={v} base_15(D)->IFLAG2;
_7 = _6 & mask_16;
_8 = msgBuffIdx_13(D) & 31;
_9 = _7 >> _8;
_10 = (unsigned char) _9;
flag_17 = _10 & 1;
# DEBUG flag => flag_17
goto <bb 8>; [100.00%]
<bb 6> [local count: 268435456]:
# DEBUG BEGIN_STMT
if (msgBuffIdx_13(D) <= 95)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 134217728]:
# DEBUG base => base_15(D)
# DEBUG msgBuffIdx => msgBuffIdx_13(D)
# DEBUG INLINE_ENTRY FlexCAN_GetMsgBuffIntStatusFlag
# DEBUG BEGIN_STMT
mask_22 ={v} base_15(D)->IMASK3;
# DEBUG mask => mask_22
# DEBUG BEGIN_STMT
_23 ={v} base_15(D)->IFLAG3;
_24 = mask_22 & _23;
_25 = msgBuffIdx_13(D) & 31;
_26 = _24 >> _25;
_27 = (unsigned char) _26;
flag_28 = _27 & 1;
# DEBUG flag => flag_28
# DEBUG flag => flag_28
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_30 = flag_28;
# DEBUG base => NULL
# DEBUG msgBuffIdx => NULL
# DEBUG flag => NULL
# DEBUG mask => NULL
flag_20 = _30;
<bb 8> [local count: 1073741824]:
# flag_11 = PHI <flag_19(3), flag_17(5), 0(6), flag_20(7)>
# DEBUG flag => flag_11
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
return flag_11;
}
;; Function FlexCAN_StartRxMessageFifoData (FlexCAN_StartRxMessageFifoData, funcdef_no=58, decl_uid=5216, cgraph_uid=59, symbol_order=60)
Symbols to be put in SSA form
{ D.6736 D.7281 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 16
Number of blocks to update: 15 ( 94%)
Merging blocks 3 and 6
Removing basic block 4
Removing basic block 5
Removing basic block 8
Merging blocks 15 and 7
;; 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
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 10 5 }
;; 5 succs { 10 6 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 1 }
FlexCAN_StartRxMessageFifoData (uint8 instance, struct Flexcan_Ip_MsgBuffType * data)
{
Flexcan_Ip_StatusType eResult;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType D.7281;
volatile boolean x;
Flexcan_Ip_StatusType eResult;
_Bool _1;
_Bool x.0_7;
int _9;
_Bool _12;
<unnamed type> _13;
<unnamed type> _14;
_Bool _15;
_Bool _16;
_Bool _17;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG base => 0B
# DEBUG BEGIN_STMT
# DEBUG state => 0B
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_1 = instance_4(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_7 ={v} x;
if (x.0_7 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG instance => instance_4(D)
# DEBUG data => data_6(D)
# DEBUG INLINE_ENTRY FlexCAN_StartRxMessageFifoData
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_9 = (int) instance_4(D);
base_10 = g_Flexcan_Ip_aBase[_9];
# DEBUG base => base_10
# DEBUG BEGIN_STMT
state_11 = g_flexcan_Ip_StatePtr[_9];
# DEBUG state => state_11
# DEBUG BEGIN_STMT
_12 = state_11->bIsLegacyFifoEn;
if (_12 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_13 ={v} state_11->mbs[0].state;
if (_13 != 0)
goto <bb 10>; [35.00%]
else
goto <bb 6>; [65.00%]
<bb 6> [local count: 34897]:
# DEBUG BEGIN_STMT
state_11->mbs[0].state ={v} 1;
# DEBUG BEGIN_STMT
_14 = state_11->transferType;
if (_14 == 1)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 11865]:
# DEBUG BEGIN_STMT
state_11->mbs[0].isPolling = 1;
<bb 8> [local count: 34897]:
# DEBUG BEGIN_STMT
state_11->mbs[0].pMBmessage = data_6(D);
# DEBUG BEGIN_STMT
if (_14 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 9> [local count: 11516]:
# DEBUG BEGIN_STMT
state_11->mbs[0].isPolling = 0;
# DEBUG BEGIN_STMT
_15 = state_11->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 6, 1, _15);
# DEBUG BEGIN_STMT
_16 = state_11->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 7, 1, _16);
# DEBUG BEGIN_STMT
_17 = state_11->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 5, 1, _17);
<bb 10> [local count: 107374]:
# eResult_18 = PHI <1(4), 2(5), 0(8), 0(9)>
# DEBUG eResult => eResult_18
# DEBUG BEGIN_STMT
_28 = eResult_18;
# DEBUG instance => NULL
# DEBUG data => NULL
# DEBUG base => NULL
# DEBUG state => NULL
# DEBUG eResult => NULL
# DEBUG x => NULL
eResult_3 = _28;
# DEBUG eResult => eResult_3
# DEBUG BEGIN_STMT
return eResult_3;
}
;; Function FlexCAN_Ip_Init_Privileged (FlexCAN_Ip_Init_Privileged, funcdef_no=67, decl_uid=4534, cgraph_uid=68, symbol_order=69)
Symbols to be put in SSA form
{ D.6751 D.7290 D.7298 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 57
Number of blocks to update: 56 ( 98%)
Merging blocks 3 and 24
Merging blocks 5 and 23
Removing basic block 6
Merging blocks 7 and 54
Removing basic block 20
Removing basic block 21
Removing basic block 22
Removing basic block 32
Merging blocks 34 and 48
Merging blocks 38 and 25
Merging blocks 44 and 39
Merging blocks 46 and 45
Merging blocks 52 and 47
Merging blocks 56 and 53
Merging blocks 46 and 40
;; 4 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
;;
;; Loop 1
;; header 39, latch 38
;; depth 1, outer 0
;; nodes: 39 38
;;
;; Loop 2
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 3
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 10 }
;; 7 succs { 8 9 }
;; 8 succs { 9 }
;; 9 succs { 10 26 }
;; 10 succs { 11 12 }
;; 11 succs { 26 }
;; 12 succs { 14 13 }
;; 13 succs { 14 }
;; 14 succs { 16 15 }
;; 15 succs { 16 }
;; 16 succs { 17 18 }
;; 17 succs { 18 }
;; 18 succs { 19 20 }
;; 19 succs { 20 22 }
;; 20 succs { 21 22 }
;; 21 succs { 22 }
;; 22 succs { 23 24 }
;; 23 succs { 26 }
;; 24 succs { 25 26 }
;; 25 succs { 26 }
;; 26 succs { 27 41 }
;; 27 succs { 29 28 }
;; 28 succs { 29 }
;; 29 succs { 30 33 }
;; 30 succs { 31 32 }
;; 31 succs { 32 }
;; 32 succs { 37 }
;; 33 succs { 34 35 }
;; 34 succs { 36 }
;; 35 succs { 36 }
;; 36 succs { 37 }
;; 37 succs { 39 41 }
;; 38 succs { 39 }
;; 39 succs { 38 40 }
;; 40 succs { 41 }
;; 41 succs { 1 }
FlexCAN_Ip_Init_Privileged (uint8 Flexcan_Ip_u8Instance, struct Flexcan_Ip_StateType * Flexcan_Ip_pState, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData)
{
Flexcan_Ip_StatusType eResult;
Flexcan_Ip_StatusType D.7298;
Flexcan_Ip_StatusType eResult;
Flexcan_Ip_StatusType D.7290;
volatile boolean x;
volatile boolean x;
uint32 i;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType eResult;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool _5;
long unsigned int _6;
long unsigned int _7;
const struct Flexcan_Ip_TimeSegmentType * _8;
_Bool _9;
const struct Flexcan_Ip_TimeSegmentType * _10;
long unsigned int _11;
long unsigned int _12;
_Bool _13;
const struct Flexcan_Ip_TimeSegmentType * _14;
const struct Flexcan_Ip_TimeSegmentType * _15;
const struct Flexcan_Ip_TimeSegmentType * _16;
<unnamed type> _17;
<unnamed type> _18;
void (*<T341>) (uint8, Flexcan_Ip_EventType, uint32, const struct Flexcan_Ip_StateType *) _19;
void (*<T341>) (uint8, Flexcan_Ip_EventType, uint32, const struct Flexcan_Ip_StateType *) _20;
_Bool _21;
long unsigned int _22;
_Bool x.0_68;
_Bool x.0_69;
long unsigned int _72;
signed int _73;
long unsigned int _77;
long unsigned int _78;
_Bool _80;
_Bool _81;
long unsigned int _82;
<unnamed type> _83;
long unsigned int _84;
long unsigned int _85;
long unsigned int _86;
const struct Flexcan_Ip_PayloadSizeType * _88;
long unsigned int _89;
long unsigned int _92;
long unsigned int _93;
long unsigned int iftmp.1_94;
long unsigned int _95;
long unsigned int _96;
long unsigned int _97;
long unsigned int iftmp.2_98;
long unsigned int _99;
long unsigned int _100;
long unsigned int _101;
long unsigned int _102;
long unsigned int _103;
long unsigned int _104;
long unsigned int _105;
long unsigned int _106;
_Bool _107;
<unnamed type> _108;
long unsigned int _109;
_Bool _111;
long unsigned int _112;
long unsigned int _113;
long unsigned int _114;
long unsigned int _118;
long unsigned int _119;
long unsigned int iftmp.4_120;
long unsigned int _121;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_1 = (int) Flexcan_Ip_u8Instance_30(D);
pBase_32 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_32
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_2 = Flexcan_Ip_u8Instance_30(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_69 ={v} x;
if (x.0_69 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = Flexcan_Ip_pData_33(D) != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_68 ={v} x;
if (x.0_68 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_32
# DEBUG Flexcan_Ip_pData => Flexcan_Ip_pData_33(D)
# DEBUG INLINE_ENTRY FlexCAN_InitController
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_32
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_72 ={v} MEM[(const struct FLEXCAN_Type *)pBase_32].MCR;
_73 = (signed int) _72;
# DEBUG pBase => NULL
if (_73 >= 0)
goto <bb 7>; [59.00%]
else
goto <bb 10>; [41.00%]
<bb 7> [local count: 31675]:
# DEBUG BEGIN_STMT
eResult_74 = FlexCAN_EnterFreezeMode (pBase_32);
# DEBUG eResult => eResult_74
# DEBUG BEGIN_STMT
if (eResult_74 == 0)
goto <bb 8>; [33.00%]
else
goto <bb 9>; [67.00%]
<bb 8> [local count: 10453]:
# DEBUG BEGIN_STMT
eResult_75 = FlexCAN_Disable (pBase_32);
# DEBUG eResult => eResult_75
<bb 9> [local count: 31675]:
# eResult_76 = PHI <eResult_74(7), eResult_75(8)>
# DEBUG eResult => eResult_76
# DEBUG BEGIN_STMT
if (eResult_76 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 10> [local count: 37849]:
# DEBUG eResult => NULL
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
_77 ={v} pBase_32->MCR;
_78 = _77 & 2147483647;
pBase_32->MCR ={v} _78;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
eResult_79 = FlexCAN_Init (pBase_32);
# DEBUG eResult => eResult_79
# DEBUG BEGIN_STMT
if (eResult_79 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 18925]:
# DEBUG BEGIN_STMT
FlexCAN_EnterFreezeMode (pBase_32);
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_32);
goto <bb 26>; [100.00%]
<bb 12> [local count: 18925]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_32
# DEBUG INLINE_ENTRY FlexCAN_DisableMemErrorDetection
# DEBUG BEGIN_STMT
_102 ={v} pBase_32->CTRL2;
_103 = _102 | 536870912;
pBase_32->CTRL2 ={v} _103;
# DEBUG BEGIN_STMT
pBase_32->MECR ={v} 0;
# DEBUG BEGIN_STMT
pBase_32->MECR ={v} 0;
# DEBUG BEGIN_STMT
_104 ={v} pBase_32->MECR;
_105 = _104 | 256;
pBase_32->MECR ={v} _105;
# DEBUG BEGIN_STMT
_106 ={v} pBase_32->CTRL2;
pBase_32->CTRL2 ={v} _106;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
_80 = Flexcan_Ip_pData_33(D)->fd_enable;
_81 = Flexcan_Ip_pData_33(D)->bitRateSwitch;
# DEBUG base => pBase_32
# DEBUG enableFD => _80
# DEBUG enableBRS => _81
# DEBUG INLINE_ENTRY FlexCAN_SetFDEnabled
# DEBUG BEGIN_STMT
_92 ={v} pBase_32->MCR;
_93 = _92 & 4294965247;
if (_80 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 9462]:
<bb 14> [local count: 18925]:
# iftmp.1_94 = PHI <2048(12), 0(13)>
_95 = _93 | iftmp.1_94;
pBase_32->MCR ={v} _95;
# DEBUG BEGIN_STMT
_96 ={v} pBase_32->FDCTRL;
_97 = _96 & 2147483647;
if (_81 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 9462]:
<bb 16> [local count: 18925]:
# iftmp.2_98 = PHI <2147483648(14), 0(15)>
_99 = _97 | iftmp.2_98;
pBase_32->FDCTRL ={v} _99;
# DEBUG BEGIN_STMT
_100 ={v} pBase_32->FDCTRL;
_101 = _100 & 4294926591;
pBase_32->FDCTRL ={v} _101;
# DEBUG base => NULL
# DEBUG enableFD => NULL
# DEBUG enableBRS => NULL
# DEBUG BEGIN_STMT
_82 = Flexcan_Ip_pData_33(D)->ctrlOptions;
FlexCAN_ConfigCtrlOptions (pBase_32, _82);
# DEBUG BEGIN_STMT
_83 = Flexcan_Ip_pData_33(D)->flexcanMode;
if (_83 != 2)
goto <bb 17>; [66.00%]
else
goto <bb 18>; [34.00%]
<bb 17> [local count: 12490]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_32
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetSelfReception
# DEBUG BEGIN_STMT
_84 ={v} pBase_32->MCR;
_85 = _84 & 4294836223;
_86 = _85 | 131072;
pBase_32->MCR ={v} _86;
<bb 18> [local count: 18925]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_32
# DEBUG Flexcan_Ip_pData => Flexcan_Ip_pData_33(D)
# DEBUG INLINE_ENTRY FlexCAN_InitRxFifo
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_107 = Flexcan_Ip_pData_33(D)->is_rx_fifo_needed;
if (_107 != 0)
goto <bb 19>; [33.00%]
else
goto <bb 20>; [67.00%]
<bb 19> [local count: 6245]:
# DEBUG BEGIN_STMT
_108 = Flexcan_Ip_pData_33(D)->num_id_filters;
_109 = (long unsigned int) _108;
eResult_110 = FlexCAN_EnableRxFifo (pBase_32, _109);
# DEBUG eResult => eResult_110
# DEBUG BEGIN_STMT
if (eResult_110 == 0)
goto <bb 20>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 20> [local count: 15802]:
# eResult_117 = PHI <0(18), eResult_110(19)>
# DEBUG eResult => NULL
_111 = Flexcan_Ip_pData_33(D)->is_enhanced_rx_fifo_needed;
if (_111 != 0)
goto <bb 21>; [33.00%]
else
goto <bb 22>; [67.00%]
<bb 21> [local count: 5215]:
# DEBUG BEGIN_STMT
_112 = Flexcan_Ip_pData_33(D)->num_enhanced_std_id_filters;
_113 = Flexcan_Ip_pData_33(D)->num_enhanced_ext_id_filters;
_114 = Flexcan_Ip_pData_33(D)->num_enhanced_watermark;
eResult_115 = FlexCAN_EnableEnhancedRxFifo (pBase_32, _112, _113, _114);
# DEBUG eResult => eResult_115
<bb 22> [local count: 18925]:
# eResult_116 = PHI <eResult_110(19), eResult_117(20), eResult_115(21)>
# DEBUG eResult => eResult_116
# DEBUG BEGIN_STMT
_146 = eResult_116;
# DEBUG pBase => NULL
# DEBUG Flexcan_Ip_pData => NULL
# DEBUG eResult => NULL
eResult_87 = _146;
# DEBUG eResult => eResult_87
# DEBUG BEGIN_STMT
if (eResult_87 != 0)
goto <bb 23>; [50.00%]
else
goto <bb 24>; [50.00%]
<bb 23> [local count: 9462]:
# DEBUG BEGIN_STMT
FlexCAN_EnterFreezeMode (pBase_32);
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_32);
goto <bb 26>; [100.00%]
<bb 24> [local count: 9462]:
# DEBUG BEGIN_STMT
_88 = &Flexcan_Ip_pData_33(D)->payload;
FlexCAN_SetPayloadSize (pBase_32, _88);
# DEBUG BEGIN_STMT
_89 = Flexcan_Ip_pData_33(D)->max_num_mb;
eResult_90 = FlexCAN_SetMaxMsgBuffNum (pBase_32, _89);
# DEBUG eResult => eResult_90
# DEBUG BEGIN_STMT
if (eResult_90 != 0)
goto <bb 25>; [33.00%]
else
goto <bb 26>; [67.00%]
<bb 25> [local count: 3123]:
# DEBUG BEGIN_STMT
FlexCAN_EnterFreezeMode (pBase_32);
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_32);
<bb 26> [local count: 53687]:
# eResult_91 = PHI <eResult_76(9), eResult_79(11), eResult_87(23), eResult_90(24), eResult_90(25)>
# DEBUG eResult => eResult_91
# DEBUG BEGIN_STMT
_155 = eResult_91;
# DEBUG pBase => NULL
# DEBUG Flexcan_Ip_pData => NULL
# DEBUG eResult => NULL
eResult_35 = _155;
# DEBUG eResult => eResult_35
# DEBUG BEGIN_STMT
if (eResult_35 == 0)
goto <bb 27>; [33.00%]
else
goto <bb 41>; [67.00%]
<bb 27> [local count: 17717]:
# DEBUG BEGIN_STMT
_4 = Flexcan_Ip_pData_33(D)->fd_enable;
# DEBUG base => pBase_32
# DEBUG enableCBT => _4
# DEBUG INLINE_ENTRY FlexCAN_EnableExtCbt
# DEBUG BEGIN_STMT
_118 ={v} pBase_32->CBT;
_119 = _118 & 2147483647;
if (_4 != 0)
goto <bb 29>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 28> [local count: 8858]:
<bb 29> [local count: 17717]:
# iftmp.4_120 = PHI <2147483648(27), 0(28)>
_121 = _119 | iftmp.4_120;
pBase_32->CBT ={v} _121;
# DEBUG base => NULL
# DEBUG enableCBT => NULL
# DEBUG BEGIN_STMT
_5 = Flexcan_Ip_pData_33(D)->enhCbtEnable;
if (_5 != 0)
goto <bb 30>; [50.00%]
else
goto <bb 33>; [50.00%]
<bb 30> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
_6 ={v} pBase_32->CTRL2;
_7 = _6 | 8192;
pBase_32->CTRL2 ={v} _7;
# DEBUG BEGIN_STMT
_8 = &Flexcan_Ip_pData_33(D)->bitrate;
FlexCAN_SetEnhancedNominalTimeSegments (pBase_32, _8);
# DEBUG BEGIN_STMT
_9 = Flexcan_Ip_pData_33(D)->fd_enable;
if (_9 != 0)
goto <bb 31>; [33.00%]
else
goto <bb 32>; [67.00%]
<bb 31> [local count: 2923]:
# DEBUG BEGIN_STMT
_10 = &Flexcan_Ip_pData_33(D)->bitrate_cbt;
FlexCAN_SetEnhancedDataTimeSegments (pBase_32, _10);
<bb 32> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 ();
goto <bb 37>; [100.00%]
<bb 33> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 ();
# DEBUG BEGIN_STMT
_11 ={v} pBase_32->CTRL2;
_12 = _11 & 4294959103;
pBase_32->CTRL2 ={v} _12;
# DEBUG BEGIN_STMT
_13 = Flexcan_Ip_pData_33(D)->fd_enable;
if (_13 != 0)
goto <bb 34>; [50.00%]
else
goto <bb 35>; [50.00%]
<bb 34> [local count: 4429]:
# DEBUG BEGIN_STMT
_14 = &Flexcan_Ip_pData_33(D)->bitrate;
FlexCAN_SetExtendedTimeSegments (pBase_32, _14);
# DEBUG BEGIN_STMT
_15 = &Flexcan_Ip_pData_33(D)->bitrate_cbt;
FlexCAN_SetFDTimeSegments (pBase_32, _15);
goto <bb 36>; [100.00%]
<bb 35> [local count: 4429]:
# DEBUG BEGIN_STMT
_16 = &Flexcan_Ip_pData_33(D)->bitrate;
FlexCAN_SetTimeSegments (pBase_32, _16);
<bb 36> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 ();
<bb 37> [local count: 17717]:
# DEBUG BEGIN_STMT
_17 = Flexcan_Ip_pData_33(D)->flexcanMode;
FlexCAN_SetOperationMode (pBase_32, _17);
# DEBUG BEGIN_STMT
eResult_50 = FlexCAN_EnterFreezeMode (pBase_32);
# DEBUG eResult => eResult_50
# DEBUG BEGIN_STMT
if (eResult_50 == 0)
goto <bb 39>; [50.00%]
else
goto <bb 41>; [50.00%]
<bb 38> [local count: 851176]:
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->mbs[i_24].isPolling = 1;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->mbs[i_24].pMBmessage = 0B;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->mbs[i_24].state ={v} 0;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->mbs[i_24].time_stamp = 0;
# DEBUG BEGIN_STMT
i_67 = i_24 + 1;
# DEBUG i => i_67
<bb 39> [local count: 860035]:
# i_24 = PHI <i_67(38), 0(37)>
# DEBUG i => i_24
# DEBUG BEGIN_STMT
if (i_24 != 96)
goto <bb 38>; [98.97%]
else
goto <bb 40>; [1.03%]
<bb 40> [local count: 8858]:
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->enhancedFifoOutput.isPolling = 1;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->enhancedFifoOutput.state ={v} 0;
# DEBUG BEGIN_STMT
_18 = Flexcan_Ip_pData_33(D)->transfer_type;
Flexcan_Ip_pState_51(D)->transferType = _18;
# DEBUG BEGIN_STMT
_19 = Flexcan_Ip_pData_33(D)->Callback;
Flexcan_Ip_pState_51(D)->callback = _19;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->callbackParam = 0B;
# DEBUG BEGIN_STMT
_20 = Flexcan_Ip_pData_33(D)->ErrorCallback;
Flexcan_Ip_pState_51(D)->error_callback = _20;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->errorCallbackParam = 0B;
# DEBUG BEGIN_STMT
_21 = Flexcan_Ip_pData_33(D)->is_rx_fifo_needed;
Flexcan_Ip_pState_51(D)->bIsLegacyFifoEn = _21;
# DEBUG BEGIN_STMT
_22 = Flexcan_Ip_pData_33(D)->max_num_mb;
Flexcan_Ip_pState_51(D)->u32MaxMbNum = _22;
# DEBUG BEGIN_STMT
Flexcan_Ip_pState_51(D)->isIntActive = 1;
# DEBUG BEGIN_STMT
g_flexcan_Ip_StatePtr[_1] = Flexcan_Ip_pState_51(D);
<bb 41> [local count: 53687]:
# eResult_23 = PHI <eResult_35(26), eResult_50(37), 0(40)>
# DEBUG eResult => eResult_23
# DEBUG BEGIN_STMT
return eResult_23;
}
;; Function FlexCAN_Ip_Send (FlexCAN_Ip_Send, funcdef_no=68, decl_uid=4626, cgraph_uid=69, symbol_order=70)
FlexCAN_Ip_Send (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
volatile boolean x;
volatile boolean x;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
long unsigned int _5;
_Bool _6;
long unsigned int _21;
long unsigned int _22;
_Bool x.0_23;
_Bool x.0_24;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 1
# DEBUG BEGIN_STMT
_1 = (int) instance_9(D);
base_11 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_11
# DEBUG BEGIN_STMT
state_12 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_12
# DEBUG BEGIN_STMT
_2 = instance_9(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_24 ={v} x;
if (x.0_24 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = tx_info_13(D) != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_23 ={v} x;
if (x.0_23 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_11
# DEBUG INLINE_ENTRY FlexCAN_IsListenOnlyModeEnabled
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)base_11].CTRL1;
_22 = _21 & 8;
# DEBUG base => NULL
if (_22 == 0)
goto <bb 7>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 7> [local count: 17717]:
# DEBUG BEGIN_STMT
result_18 = FlexCAN_StartSendData (instance_9(D), mb_idx_14(D), tx_info_13(D), msg_id_15(D), mb_data_16(D));
# DEBUG result => result_18
# DEBUG BEGIN_STMT
if (result_18 == 0)
goto <bb 8>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 8> [local count: 8858]:
_4 = tx_info_13(D)->is_polling;
if (_4 != 0)
goto <bb 10>; [67.00%]
else
goto <bb 9>; [33.00%]
<bb 9> [local count: 2923]:
# DEBUG BEGIN_STMT
_5 = (long unsigned int) mb_idx_14(D);
_6 = state_12->isIntActive;
result_20 = FlexCAN_SetMsgBuffIntCmd (base_11, instance_9(D), _5, 1, _6);
# DEBUG result => result_20
<bb 10> [local count: 53687]:
# result_7 = PHI <1(6), result_18(7), 0(8), result_20(9)>
# DEBUG result => result_7
# DEBUG BEGIN_STMT
return result_7;
}
;; Function FlexCAN_Ip_ConfigRxMb (FlexCAN_Ip_ConfigRxMb, funcdef_no=69, decl_uid=4650, cgraph_uid=70, symbol_order=71)
FlexCAN_Ip_ConfigRxMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * rx_info, uint32 msg_id)
{
volatile boolean x;
volatile boolean x;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
struct Flexcan_Ip_MsbuffCodeStatusType cs;
Flexcan_Ip_StatusType eResult;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
long unsigned int _5;
_Bool _6;
long unsigned int _7;
long unsigned int _8;
<unnamed type> _9;
_Bool _10;
_Bool x.0_32;
_Bool x.0_33;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) instance_13(D);
base_15 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_15
# DEBUG BEGIN_STMT
state_16 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_16
# DEBUG BEGIN_STMT
_2 = instance_13(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_33 ={v} x;
if (x.0_33 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = rx_info_17(D) != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_32 ={v} x;
if (x.0_32 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 11> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = state_16->bIsLegacyFifoEn;
_5 = state_16->u32MaxMbNum;
_6 = FlexCAN_IsMbOutOfRange (base_15, mb_idx_18(D), _4, _5);
if (_6 != 0)
goto <bb 8>; [52.23%]
else
goto <bb 7>; [47.77%]
<bb 7> [local count: 25646]:
# DEBUG BEGIN_STMT
_7 = (long unsigned int) mb_idx_18(D);
FlexCAN_ClearMsgBuffIntStatusFlag (base_15, _7);
# DEBUG BEGIN_STMT
_8 = rx_info_17(D)->data_length;
cs.dataLen = _8;
# DEBUG BEGIN_STMT
_9 = rx_info_17(D)->msg_id_type;
cs.msgIdType = _9;
# DEBUG BEGIN_STMT
_10 = rx_info_17(D)->fd_enable;
cs.fd_enable = _10;
# DEBUG BEGIN_STMT
cs.code = 15;
# DEBUG BEGIN_STMT
FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D));
# DEBUG BEGIN_STMT
cs.code = 0;
# DEBUG BEGIN_STMT
FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D));
# DEBUG BEGIN_STMT
cs.code = 4;
# DEBUG BEGIN_STMT
FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D));
<bb 8> [local count: 53687]:
# eResult_11 = PHI <4(6), 0(7)>
# DEBUG eResult => eResult_11
# DEBUG BEGIN_STMT
cs ={v} {CLOBBER};
return eResult_11;
}
;; Function FlexCAN_Ip_Receive (FlexCAN_Ip_Receive, funcdef_no=70, decl_uid=4638, cgraph_uid=71, symbol_order=72)
FlexCAN_Ip_Receive (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling)
{
volatile boolean x;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
long unsigned int _3;
_Bool _4;
_Bool x.0_18;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) instance_7(D);
base_9 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_9
# DEBUG BEGIN_STMT
state_10 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_10
# DEBUG BEGIN_STMT
_2 = instance_7(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_18 ={v} x;
if (x.0_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
result_15 = FlexCAN_StartRxMessageBufferData (instance_7(D), mb_idx_11(D), data_12(D), isPolling_13(D));
# DEBUG result => result_15
# DEBUG BEGIN_STMT
if (result_15 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 5> [local count: 53687]:
if (isPolling_13(D) != 0)
goto <bb 7>; [67.00%]
else
goto <bb 6>; [33.00%]
<bb 6> [local count: 17717]:
# DEBUG BEGIN_STMT
_3 = (long unsigned int) mb_idx_11(D);
_4 = state_10->isIntActive;
result_17 = FlexCAN_SetMsgBuffIntCmd (base_9, instance_7(D), _3, 1, _4);
# DEBUG result => result_17
<bb 7> [local count: 107374]:
# result_5 = PHI <result_15(4), 0(5), result_17(6)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
return result_5;
}
;; Function FlexCAN_Ip_ReceiveBlocking (FlexCAN_Ip_ReceiveBlocking, funcdef_no=71, decl_uid=4691, cgraph_uid=72, symbol_order=73)
FlexCAN_Ip_ReceiveBlocking (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling, uint32 u32TimeoutMs)
{
volatile boolean x;
struct FLEXCAN_Type * base;
struct Flexcan_Ip_StateType * state;
uint32 mS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
Flexcan_Ip_StatusType result;
long unsigned int _1;
_Bool _2;
int _3;
long unsigned int _4;
_Bool _5;
long unsigned int _6;
long unsigned int _7;
unsigned char _8;
int _9;
<unnamed type> _10;
long unsigned int _11;
_Bool _12;
int _13;
<unnamed type> _14;
long unsigned int _45;
_Bool x.0_50;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
_1 = u32TimeoutMs_27(D) * 1000;
mS2Ticks_29 = OsIf_MicrosToTicks (_1, 0);
# DEBUG mS2Ticks => mS2Ticks_29
# DEBUG BEGIN_STMT
_2 = instance_30(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_50 ={v} x;
if (x.0_50 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 22> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 24> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_30(D);
state_31 = g_flexcan_Ip_StatePtr[_3];
# DEBUG state => state_31
# DEBUG BEGIN_STMT
base_32 = g_Flexcan_Ip_aBase[_3];
# DEBUG base => base_32
# DEBUG BEGIN_STMT
result_37 = FlexCAN_StartRxMessageBufferData (instance_30(D), mb_idx_33(D), data_34(D), isPolling_35(D));
# DEBUG result => result_37
# DEBUG BEGIN_STMT
if (result_37 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 5> [local count: 53687]:
if (isPolling_35(D) != 0)
goto <bb 7>; [67.00%]
else
goto <bb 6>; [33.00%]
<bb 6> [local count: 17717]:
# DEBUG BEGIN_STMT
_4 = (long unsigned int) mb_idx_33(D);
_5 = state_31->isIntActive;
result_39 = FlexCAN_SetMsgBuffIntCmd (base_32, instance_30(D), _4, 1, _5);
# DEBUG result => result_39
<bb 7> [local count: 107374]:
# result_15 = PHI <result_37(4), 0(5), result_39(6)>
# DEBUG result => result_15
# DEBUG BEGIN_STMT
if (result_15 == 0)
goto <bb 8>; [33.00%]
else
goto <bb 14>; [67.00%]
<bb 8> [local count: 35433]:
# DEBUG BEGIN_STMT
_6 = OsIf_GetCounter (0);
timeStart = _6;
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 9> [local count: 313013]:
# DEBUG BEGIN_STMT
if (isPolling_35(D) != 0)
goto <bb 10>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 10> [local count: 103294]:
# DEBUG BEGIN_STMT
_7 = (long unsigned int) mb_idx_33(D);
_8 = FlexCAN_GetBuffStatusFlag (base_32, _7);
if (_8 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 34087]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxMB (instance_30(D), _7);
<bb 12> [local count: 313013]:
# DEBUG BEGIN_STMT
_45 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_46 = timeElapsed_18 + _45;
# DEBUG timeElapsed => timeElapsed_46
# DEBUG BEGIN_STMT
if (mS2Ticks_29 <= timeElapsed_46)
goto <bb 14>; [5.50%]
else
goto <bb 23>; [94.50%]
<bb 23> [local count: 295797]:
<bb 13> [local count: 331231]:
# timeElapsed_18 = PHI <0(8), timeElapsed_46(23)>
# DEBUG timeElapsed => timeElapsed_18
# DEBUG BEGIN_STMT
_9 = (int) mb_idx_33(D);
_10 ={v} state_31->mbs[_9].state;
if (_10 == 1)
goto <bb 9>; [94.50%]
else
goto <bb 14>; [5.50%]
<bb 14> [local count: 107374]:
# result_16 = PHI <result_15(7), 3(12), 0(13)>
# DEBUG result => result_16
# DEBUG BEGIN_STMT
if (result_16 == 3)
goto <bb 15>; [34.00%]
else
goto <bb 17>; [66.00%]
<bb 15> [local count: 36507]:
if (isPolling_35(D) != 0)
goto <bb 17>; [67.00%]
else
goto <bb 16>; [33.00%]
<bb 16> [local count: 12047]:
# DEBUG BEGIN_STMT
_11 = (long unsigned int) mb_idx_33(D);
_12 = state_31->isIntActive;
FlexCAN_SetMsgBuffIntCmd (base_32, instance_30(D), _11, 0, _12);
<bb 17> [local count: 107374]:
# DEBUG BEGIN_STMT
if (result_16 != 4)
goto <bb 18>; [66.00%]
else
goto <bb 21>; [34.00%]
<bb 18> [local count: 70867]:
if (result_16 != 2)
goto <bb 19>; [66.00%]
else
goto <bb 21>; [34.00%]
<bb 19> [local count: 46772]:
# DEBUG BEGIN_STMT
_13 = (int) mb_idx_33(D);
_14 ={v} state_31->mbs[_13].state;
if (_14 == 0)
goto <bb 21>; [65.00%]
else
goto <bb 20>; [35.00%]
<bb 20> [local count: 16370]:
# DEBUG BEGIN_STMT
state_31->mbs[_13].state ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG result => 3
<bb 21> [local count: 107374]:
# result_17 = PHI <result_16(17), result_16(18), 0(19), 3(20)>
# DEBUG result => result_17
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return result_17;
}
;; Function FlexCAN_Ip_RxFifo (FlexCAN_Ip_RxFifo, funcdef_no=72, decl_uid=4641, cgraph_uid=73, symbol_order=74)
FlexCAN_Ip_RxFifo (uint8 instance, struct Flexcan_Ip_MsgBuffType * data)
{
volatile boolean x;
const struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
_Bool _3;
_Bool x.0_17;
long unsigned int _18;
signed int _19;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = instance_6(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_17 ={v} x;
if (x.0_17 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 11> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) instance_6(D);
base_8 = g_Flexcan_Ip_aBase[_2];
# DEBUG base => base_8
# DEBUG BEGIN_STMT
_3 = FlexCAN_IsEnhancedRxFifoAvailable (base_8);
if (_3 != 0)
goto <bb 5>; [67.00%]
else
goto <bb 8>; [33.00%]
<bb 5> [local count: 71941]:
# DEBUG BEGIN_STMT
# DEBUG base => base_8
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_18 ={v} base_8->ERFCR;
_19 = (signed int) _18;
# DEBUG base => NULL
if (_19 < 0)
goto <bb 6>; [41.00%]
else
goto <bb 7>; [59.00%]
<bb 6> [local count: 29496]:
# DEBUG BEGIN_STMT
result_16 = FlexCAN_StartRxMessageEnhancedFifoData (instance_6(D), data_10(D));
# DEBUG result => result_16
goto <bb 9>; [100.00%]
<bb 7> [local count: 42445]:
# DEBUG BEGIN_STMT
result_14 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D));
# DEBUG result => result_14
goto <bb 9>; [100.00%]
<bb 8> [local count: 35433]:
# DEBUG BEGIN_STMT
result_12 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D));
# DEBUG result => result_12
<bb 9> [local count: 107374]:
# result_4 = PHI <result_14(7), result_12(8), result_16(6)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_RxFifoBlocking (FlexCAN_Ip_RxFifoBlocking, funcdef_no=73, decl_uid=4645, cgraph_uid=74, symbol_order=75)
Symbols to be put in SSA form
{ D.6757 D.7330 D.7336 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 35
Number of blocks to update: 34 ( 97%)
Merging blocks 3 and 14
Removing basic block 7
Removing basic block 13
Removing basic block 19
Removing basic block 24
Merging blocks 32 and 15
Merging blocks 34 and 33
;; 4 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
;;
;; Loop 2
;; header 15, latch 14
;; depth 1, outer 0
;; nodes: 15 14 8 13 9 12 10 11
;;
;; Loop 3
;; header 13, latch 12
;; depth 2, outer 2
;; nodes: 13 12 10 11
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 25 }
;; 5 succs { 6 23 }
;; 6 succs { 7 27 }
;; 7 succs { 15 }
;; 8 succs { 9 14 }
;; 9 succs { 13 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 13 }
;; 13 succs { 10 14 }
;; 14 succs { 16 15 }
;; 15 succs { 8 16 }
;; 16 succs { 17 19 }
;; 17 succs { 18 19 }
;; 18 succs { 19 }
;; 19 succs { 21 22 20 }
;; 20 succs { 22 }
;; 21 succs { 22 }
;; 22 succs { 27 }
;; 23 succs { 24 27 }
;; 24 succs { 27 }
;; 25 succs { 26 27 }
;; 26 succs { 27 }
;; 27 succs { 1 }
FlexCAN_Ip_RxFifoBlocking (uint8 instance, struct Flexcan_Ip_MsgBuffType * data, uint32 timeout)
{
uint8 D.7336;
Flexcan_Ip_StatusType eResult;
struct Flexcan_Ip_StateType * pState;
struct FLEXCAN_Type * pBase;
uint32 timeStart;
uint32 timeElapsed;
uint32 mS2Ticks;
uint32 u32intType;
Flexcan_Ip_StatusType D.7330;
volatile boolean x;
const struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
_Bool _3;
_Bool x.0_24;
long unsigned int _25;
signed int _26;
int _28;
long unsigned int _31;
long unsigned int _33;
<unnamed type> _34;
unsigned char _36;
long unsigned int _38;
<unnamed type> _41;
<unnamed type> _43;
long unsigned int _44;
long unsigned int _45;
<unnamed type> _46;
long unsigned int _48;
long unsigned int _49;
int _50;
int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
unsigned char _55;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_6(D);
base_8 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_8
# DEBUG BEGIN_STMT
_2 = instance_6(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_24 ={v} x;
if (x.0_24 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = FlexCAN_IsEnhancedRxFifoAvailable (base_8);
if (_3 != 0)
goto <bb 5>; [67.00%]
else
goto <bb 25>; [33.00%]
<bb 5> [local count: 71941]:
# DEBUG BEGIN_STMT
# DEBUG base => base_8
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_25 ={v} base_8->ERFCR;
_26 = (signed int) _25;
# DEBUG base => NULL
if (_26 < 0)
goto <bb 6>; [41.00%]
else
goto <bb 23>; [59.00%]
<bb 6> [local count: 29496]:
# DEBUG BEGIN_STMT
result_21 = FlexCAN_StartRxMessageEnhancedFifoData (instance_6(D), data_10(D));
# DEBUG result => result_21
# DEBUG BEGIN_STMT
if (result_21 == 0)
goto <bb 7>; [33.00%]
else
goto <bb 27>; [67.00%]
<bb 7> [local count: 9734]:
# DEBUG BEGIN_STMT
# DEBUG u8Instance => instance_6(D)
# DEBUG u32TimeoutMs => timeout_13(D)
# DEBUG INLINE_ENTRY FlexCAN_ProccessEnhancedRxFifo
# DEBUG BEGIN_STMT
# DEBUG eResult => 0
# DEBUG BEGIN_STMT
_28 = (int) instance_6(D);
pState_29 = g_flexcan_Ip_StatePtr[_28];
# DEBUG pState => pState_29
# DEBUG BEGIN_STMT
pBase_30 = g_Flexcan_Ip_aBase[_28];
# DEBUG pBase => pBase_30
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
_31 = timeout_13(D) * 1000;
mS2Ticks_32 = OsIf_MicrosToTicks (_31, 0);
# DEBUG mS2Ticks => mS2Ticks_32
# DEBUG BEGIN_STMT
# DEBUG u32intType => 0
# DEBUG BEGIN_STMT
_33 = OsIf_GetCounter (0);
timeStart = _33;
# DEBUG BEGIN_STMT
goto <bb 15>; [100.00%]
<bb 8> [local count: 85985]:
# DEBUG BEGIN_STMT
_34 = pState_29->transferType;
if (_34 == 1)
goto <bb 9>; [16.00%]
else
goto <bb 14>; [84.00%]
<bb 9> [local count: 13758]:
goto <bb 13>; [100.00%]
<bb 10> [local count: 55030]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_30
# DEBUG intFlag => u32intType_35
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag
# DEBUG BEGIN_STMT
_48 ={v} MEM[(const struct FLEXCAN_Type *)pBase_30].ERFSR;
_49 = u32intType_35;
_50 = (int) _49;
_51 = _50 & 31;
_52 = 1 << _51;
_53 = _48 & _52;
_54 = _53 >> _51;
_55 = (unsigned char) _54;
_67 = _55;
# DEBUG base => NULL
# DEBUG intFlag => NULL
_36 = _67;
if (_36 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 18160]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerEnhancedRxFIFO (instance_6(D), u32intType_35);
<bb 12> [local count: 55030]:
# DEBUG BEGIN_STMT
u32intType_37 = u32intType_35 + 4294967295;
# DEBUG u32intType => u32intType_37
<bb 13> [local count: 68788]:
# u32intType_35 = PHI <31(9), u32intType_37(12)>
# DEBUG u32intType => u32intType_35
# DEBUG BEGIN_STMT
if (u32intType_35 > 27)
goto <bb 10>; [80.00%]
else
goto <bb 14>; [20.00%]
<bb 14> [local count: 85985]:
# DEBUG BEGIN_STMT
_38 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_40 = _38 + timeElapsed_39;
# DEBUG timeElapsed => timeElapsed_40
# DEBUG BEGIN_STMT
if (mS2Ticks_32 <= timeElapsed_40)
goto <bb 16>; [5.50%]
else
goto <bb 15>; [94.50%]
<bb 15> [local count: 90989]:
# timeElapsed_39 = PHI <0(7), timeElapsed_40(14)>
# DEBUG timeElapsed => timeElapsed_39
# DEBUG BEGIN_STMT
_41 ={v} pState_29->enhancedFifoOutput.state;
if (_41 == 1)
goto <bb 8>; [94.50%]
else
goto <bb 16>; [5.50%]
<bb 16> [local count: 9734]:
# eResult_42 = PHI <3(14), 0(15)>
# DEBUG eResult => eResult_42
# DEBUG BEGIN_STMT
if (eResult_42 == 3)
goto <bb 17>; [34.00%]
else
goto <bb 19>; [66.00%]
<bb 17> [local count: 3309]:
_43 = pState_29->transferType;
if (_43 != 1)
goto <bb 18>; [66.00%]
else
goto <bb 19>; [34.00%]
<bb 18> [local count: 2184]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_30
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_44 ={v} pBase_30->ERFIER;
_45 = _44 & 268435455;
pBase_30->ERFIER ={v} _45;
<bb 19> [local count: 9734]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_46 ={v} pState_29->enhancedFifoOutput.state;
switch (_46) <default: <L14> [33.33%], case 0: <L15> [33.33%], case 1: <L13> [33.33%]>
<bb 20> [local count: 3244]:
<L13>:
# DEBUG BEGIN_STMT
pState_29->enhancedFifoOutput.state ={v} 0;
# DEBUG BEGIN_STMT
goto <bb 22>; [100.00%]
<bb 21> [local count: 3244]:
<L14>:
# DEBUG BEGIN_STMT
# DEBUG eResult => 1
# DEBUG BEGIN_STMT
<bb 22> [local count: 9733]:
# eResult_47 = PHI <0(19), eResult_42(20), 1(21)>
<L15>:
# DEBUG eResult => eResult_47
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
_73 = eResult_47;
# DEBUG u8Instance => NULL
# DEBUG u32TimeoutMs => NULL
# DEBUG u32intType => NULL
# DEBUG mS2Ticks => NULL
# DEBUG timeElapsed => NULL
# DEBUG timeStart => NULL
# DEBUG pBase => NULL
# DEBUG pState => NULL
# DEBUG eResult => NULL
result_23 = _73;
# DEBUG result => result_23
goto <bb 27>; [100.00%]
<bb 23> [local count: 42445]:
# DEBUG BEGIN_STMT
result_17 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D));
# DEBUG result => result_17
# DEBUG BEGIN_STMT
if (result_17 == 0)
goto <bb 24>; [33.00%]
else
goto <bb 27>; [67.00%]
<bb 24> [local count: 14007]:
# DEBUG BEGIN_STMT
result_19 = FlexCAN_ProccessLegacyRxFIFO (instance_6(D), timeout_13(D));
# DEBUG result => result_19
goto <bb 27>; [100.00%]
<bb 25> [local count: 35433]:
# DEBUG BEGIN_STMT
result_12 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D));
# DEBUG result => result_12
# DEBUG BEGIN_STMT
if (result_12 == 0)
goto <bb 26>; [33.00%]
else
goto <bb 27>; [67.00%]
<bb 26> [local count: 11693]:
# DEBUG BEGIN_STMT
result_15 = FlexCAN_ProccessLegacyRxFIFO (instance_6(D), timeout_13(D));
# DEBUG result => result_15
<bb 27> [local count: 107373]:
# result_4 = PHI <result_17(23), result_12(25), result_15(26), result_23(22), result_21(6), result_19(24)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_ConfigRxFifo_Privileged (FlexCAN_Ip_ConfigRxFifo_Privileged, funcdef_no=74, decl_uid=4538, cgraph_uid=75, symbol_order=76)
FlexCAN_Ip_ConfigRxFifo_Privileged (uint8 instance, Flexcan_Ip_RxFifoIdElementFormatType id_format, const struct Flexcan_Ip_IdTableType * id_filter_table)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _19;
signed int _20;
_Bool x.0_21;
long unsigned int _22;
long unsigned int _23;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_21 ={v} x;
if (x.0_21 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_19 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_20 = (signed int) _19;
# DEBUG pBase => NULL
# DEBUG disabled => _20 < 0
# DEBUG BEGIN_STMT
if (_20 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_23 = _22 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _23 != 0
# DEBUG BEGIN_STMT
if (_23 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 9> [local count: 26575]:
# DEBUG BEGIN_STMT
FlexCAN_SetRxFifoFilter (pBase_11, id_format_14(D), id_filter_table_15(D));
<bb 10> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_20 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_18 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_18
# DEBUG BEGIN_STMT
if (status_18 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_18
<bb 13> [local count: 107374]:
# result_4 = PHI <result_10(10), result_10(11), status_18(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged (FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged, funcdef_no=75, decl_uid=4541, cgraph_uid=76, symbol_order=77)
FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged (uint8 instance, const struct Flexcan_Ip_EnhancedIdTableType * id_filter_table)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
_Bool x.0_21;
_Bool x.0_22;
_Bool x.0_23;
long unsigned int _24;
signed int _25;
long unsigned int _26;
long unsigned int _27;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_11(D);
pBase_13 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_13
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_13
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_24 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR;
_25 = (signed int) _24;
# DEBUG pBase => NULL
# DEBUG disabled => _25 < 0
# DEBUG BEGIN_STMT
_2 = instance_11(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_23 ={v} x;
if (x.0_23 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_13);
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_22 ={v} x;
if (x.0_22 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 19> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 22> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = id_filter_table_15(D) != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_21 ={v} x;
if (x.0_21 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 18> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 21> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (_25 < 0)
goto <bb 9>; [25.50%]
else
goto <bb 10>; [74.50%]
<bb 9> [local count: 6845]:
# DEBUG BEGIN_STMT
result_17 = FlexCAN_Enable (pBase_13);
# DEBUG result => result_17
<bb 10> [local count: 26844]:
# result_5 = PHI <0(8), result_17(9)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
# DEBUG base => pBase_13
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR;
_27 = _26 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _27 != 0
# DEBUG BEGIN_STMT
if (_27 == 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 13422]:
if (result_5 == 0)
goto <bb 14>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 20133]:
# DEBUG result => result_5
# DEBUG BEGIN_STMT
if (result_5 == 0)
goto <bb 13>; [33.00%]
else
goto <bb 14>; [67.00%]
<bb 13> [local count: 6644]:
# DEBUG BEGIN_STMT
FlexCAN_SetEnhancedRxFifoFilter (pBase_13, id_filter_table_15(D));
<bb 14> [local count: 26843]:
# result_10 = PHI <result_5(12), 0(13), 1(11)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_25 < 0)
goto <bb 15>; [25.50%]
else
goto <bb 17>; [74.50%]
<bb 15> [local count: 6845]:
# DEBUG BEGIN_STMT
status_20 = FlexCAN_Disable (pBase_13);
# DEBUG status => status_20
# DEBUG BEGIN_STMT
if (status_20 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 3423]:
# DEBUG BEGIN_STMT
# DEBUG result => status_20
<bb 17> [local count: 26843]:
# result_6 = PHI <result_10(14), result_10(15), status_20(16)>
# DEBUG result => result_6
# DEBUG BEGIN_STMT
return result_6;
}
;; Function FlexCAN_Ip_ConfigRemoteResponseMb (FlexCAN_Ip_ConfigRemoteResponseMb, funcdef_no=76, decl_uid=4697, cgraph_uid=77, symbol_order=78)
FlexCAN_Ip_ConfigRemoteResponseMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
volatile boolean x;
volatile boolean x;
const struct Flexcan_Ip_StateType * const state;
struct FLEXCAN_Type * pBase;
struct Flexcan_Ip_MsbuffCodeStatusType cs;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
long unsigned int _5;
_Bool _6;
long unsigned int _7;
<unnamed type> _8;
long unsigned int _9;
_Bool _10;
_Bool _11;
_Bool _12;
_Bool x.0_33;
_Bool x.0_34;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) instance_15(D);
pBase_17 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_17
# DEBUG BEGIN_STMT
state_18 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_18
# DEBUG BEGIN_STMT
_2 = instance_15(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_34 ={v} x;
if (x.0_34 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = tx_info_19(D) != 0B;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_33 ={v} x;
if (x.0_33 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = state_18->bIsLegacyFifoEn;
_5 = state_18->u32MaxMbNum;
_6 = FlexCAN_IsMbOutOfRange (pBase_17, mb_idx_20(D), _4, _5);
if (_6 != 0)
goto <bb 9>; [52.23%]
else
goto <bb 7>; [47.77%]
<bb 7> [local count: 25646]:
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_7 = tx_info_19(D)->data_length;
cs.dataLen = _7;
# DEBUG BEGIN_STMT
_8 = tx_info_19(D)->msg_id_type;
cs.msgIdType = _8;
# DEBUG BEGIN_STMT
cs.code = 10;
# DEBUG BEGIN_STMT
cs.fd_enable = 0;
# DEBUG BEGIN_STMT
_9 = (long unsigned int) mb_idx_20(D);
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_17, _9);
# DEBUG BEGIN_STMT
_10 = tx_info_19(D)->is_remote;
FlexCAN_SetTxMsgBuff (pBase_17, _9, &cs, msg_id_27(D), mb_data_28(D), _10);
# DEBUG BEGIN_STMT
_11 = tx_info_19(D)->is_polling;
if (_11 != 0)
goto <bb 9>; [67.00%]
else
goto <bb 8>; [33.00%]
<bb 8> [local count: 8463]:
# DEBUG BEGIN_STMT
_12 = state_18->isIntActive;
result_31 = FlexCAN_SetMsgBuffIntCmd (pBase_17, instance_15(D), _9, 1, _12);
# DEBUG result => result_31
<bb 9> [local count: 53687]:
# result_13 = PHI <4(6), 0(7), result_31(8)>
# DEBUG result => result_13
# DEBUG BEGIN_STMT
cs ={v} {CLOBBER};
return result_13;
}
;; Function FlexCAN_Ip_GetTransferStatus (FlexCAN_Ip_GetTransferStatus, funcdef_no=77, decl_uid=4659, cgraph_uid=78, symbol_order=79)
FlexCAN_Ip_GetTransferStatus (uint8 instance, uint8 mb_idx)
{
volatile boolean x;
volatile boolean x;
Flexcan_Ip_StatusType status;
const struct Flexcan_Ip_StateType * state;
int _1;
_Bool _2;
unsigned char _3;
_Bool _4;
int _5;
<unnamed type> _6;
<unnamed type> _7;
_Bool x.0_13;
_Bool x.0_14;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_9(D);
state_11 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_11
# DEBUG BEGIN_STMT
# DEBUG status => 1
# DEBUG BEGIN_STMT
_2 = instance_9(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_14 ={v} x;
if (x.0_14 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = mb_idx_12(D) + 160;
_4 = _3 > 158;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_13 ={v} x;
if (x.0_13 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (mb_idx_12(D) <= 95)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
_5 = (int) mb_idx_12(D);
_6 ={v} state_11->mbs[_5].state;
if (_6 == 0)
goto <bb 11>; [65.00%]
else
goto <bb 8>; [35.00%]
<bb 8> [local count: 9395]:
# DEBUG BEGIN_STMT
# DEBUG status => 2
goto <bb 11>; [100.00%]
<bb 9> [local count: 26844]:
# DEBUG BEGIN_STMT
_7 ={v} state_11->enhancedFifoOutput.state;
if (_7 == 0)
goto <bb 11>; [65.00%]
else
goto <bb 10>; [35.00%]
<bb 10> [local count: 9395]:
# DEBUG BEGIN_STMT
# DEBUG status => 2
<bb 11> [local count: 53687]:
# status_8 = PHI <2(8), 0(9), 2(10), 0(7)>
# DEBUG status => status_8
# DEBUG BEGIN_STMT
return status_8;
}
;; Function FlexCAN_IRQHandler (FlexCAN_IRQHandler, funcdef_no=79, decl_uid=4706, cgraph_uid=80, symbol_order=81)
Symbols to be put in SSA form
{ D.6762 D.7370 D.7373 D.7376 D.7387 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 88
Number of blocks to update: 87 ( 99%)
Merging blocks 3 and 37
Merging blocks 5 and 36
Removing basic block 18
Removing basic block 25
Removing basic block 27
Removing basic block 33
Removing basic block 34
Removing basic block 35
Removing basic block 38
Removing basic block 54
Removing basic block 55
Merging blocks 62 and 52
Merging blocks 64 and 63
Merging blocks 66 and 65
Removing basic block 67
Removing basic block 70
Removing basic block 79
Merging blocks 87 and 80
;; 7 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
;;
;; Loop 6
;; header 64, latch 63
;; depth 1, outer 0
;; nodes: 64 63 49 56 60 61 62 57 58 59 51 53 54 55 52 50
;;
;; Loop 5
;; header 45, latch 44
;; depth 1, outer 0
;; nodes: 45 44 38 40 41 42 43 39
;;
;; Loop 2
;; header 9, latch 8
;; depth 1, outer 0
;; nodes: 9 8 10
;;
;; Loop 1
;; header 66, latch 65
;; depth 1, outer 0
;; nodes: 66 65
;;
;; Loop 3
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 4
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 66 }
;; 7 succs { 9 }
;; 8 succs { 9 }
;; 9 succs { 10 11 }
;; 10 succs { 8 11 }
;; 11 succs { 12 34 }
;; 12 succs { 13 15 }
;; 13 succs { 14 15 }
;; 14 succs { 17 }
;; 15 succs { 16 17 }
;; 16 succs { 17 }
;; 17 succs { 18 31 }
;; 18 succs { 19 21 }
;; 19 succs { 20 22 }
;; 20 succs { 22 }
;; 21 succs { 22 }
;; 22 succs { 23 24 }
;; 23 succs { 24 }
;; 24 succs { 25 27 }
;; 25 succs { 26 27 }
;; 26 succs { 30 }
;; 27 succs { 28 30 }
;; 28 succs { 29 30 }
;; 29 succs { 30 }
;; 30 succs { 31 }
;; 31 succs { 32 34 }
;; 32 succs { 33 34 }
;; 33 succs { 34 }
;; 34 succs { 35 47 }
;; 35 succs { 36 47 }
;; 36 succs { 37 47 }
;; 37 succs { 45 }
;; 38 succs { 39 44 }
;; 39 succs { 40 41 }
;; 40 succs { 44 }
;; 41 succs { 42 44 }
;; 42 succs { 43 44 }
;; 43 succs { 44 }
;; 44 succs { 45 }
;; 45 succs { 38 46 }
;; 46 succs { 47 }
;; 47 succs { 48 69 }
;; 48 succs { 64 }
;; 49 succs { 50 63 }
;; 50 succs { 51 52 }
;; 51 succs { 56 }
;; 52 succs { 53 54 }
;; 53 succs { 56 }
;; 54 succs { 55 56 }
;; 55 succs { 56 }
;; 56 succs { 57 63 }
;; 57 succs { 58 60 }
;; 58 succs { 59 60 }
;; 59 succs { 60 }
;; 60 succs { 61 63 }
;; 61 succs { 62 63 }
;; 62 succs { 63 }
;; 63 succs { 64 }
;; 64 succs { 49 69 }
;; 65 succs { 66 }
;; 66 succs { 65 67 }
;; 67 succs { 68 69 }
;; 68 succs { 69 }
;; 69 succs { 1 }
FlexCAN_IRQHandler (uint8 instance, uint32 startMbIdx, uint32 endMbIdx, boolean bEnhancedFifoExisted)
{
uint32 u32Imask;
uint8 D.7387;
struct FLEXCAN_Type * base;
struct Flexcan_Ip_StateType * state;
uint32 mb_idx;
uint32 u32MbHandle;
uint8 D.7376;
uint8 D.7373;
struct FLEXCAN_Type * base;
const struct Flexcan_Ip_StateType * state;
uint32 u32intType;
boolean bIsSpuriousInt;
boolean D.7370;
struct FLEXCAN_Type * pBase;
struct Flexcan_Ip_StateType * pState;
struct Flexcan_Ip_MsgBuffType mb;
boolean bCurrentIntStat;
volatile boolean x;
volatile boolean x;
uint32 mb_idx;
boolean bIsSpuriousInt;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
uint32 flag_reg;
uint32 u32MbHandle;
int _1;
_Bool _3;
_Bool _4;
unsigned char _5;
unsigned char _6;
_Bool _7;
<unnamed type> _8;
<unnamed type> _9;
unsigned char _10;
<unnamed type> _11;
<unnamed type> _12;
_Bool x.0_49;
_Bool x.0_50;
long unsigned int _51;
signed int _52;
int _59;
_Bool _62;
long unsigned int vol.5_63;
long unsigned int _64;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
long unsigned int _68;
long unsigned int vol.5_69;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _71;
<unnamed type> _72;
_Bool _73;
_Bool _74;
_Bool _75;
_Bool _76;
int _77;
unsigned char _81;
unsigned char _82;
_Bool _84;
long unsigned int _85;
long unsigned int _89;
long unsigned int _90;
int _91;
int _92;
long unsigned int _93;
long unsigned int _94;
long unsigned int _95;
unsigned char _96;
long unsigned int _97;
long unsigned int _98;
int _99;
int _100;
long unsigned int _101;
long unsigned int _102;
long unsigned int _103;
unsigned char _104;
int _105;
unsigned char _109;
unsigned char _110;
_Bool _111;
_Bool _113;
<unnamed type> _114;
long unsigned int _116;
long unsigned int _117;
long unsigned int _118;
long unsigned int _119;
long unsigned int _121;
long unsigned int _122;
long unsigned int _123;
long unsigned int _124;
long unsigned int _126;
long unsigned int _127;
long unsigned int _128;
long unsigned int _129;
unsigned char _132;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => 0
# DEBUG BEGIN_STMT
# DEBUG flag_reg => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_26(D);
base_28 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_28
# DEBUG BEGIN_STMT
state_29 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_29
# DEBUG BEGIN_STMT
# DEBUG bIsSpuriousInt => 1
# DEBUG BEGIN_STMT
# DEBUG mb_idx => endMbIdx_30(D)
# DEBUG BEGIN_STMT
_3 = instance_26(D) <= 5;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_50 ={v} x;
if (x.0_50 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = endMbIdx_30(D) <= 95;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_49 ={v} x;
if (x.0_49 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (state_29 != 0B)
goto <bb 7>; [53.47%]
else
goto <bb 66>; [46.53%]
<bb 7> [local count: 28706]:
# DEBUG BEGIN_STMT
_5 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, endMbIdx_30(D));
flag_reg_36 = (uint32) _5;
# DEBUG flag_reg => flag_reg_36
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 8> [local count: 239641]:
# DEBUG BEGIN_STMT
mb_idx_37 = mb_idx_17 + 4294967295;
# DEBUG mb_idx => mb_idx_37
# DEBUG BEGIN_STMT
_6 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, mb_idx_37);
flag_reg_39 = (uint32) _6;
# DEBUG flag_reg => flag_reg_39
<bb 9> [local count: 268347]:
# flag_reg_14 = PHI <flag_reg_36(7), flag_reg_39(8)>
# mb_idx_17 = PHI <endMbIdx_30(D)(7), mb_idx_37(8)>
# DEBUG mb_idx => mb_idx_17
# DEBUG flag_reg => flag_reg_14
# DEBUG BEGIN_STMT
if (flag_reg_14 == 0)
goto <bb 10>; [94.50%]
else
goto <bb 11>; [5.50%]
<bb 10> [local count: 253588]:
if (mb_idx_17 > startMbIdx_31(D))
goto <bb 8>; [94.50%]
else
goto <bb 11>; [5.50%]
<bb 11> [local count: 28706]:
# flag_reg_2 = PHI <flag_reg_14(9), 0(10)>
# mb_idx_40 = PHI <mb_idx_17(9), mb_idx_17(10)>
# DEBUG BEGIN_STMT
if (flag_reg_2 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 34>; [50.00%]
<bb 12> [local count: 14353]:
# DEBUG BEGIN_STMT
# DEBUG bIsSpuriousInt => 0
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => mb_idx_40
# DEBUG BEGIN_STMT
_7 = state_29->bIsLegacyFifoEn;
if (_7 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 13> [local count: 7177]:
if (mb_idx_40 <= 7)
goto <bb 14>; [33.00%]
else
goto <bb 15>; [67.00%]
<bb 14> [local count: 2368]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxFIFO (instance_26(D), mb_idx_40);
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => 0
goto <bb 17>; [100.00%]
<bb 15> [local count: 11985]:
# DEBUG BEGIN_STMT
_8 ={v} state_29->mbs[mb_idx_40].state;
if (_8 == 1)
goto <bb 16>; [20.24%]
else
goto <bb 17>; [79.76%]
<bb 16> [local count: 2426]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxMB (instance_26(D), mb_idx_40);
<bb 17> [local count: 14353]:
# u32MbHandle_13 = PHI <0(14), mb_idx_40(15), mb_idx_40(16)>
# DEBUG u32MbHandle => u32MbHandle_13
# DEBUG BEGIN_STMT
_9 ={v} state_29->mbs[u32MbHandle_13].state;
if (_9 == 2)
goto <bb 18>; [20.24%]
else
goto <bb 31>; [79.76%]
<bb 18> [local count: 2905]:
# DEBUG BEGIN_STMT
# DEBUG u8Instance => instance_26(D)
# DEBUG u32MbIdx => mb_idx_40
# DEBUG INLINE_ENTRY FlexCAN_IRQHandlerTxMB
# DEBUG BEGIN_STMT
_59 = (int) instance_26(D);
pBase_60 = g_Flexcan_Ip_aBase[_59];
# DEBUG pBase => pBase_60
# DEBUG BEGIN_STMT
pState_61 = g_flexcan_Ip_StatePtr[_59];
# DEBUG pState => pState_61
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bCurrentIntStat => 0
# DEBUG BEGIN_STMT
_62 = pState_61->mbs[mb_idx_40].isRemote;
if (_62 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 19> [local count: 1453]:
# DEBUG BEGIN_STMT
FlexCAN_LockRxMsgBuff (pBase_60, mb_idx_40);
# DEBUG BEGIN_STMT
FlexCAN_GetMsgBuff (pBase_60, mb_idx_40, &mb);
# DEBUG BEGIN_STMT
# DEBUG base => pBase_60
# DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff
# DEBUG BEGIN_STMT
vol.5_63 ={v} MEM[(const struct FLEXCAN_Type *)pBase_60].TIMER;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
_64 = mb.time_stamp;
pState_61->mbs[mb_idx_40].time_stamp = _64;
# DEBUG BEGIN_STMT
_65 = mb.cs;
_66 = _65 >> 24;
_67 = _66 & 15;
if (_67 == 4)
goto <bb 20>; [20.24%]
else
goto <bb 22>; [79.76%]
<bb 20> [local count: 294]:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_60, mb_idx_40);
goto <bb 22>; [100.00%]
<bb 21> [local count: 1453]:
# DEBUG BEGIN_STMT
_68 = FlexCAN_GetMsgBuffTimestamp (pBase_60, mb_idx_40);
pState_61->mbs[mb_idx_40].time_stamp = _68;
# DEBUG BEGIN_STMT
# DEBUG base => pBase_60
# DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff
# DEBUG BEGIN_STMT
vol.5_69 ={v} MEM[(const struct FLEXCAN_Type *)pBase_60].TIMER;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_60, mb_idx_40);
<bb 22> [local count: 2905]:
# DEBUG BEGIN_STMT
pState_61->mbs[mb_idx_40].state ={v} 0;
# DEBUG BEGIN_STMT
bCurrentIntStat_70 = pState_61->mbs[mb_idx_40].isPolling;
# DEBUG bCurrentIntStat => bCurrentIntStat_70
# DEBUG BEGIN_STMT
_71 = pState_61->callback;
if (_71 != 0B)
goto <bb 23>; [70.00%]
else
goto <bb 24>; [30.00%]
<bb 23> [local count: 2034]:
# DEBUG BEGIN_STMT
_71 (instance_26(D), 4, mb_idx_40, pState_61);
<bb 24> [local count: 2905]:
# DEBUG BEGIN_STMT
_72 ={v} pState_61->mbs[mb_idx_40].state;
if (_72 == 0)
goto <bb 25>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 25> [local count: 1453]:
_73 = pState_61->mbs[mb_idx_40].isPolling;
if (_73 != 0)
goto <bb 27>; [67.00%]
else
goto <bb 26>; [33.00%]
<bb 26> [local count: 479]:
# DEBUG BEGIN_STMT
pState_61->mbs[mb_idx_40].isPolling = 1;
# DEBUG BEGIN_STMT
_74 = pState_61->isIntActive;
FlexCAN_SetMsgBuffIntCmd (pBase_60, instance_26(D), mb_idx_40, 0, _74);
goto <bb 30>; [100.00%]
<bb 27> [local count: 2426]:
# DEBUG BEGIN_STMT
if (bCurrentIntStat_70 != 0)
goto <bb 30>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 28> [local count: 1213]:
_75 = pState_61->mbs[mb_idx_40].isPolling;
if (_75 != 0)
goto <bb 29>; [33.00%]
else
goto <bb 30>; [67.00%]
<bb 29> [local count: 400]:
# DEBUG BEGIN_STMT
_76 = pState_61->isIntActive;
FlexCAN_SetMsgBuffIntCmd (pBase_60, instance_26(D), mb_idx_40, 0, _76);
<bb 30> [local count: 2905]:
# DEBUG BEGIN_STMT
mb ={v} {CLOBBER};
<bb 31> [local count: 14353]:
# DEBUG u8Instance => NULL
# DEBUG u32MbIdx => NULL
# DEBUG bCurrentIntStat => NULL
# DEBUG pState => NULL
# DEBUG pBase => NULL
# DEBUG BEGIN_STMT
_10 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, mb_idx_40);
if (_10 != 0)
goto <bb 32>; [50.00%]
else
goto <bb 34>; [50.00%]
<bb 32> [local count: 7177]:
# DEBUG BEGIN_STMT
_11 ={v} state_29->mbs[u32MbHandle_13].state;
if (_11 == 0)
goto <bb 33>; [33.00%]
else
goto <bb 34>; [67.00%]
<bb 33> [local count: 2368]:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_28, mb_idx_40);
<bb 34> [local count: 28706]:
# bIsSpuriousInt_15 = PHI <1(11), 0(31), 0(32), 0(33)>
# DEBUG bIsSpuriousInt => bIsSpuriousInt_15
# DEBUG BEGIN_STMT
if (bEnhancedFifoExisted_32(D) != 0)
goto <bb 35>; [50.00%]
else
goto <bb 47>; [50.00%]
<bb 35> [local count: 14353]:
# DEBUG BEGIN_STMT
# DEBUG base => base_28
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_51 ={v} MEM[(const struct FLEXCAN_Type *)base_28].ERFCR;
_52 = (signed int) _51;
# DEBUG base => NULL
if (_52 < 0)
goto <bb 36>; [41.00%]
else
goto <bb 47>; [59.00%]
<bb 36> [local count: 5885]:
_12 = state_29->transferType;
if (_12 == 0)
goto <bb 37>; [33.00%]
else
goto <bb 47>; [67.00%]
<bb 37> [local count: 1942]:
# DEBUG BEGIN_STMT
# DEBUG u8Instance => instance_26(D)
# DEBUG bIsSpuriousIntPrevious => bIsSpuriousInt_15
# DEBUG INLINE_ENTRY FlexCAN_ProcessIRQHandlerEnhancedRxFIFO
# DEBUG BEGIN_STMT
_77 = (int) instance_26(D);
base_78 = g_Flexcan_Ip_aBase[_77];
# DEBUG base => base_78
# DEBUG BEGIN_STMT
state_79 = g_flexcan_Ip_StatePtr[_77];
# DEBUG state => state_79
# DEBUG BEGIN_STMT
# DEBUG u32intType => 0
# DEBUG BEGIN_STMT
# DEBUG bIsSpuriousInt => bIsSpuriousInt_15
# DEBUG BEGIN_STMT
# DEBUG u32intType => 31
goto <bb 45>; [100.00%]
<bb 38> [local count: 7768]:
# DEBUG BEGIN_STMT
# DEBUG base => base_78
# DEBUG intFlag => u32intType_80
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag
# DEBUG BEGIN_STMT
_89 ={v} MEM[(const struct FLEXCAN_Type *)base_78].ERFSR;
_90 = u32intType_80;
_91 = (int) _90;
_92 = _91 & 31;
_93 = 1 << _92;
_94 = _89 & _93;
_95 = _94 >> _92;
_96 = (unsigned char) _95;
_154 = _96;
# DEBUG base => NULL
# DEBUG intFlag => NULL
_81 = _154;
if (_81 != 0)
goto <bb 39>; [33.00%]
else
goto <bb 44>; [67.00%]
<bb 39> [local count: 2563]:
# DEBUG BEGIN_STMT
# DEBUG base => base_78
# DEBUG intFlag => u32intType_80
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOIntStatusFlag
# DEBUG BEGIN_STMT
_97 ={v} MEM[(const struct FLEXCAN_Type *)base_78].ERFIER;
_98 = u32intType_80;
_99 = (int) _98;
_100 = _99 & 31;
_101 = 1 << _100;
_102 = _97 & _101;
_103 = _102 >> _100;
_104 = (unsigned char) _103;
_155 = _104;
# DEBUG base => NULL
# DEBUG intFlag => NULL
_82 = _155;
if (_82 != 0)
goto <bb 40>; [33.00%]
else
goto <bb 41>; [67.00%]
<bb 40> [local count: 846]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerEnhancedRxFIFO (instance_26(D), u32intType_80);
# DEBUG BEGIN_STMT
# DEBUG bIsSpuriousInt => 0
goto <bb 44>; [100.00%]
<bb 41> [local count: 1717]:
# DEBUG BEGIN_STMT
if (bIsSpuriousInt_83 != 0)
goto <bb 42>; [50.00%]
else
goto <bb 44>; [50.00%]
<bb 42> [local count: 859]:
_84 = state_79->enhancedFifoOutput.isPolling;
if (_84 != 0)
goto <bb 44>; [50.00%]
else
goto <bb 43>; [50.00%]
<bb 43> [local count: 429]:
# DEBUG BEGIN_STMT
# DEBUG base => base_78
# DEBUG intFlag => u32intType_80
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
_85 = 1 << u32intType_80;
base_78->ERFSR ={v} _85;
<bb 44> [local count: 7768]:
# bIsSpuriousInt_88 = PHI <bIsSpuriousInt_83(38), 0(40), bIsSpuriousInt_83(41), 1(42), 1(43)>
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG bIsSpuriousInt => bIsSpuriousInt_88
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
u32intType_86 = u32intType_80 + 4294967295;
# DEBUG u32intType => u32intType_86
<bb 45> [local count: 9710]:
# u32intType_80 = PHI <31(37), u32intType_86(44)>
# bIsSpuriousInt_83 = PHI <bIsSpuriousInt_15(37), bIsSpuriousInt_88(44)>
# DEBUG bIsSpuriousInt => bIsSpuriousInt_83
# DEBUG u32intType => u32intType_80
# DEBUG BEGIN_STMT
if (u32intType_80 > 27)
goto <bb 38>; [80.00%]
else
goto <bb 46>; [20.00%]
<bb 46> [local count: 1942]:
# bIsSpuriousInt_87 = PHI <bIsSpuriousInt_83(45)>
# DEBUG BEGIN_STMT
_153 = bIsSpuriousInt_87;
# DEBUG u8Instance => NULL
# DEBUG bIsSpuriousIntPrevious => NULL
# DEBUG bIsSpuriousInt => NULL
# DEBUG u32intType => NULL
# DEBUG state => NULL
# DEBUG base => NULL
bIsSpuriousInt_47 = _153;
# DEBUG bIsSpuriousInt => bIsSpuriousInt_47
<bb 47> [local count: 28706]:
# bIsSpuriousInt_16 = PHI <bIsSpuriousInt_15(34), bIsSpuriousInt_15(35), bIsSpuriousInt_15(36), bIsSpuriousInt_47(46)>
# DEBUG bIsSpuriousInt => bIsSpuriousInt_16
# DEBUG BEGIN_STMT
if (bIsSpuriousInt_16 != 0)
goto <bb 48>; [33.00%]
else
goto <bb 69>; [67.00%]
<bb 48> [local count: 9473]:
# DEBUG BEGIN_STMT
# DEBUG instance => instance_26(D)
# DEBUG startMbIdx => startMbIdx_31(D)
# DEBUG endMbIdx => endMbIdx_30(D)
# DEBUG INLINE_ENTRY FlexCAN_ProcessSpuriousInterruptMB
# DEBUG BEGIN_STMT
_105 = (int) instance_26(D);
base_106 = g_Flexcan_Ip_aBase[_105];
# DEBUG base => base_106
# DEBUG BEGIN_STMT
state_107 = g_flexcan_Ip_StatePtr[_105];
# DEBUG state => state_107
# DEBUG BEGIN_STMT
# DEBUG mb_idx => 0
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => 0
# DEBUG BEGIN_STMT
# DEBUG mb_idx => startMbIdx_31(D)
goto <bb 64>; [100.00%]
<bb 49> [local count: 76646]:
# DEBUG BEGIN_STMT
_109 = FlexCAN_GetBuffStatusFlag (base_106, mb_idx_108);
if (_109 != 0)
goto <bb 50>; [33.00%]
else
goto <bb 63>; [67.00%]
<bb 50> [local count: 25293]:
# DEBUG base => base_106
# DEBUG msgBuffIdx => mb_idx_108
# DEBUG INLINE_ENTRY FlexCAN_GetBuffStatusImask
# DEBUG BEGIN_STMT
# DEBUG u32Imask => 0
# DEBUG BEGIN_STMT
if (mb_idx_108 <= 31)
goto <bb 51>; [50.00%]
else
goto <bb 52>; [50.00%]
<bb 51> [local count: 12647]:
# DEBUG BEGIN_STMT
_116 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK1;
_117 = mb_idx_108;
_118 = 1 << _117;
_119 = _116 & _118;
u32Imask_120 = _119 >> _117;
# DEBUG u32Imask => u32Imask_120
goto <bb 56>; [100.00%]
<bb 52> [local count: 12647]:
# DEBUG BEGIN_STMT
if (mb_idx_108 <= 63)
goto <bb 53>; [50.00%]
else
goto <bb 54>; [50.00%]
<bb 53> [local count: 6323]:
# DEBUG BEGIN_STMT
_121 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK2;
_122 = mb_idx_108 & 31;
_123 = 1 << _122;
_124 = _121 & _123;
u32Imask_125 = _124 >> _122;
# DEBUG u32Imask => u32Imask_125
goto <bb 56>; [100.00%]
<bb 54> [local count: 6323]:
# DEBUG BEGIN_STMT
if (mb_idx_108 <= 95)
goto <bb 55>; [50.00%]
else
goto <bb 56>; [50.00%]
<bb 55> [local count: 3162]:
# DEBUG BEGIN_STMT
_126 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK3;
_127 = mb_idx_108 & 31;
_128 = 1 << _127;
_129 = _126 & _128;
u32Imask_130 = _129 >> _127;
# DEBUG u32Imask => u32Imask_130
<bb 56> [local count: 25293]:
# u32Imask_131 = PHI <u32Imask_120(51), u32Imask_125(53), 0(54), u32Imask_130(55)>
# DEBUG u32Imask => u32Imask_131
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_132 = (unsigned char) u32Imask_131;
_159 = _132;
# DEBUG base => NULL
# DEBUG msgBuffIdx => NULL
# DEBUG u32Imask => NULL
_110 = _159;
if (_110 == 0)
goto <bb 57>; [50.00%]
else
goto <bb 63>; [50.00%]
<bb 57> [local count: 12647]:
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => mb_idx_108
# DEBUG BEGIN_STMT
_111 = state_107->bIsLegacyFifoEn;
if (_111 != 0)
goto <bb 58>; [50.00%]
else
goto <bb 60>; [50.00%]
<bb 58> [local count: 6323]:
if (mb_idx_108 <= 7)
goto <bb 59>; [50.00%]
else
goto <bb 60>; [50.00%]
<bb 59> [local count: 3162]:
# DEBUG BEGIN_STMT
# DEBUG u32MbHandle => 0
<bb 60> [local count: 12647]:
# u32MbHandle_112 = PHI <mb_idx_108(57), mb_idx_108(58), 0(59)>
# DEBUG u32MbHandle => u32MbHandle_112
# DEBUG BEGIN_STMT
_113 = state_107->mbs[u32MbHandle_112].isPolling;
if (_113 != 0)
goto <bb 63>; [67.00%]
else
goto <bb 61>; [33.00%]
<bb 61> [local count: 4173]:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_106, mb_idx_108);
# DEBUG BEGIN_STMT
_114 ={v} state_107->mbs[u32MbHandle_112].state;
if (_114 == 2)
goto <bb 62>; [34.00%]
else
goto <bb 63>; [66.00%]
<bb 62> [local count: 1419]:
# DEBUG BEGIN_STMT
state_107->mbs[u32MbHandle_112].state ={v} 0;
# DEBUG BEGIN_STMT
state_107->mbs[u32MbHandle_112].isPolling = 1;
<bb 63> [local count: 76646]:
# DEBUG BEGIN_STMT
mb_idx_115 = mb_idx_108 + 1;
# DEBUG mb_idx => mb_idx_115
<bb 64> [local count: 86119]:
# mb_idx_108 = PHI <startMbIdx_31(D)(48), mb_idx_115(63)>
# DEBUG mb_idx => mb_idx_108
# DEBUG BEGIN_STMT
if (endMbIdx_30(D) >= mb_idx_108)
goto <bb 49>; [89.00%]
else
goto <bb 69>; [11.00%]
<bb 65> [local count: 202115]:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_28, mb_idx_18);
# DEBUG BEGIN_STMT
mb_idx_34 = mb_idx_18 + 1;
# DEBUG mb_idx => mb_idx_34
<bb 66> [local count: 227096]:
# mb_idx_18 = PHI <mb_idx_34(65), startMbIdx_31(D)(6)>
# DEBUG mb_idx => mb_idx_18
# DEBUG BEGIN_STMT
if (mb_idx_18 <= endMbIdx_30(D))
goto <bb 65>; [89.00%]
else
goto <bb 67>; [11.00%]
<bb 67> [local count: 24981]:
# DEBUG BEGIN_STMT
if (bEnhancedFifoExisted_32(D) != 0)
goto <bb 68>; [50.00%]
else
goto <bb 69>; [50.00%]
<bb 68> [local count: 12490]:
# DEBUG BEGIN_STMT
# DEBUG base => base_28
# DEBUG intFlag => 28
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_28->ERFSR ={v} 268435456;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_28
# DEBUG intFlag => 29
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_28->ERFSR ={v} 536870912;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_28
# DEBUG intFlag => 30
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_28->ERFSR ={v} 1073741824;
# DEBUG base => NULL
# DEBUG intFlag => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_28
# DEBUG intFlag => 31
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
base_28->ERFSR ={v} 2147483648;
<bb 69> [local count: 53687]:
# DEBUG instance => NULL
# DEBUG startMbIdx => NULL
# DEBUG endMbIdx => NULL
# DEBUG u32MbHandle => NULL
# DEBUG mb_idx => NULL
# DEBUG state => NULL
# DEBUG base => NULL
# DEBUG base => NULL
# DEBUG intFlag => NULL
return;
}
;; Function FlexCAN_Ip_ClearErrorStatus (FlexCAN_Ip_ClearErrorStatus, funcdef_no=80, decl_uid=4668, cgraph_uid=81, symbol_order=82)
FlexCAN_Ip_ClearErrorStatus (uint8 instance, uint32 error)
{
volatile boolean x;
struct FLEXCAN_Type * base;
int _1;
_Bool _2;
_Bool x.0_8;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_3(D);
base_5 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_5
# DEBUG BEGIN_STMT
_2 = instance_3(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_8 ={v} x;
if (x.0_8 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
base_5->ESR1 ={v} error_6(D);
return;
}
;; Function FlexCAN_Ip_GetErrorStatus (FlexCAN_Ip_GetErrorStatus, funcdef_no=81, decl_uid=4661, cgraph_uid=82, symbol_order=83)
FlexCAN_Ip_GetErrorStatus (uint8 instance)
{
volatile boolean x;
const struct FLEXCAN_Type * base;
int _1;
_Bool _2;
uint32 _6;
_Bool x.0_7;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_3(D);
base_5 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_5
# DEBUG BEGIN_STMT
_2 = instance_3(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_7 ={v} x;
if (x.0_7 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_6 ={v} base_5->ESR1;
return _6;
}
;; Function FlexCAN_Ip_GetControllerTxErrorCounter (FlexCAN_Ip_GetControllerTxErrorCounter, funcdef_no=82, decl_uid=4663, cgraph_uid=83, symbol_order=84)
FlexCAN_Ip_GetControllerTxErrorCounter (uint8 instance)
{
volatile boolean x;
const struct FLEXCAN_Type * base;
int _1;
_Bool _2;
long unsigned int _3;
uint8 _7;
_Bool x.0_8;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_4(D);
base_6 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_6
# DEBUG BEGIN_STMT
_2 = instance_4(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_8 ={v} x;
if (x.0_8 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 ={v} base_6->ECR;
_7 = (uint8) _3;
return _7;
}
;; Function FlexCAN_Ip_GetControllerRxErrorCounter (FlexCAN_Ip_GetControllerRxErrorCounter, funcdef_no=83, decl_uid=4665, cgraph_uid=84, symbol_order=85)
FlexCAN_Ip_GetControllerRxErrorCounter (uint8 instance)
{
volatile boolean x;
const struct FLEXCAN_Type * base;
int _1;
_Bool _2;
long unsigned int _3;
long unsigned int _4;
uint8 _8;
_Bool x.0_9;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_5(D);
base_7 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_7
# DEBUG BEGIN_STMT
_2 = instance_5(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_9 ={v} x;
if (x.0_9 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 ={v} base_7->ECR;
_4 = _3 >> 8;
_8 = (uint8) _4;
return _8;
}
;; Function FlexCAN_Busoff_Error_IRQHandler (FlexCAN_Busoff_Error_IRQHandler, funcdef_no=84, decl_uid=4708, cgraph_uid=85, symbol_order=86)
FlexCAN_Busoff_Error_IRQHandler (uint8 instance)
{
volatile boolean x;
boolean isSpuriousInt;
uint32 u32ErrStatus;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * pBase;
int _1;
_Bool _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _6;
long unsigned int _7;
long unsigned int _8;
signed int _9;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _22;
_Bool x.0_57;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_36(D);
pBase_38 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_38
# DEBUG BEGIN_STMT
state_39 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_39
# DEBUG BEGIN_STMT
# DEBUG u32ErrStatus => 0
# DEBUG BEGIN_STMT
# DEBUG isSpuriousInt => 1
# DEBUG BEGIN_STMT
_2 = instance_36(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_57 ={v} x;
if (x.0_57 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 28>; [50.00%]
<bb 28> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 29> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (state_39 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 26>; [30.00%]
<bb 5> [local count: 75162]:
# DEBUG BEGIN_STMT
u32ErrStatus_40 ={v} pBase_38->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_40
# DEBUG BEGIN_STMT
_3 = u32ErrStatus_40 & 2;
if (_3 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 6> [local count: 37581]:
_4 ={v} pBase_38->CTRL1;
_5 = _4 & 16384;
if (_5 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 18790]:
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 2;
# DEBUG BEGIN_STMT
_6 = state_39->error_callback;
if (_6 != 0B)
goto <bb 8>; [70.00%]
else
goto <bb 9>; [30.00%]
<bb 8> [local count: 13153]:
# DEBUG BEGIN_STMT
_6 (instance_36(D), 9, u32ErrStatus_40, state_39);
# DEBUG BEGIN_STMT
u32ErrStatus_43 ={v} pBase_38->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_43
<bb 9> [local count: 75162]:
# u32ErrStatus_23 = PHI <u32ErrStatus_40(5), u32ErrStatus_40(6), u32ErrStatus_43(8), u32ErrStatus_40(7)>
# isSpuriousInt_27 = PHI <1(5), 1(6), 0(8), 0(7)>
# DEBUG isSpuriousInt => isSpuriousInt_27
# DEBUG u32ErrStatus => u32ErrStatus_23
# DEBUG BEGIN_STMT
_7 = u32ErrStatus_23 & 1048576;
if (_7 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 10> [local count: 37581]:
_8 ={v} pBase_38->CTRL2;
_9 = (signed int) _8;
if (_9 < 0)
goto <bb 11>; [41.00%]
else
goto <bb 13>; [59.00%]
<bb 11> [local count: 15408]:
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 1048576;
# DEBUG BEGIN_STMT
_10 = state_39->error_callback;
if (_10 != 0B)
goto <bb 12>; [70.00%]
else
goto <bb 13>; [30.00%]
<bb 12> [local count: 10786]:
# DEBUG BEGIN_STMT
_10 (instance_36(D), 10, u32ErrStatus_23, state_39);
# DEBUG BEGIN_STMT
u32ErrStatus_46 ={v} pBase_38->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_46
<bb 13> [local count: 75162]:
# u32ErrStatus_24 = PHI <u32ErrStatus_23(9), u32ErrStatus_23(10), u32ErrStatus_46(12), u32ErrStatus_23(11)>
# isSpuriousInt_28 = PHI <isSpuriousInt_27(9), isSpuriousInt_27(10), 0(12), 0(11)>
# DEBUG isSpuriousInt => isSpuriousInt_28
# DEBUG u32ErrStatus => u32ErrStatus_24
# DEBUG BEGIN_STMT
_11 = u32ErrStatus_24 & 131072;
if (_11 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 14> [local count: 37581]:
_12 ={v} pBase_38->CTRL1;
_13 = _12 & 2048;
if (_13 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 15> [local count: 18790]:
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 131072;
# DEBUG BEGIN_STMT
_14 = state_39->error_callback;
if (_14 != 0B)
goto <bb 16>; [70.00%]
else
goto <bb 17>; [30.00%]
<bb 16> [local count: 13153]:
# DEBUG BEGIN_STMT
_14 (instance_36(D), 13, u32ErrStatus_24, state_39);
# DEBUG BEGIN_STMT
u32ErrStatus_49 ={v} pBase_38->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_49
<bb 17> [local count: 75162]:
# u32ErrStatus_25 = PHI <u32ErrStatus_24(13), u32ErrStatus_24(14), u32ErrStatus_49(16), u32ErrStatus_24(15)>
# isSpuriousInt_29 = PHI <isSpuriousInt_28(13), isSpuriousInt_28(14), 0(16), 0(15)>
# DEBUG isSpuriousInt => isSpuriousInt_29
# DEBUG u32ErrStatus => u32ErrStatus_25
# DEBUG BEGIN_STMT
_15 = u32ErrStatus_25 & 65536;
if (_15 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 18> [local count: 37581]:
_16 ={v} pBase_38->CTRL1;
_17 = _16 & 1024;
if (_17 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 19> [local count: 18790]:
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 65536;
# DEBUG BEGIN_STMT
_18 = state_39->error_callback;
if (_18 != 0B)
goto <bb 20>; [70.00%]
else
goto <bb 21>; [30.00%]
<bb 20> [local count: 13153]:
# DEBUG BEGIN_STMT
_18 (instance_36(D), 12, u32ErrStatus_25, state_39);
# DEBUG BEGIN_STMT
u32ErrStatus_53 ={v} pBase_38->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_53
<bb 21> [local count: 75162]:
# u32ErrStatus_26 = PHI <u32ErrStatus_25(17), u32ErrStatus_25(18), u32ErrStatus_53(20), u32ErrStatus_25(19)>
# isSpuriousInt_30 = PHI <isSpuriousInt_29(17), isSpuriousInt_29(18), 0(20), 0(19)>
# DEBUG isSpuriousInt => isSpuriousInt_30
# DEBUG u32ErrStatus => u32ErrStatus_26
# DEBUG BEGIN_STMT
_19 = u32ErrStatus_26 & 4;
if (_19 != 0)
goto <bb 22>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 22> [local count: 37581]:
_20 ={v} pBase_38->CTRL1;
_21 = _20 & 32768;
if (_21 != 0)
goto <bb 23>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 23> [local count: 18790]:
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 4;
# DEBUG BEGIN_STMT
_22 = state_39->error_callback;
if (_22 != 0B)
goto <bb 24>; [70.00%]
else
goto <bb 27>; [30.00%]
<bb 24> [local count: 13153]:
# DEBUG BEGIN_STMT
_22 (instance_36(D), 11, u32ErrStatus_26, state_39);
goto <bb 27>; [100.00%]
<bb 25> [local count: 56371]:
# DEBUG isSpuriousInt => isSpuriousInt_30
# DEBUG BEGIN_STMT
if (isSpuriousInt_30 != 0)
goto <bb 26>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 26> [local count: 60398]:
# DEBUG isSpuriousInt => NULL
# DEBUG BEGIN_STMT
pBase_38->ESR1 ={v} 3866630;
<bb 27> [local count: 107374]:
# DEBUG isSpuriousInt => NULL
return;
}
;; Function FlexCAN_Ip_SendBlocking (FlexCAN_Ip_SendBlocking, funcdef_no=85, decl_uid=4633, cgraph_uid=86, symbol_order=87)
FlexCAN_Ip_SendBlocking (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data, uint32 timeout_ms)
{
volatile boolean x;
volatile boolean x;
volatile uint32 * flexcan_mb;
uint32 flexcan_mb_config;
uint32 uS2Ticks;
uint32 mS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType result;
int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
_Bool _5;
_Bool _6;
long unsigned int _7;
unsigned char _8;
int _9;
<unnamed type> _10;
long unsigned int _11;
unsigned char _12;
long unsigned int _13;
long unsigned int _14;
int _15;
long unsigned int _45;
long unsigned int _60;
_Bool x.0_66;
_Bool x.0_67;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = (int) instance_28(D);
base_30 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_30
# DEBUG BEGIN_STMT
state_31 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_31
# DEBUG BEGIN_STMT
_3 = OsIf_GetCounter (0);
timeStart = _3;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
_4 = timeout_ms_34(D) * 1000;
mS2Ticks_36 = OsIf_MicrosToTicks (_4, 0);
# DEBUG mS2Ticks => mS2Ticks_36
# DEBUG BEGIN_STMT
# DEBUG uS2Ticks => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb => 0B
# DEBUG BEGIN_STMT
_5 = instance_28(D) <= 5;
x ={v} _5;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_67 ={v} x;
if (x.0_67 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 22> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 26> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_6 = tx_info_37(D) != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_66 ={v} x;
if (x.0_66 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 25> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
result_42 = FlexCAN_StartSendData (instance_28(D), mb_idx_38(D), tx_info_37(D), msg_id_39(D), mb_data_40(D));
# DEBUG result => result_42
# DEBUG BEGIN_STMT
if (result_42 == 0)
goto <bb 20>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 20> [local count: 26844]:
goto <bb 8>; [100.00%]
<bb 7> [local count: 237131]:
# DEBUG BEGIN_STMT
_45 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_46 = timeElapsed_20 + _45;
# DEBUG timeElapsed => timeElapsed_46
# DEBUG BEGIN_STMT
if (mS2Ticks_36 <= timeElapsed_46)
goto <bb 9>; [5.50%]
else
goto <bb 24>; [94.50%]
<bb 24> [local count: 224089]:
<bb 8> [local count: 250932]:
# timeElapsed_20 = PHI <0(20), timeElapsed_46(24)>
# DEBUG timeElapsed => timeElapsed_20
# DEBUG BEGIN_STMT
_7 = (long unsigned int) mb_idx_38(D);
_8 = FlexCAN_GetBuffStatusFlag (base_30, _7);
if (_8 != 1)
goto <bb 7>; [94.50%]
else
goto <bb 9>; [5.50%]
<bb 9> [local count: 26843]:
# result_16 = PHI <3(7), 0(8)>
# _2 = PHI <_7(7), _7(8)>
# DEBUG result => result_16
# DEBUG BEGIN_STMT
if (result_16 == 3)
goto <bb 10>; [34.00%]
else
goto <bb 18>; [66.00%]
<bb 10> [local count: 9127]:
_9 = (int) mb_idx_38(D);
_10 ={v} state_31->mbs[_9].state;
if (_10 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 18>; [67.00%]
<bb 11> [local count: 3012]:
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_30, _2);
# DEBUG BEGIN_STMT
flexcan_mb_49 = FlexCAN_GetMsgBuffRegion (base_30, _2);
# DEBUG flexcan_mb => flexcan_mb_49
# DEBUG BEGIN_STMT
flexcan_mb_config_50 ={v} *flexcan_mb_49;
# DEBUG flexcan_mb_config => flexcan_mb_config_50
# DEBUG BEGIN_STMT
flexcan_mb_config_51 = flexcan_mb_config_50 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_51
# DEBUG BEGIN_STMT
flexcan_mb_config_52 = flexcan_mb_config_51 | 150994944;
# DEBUG flexcan_mb_config => flexcan_mb_config_52
# DEBUG BEGIN_STMT
*flexcan_mb_49 ={v} flexcan_mb_config_52;
# DEBUG BEGIN_STMT
uS2Ticks_55 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_55
# DEBUG BEGIN_STMT
_11 = OsIf_GetCounter (0);
timeStart = _11;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 12> [local count: 26606]:
# DEBUG BEGIN_STMT
_60 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_61 = timeElapsed_21 + _60;
# DEBUG timeElapsed => timeElapsed_61
# DEBUG BEGIN_STMT
if (uS2Ticks_55 <= timeElapsed_61)
goto <bb 14>; [5.50%]
else
goto <bb 23>; [94.50%]
<bb 23> [local count: 25143]:
<bb 13> [local count: 28155]:
# timeElapsed_21 = PHI <0(11), timeElapsed_61(23)>
# DEBUG timeElapsed => timeElapsed_21
# DEBUG BEGIN_STMT
_12 = FlexCAN_GetBuffStatusFlag (base_30, _2);
if (_12 == 0)
goto <bb 12>; [94.50%]
else
goto <bb 14>; [5.50%]
<bb 14> [local count: 3012]:
# DEBUG result => 3
# DEBUG BEGIN_STMT
flexcan_mb_config_62 ={v} *flexcan_mb_49;
# DEBUG flexcan_mb_config => flexcan_mb_config_62
# DEBUG BEGIN_STMT
_13 = flexcan_mb_config_62 >> 24;
_14 = _13 & 15;
if (_14 == 8)
goto <bb 15>; [34.00%]
else
goto <bb 16>; [66.00%]
<bb 15> [local count: 1024]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
<bb 16> [local count: 3012]:
# result_17 = PHI <3(14), 0(15)>
# DEBUG result => result_17
# DEBUG BEGIN_STMT
if (_14 == 9)
goto <bb 17>; [34.00%]
else
goto <bb 18>; [66.00%]
<bb 17> [local count: 1024]:
# DEBUG BEGIN_STMT
# DEBUG result => 3
<bb 18> [local count: 26843]:
# result_18 = PHI <result_16(9), 3(10), result_17(16), 3(17)>
# DEBUG result => result_18
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_30, _2);
# DEBUG BEGIN_STMT
_15 = (int) mb_idx_38(D);
state_31->mbs[_15].state ={v} 0;
<bb 19> [local count: 53687]:
# result_19 = PHI <result_42(6), result_18(18)>
# DEBUG result => result_19
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return result_19;
}
;; Function FlexCAN_Ip_SetRxMbGlobalMask_Privileged (FlexCAN_Ip_SetRxMbGlobalMask_Privileged, funcdef_no=86, decl_uid=4576, cgraph_uid=87, symbol_order=88)
FlexCAN_Ip_SetRxMbGlobalMask_Privileged (uint8 instance, uint32 mask)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
long unsigned int _17;
signed int _18;
_Bool x.0_19;
long unsigned int _20;
long unsigned int _21;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_9(D);
pBase_11 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG freeze => 0
# DEBUG BEGIN_STMT
_2 = instance_9(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_19 ={v} x;
if (x.0_19 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_18 = (signed int) _17;
# DEBUG pBase => NULL
# DEBUG disabled => _18 < 0
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_21 = _20 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _21 != 0
# DEBUG BEGIN_STMT
if (_21 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 40265]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG Mask => mask_14(D)
# DEBUG INLINE_ENTRY FlexCAN_SetRxMsgBuffGlobalMask
# DEBUG BEGIN_STMT
pBase_11->RXMGMASK ={v} mask_14(D);
<bb 10> [local count: 107374]:
# result_8 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG base => NULL
# DEBUG Mask => NULL
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_16 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_16
# DEBUG BEGIN_STMT
if (status_16 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_16
<bb 13> [local count: 107374]:
# result_4 = PHI <result_8(10), result_8(11), status_16(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_EnterFreezeMode_Privileged (FlexCAN_Ip_EnterFreezeMode_Privileged, funcdef_no=87, decl_uid=4549, cgraph_uid=88, symbol_order=89)
FlexCAN_Ip_EnterFreezeMode_Privileged (uint8 instance)
{
struct FLEXCAN_Type * base;
int _1;
Flexcan_Ip_StatusType _6;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_2(D);
base_4 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_4
# DEBUG BEGIN_STMT
_6 = FlexCAN_EnterFreezeMode (base_4);
return _6;
}
;; Function FlexCAN_Ip_ExitFreezeMode_Privileged (FlexCAN_Ip_ExitFreezeMode_Privileged, funcdef_no=88, decl_uid=4551, cgraph_uid=89, symbol_order=90)
FlexCAN_Ip_ExitFreezeMode_Privileged (uint8 instance)
{
struct FLEXCAN_Type * base;
int _1;
Flexcan_Ip_StatusType _6;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_2(D);
base_4 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_4
# DEBUG BEGIN_STMT
_6 = FlexCAN_ExitFreezeMode (base_4);
return _6;
}
;; Function FlexCAN_Ip_SetRxIndividualMask_Privileged (FlexCAN_Ip_SetRxIndividualMask_Privileged, funcdef_no=89, decl_uid=4573, cgraph_uid=90, symbol_order=91)
FlexCAN_Ip_SetRxIndividualMask_Privileged (uint8 instance, uint8 mb_idx, uint32 mask)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
int _1;
_Bool _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
_Bool x.0_21;
long unsigned int _22;
signed int _23;
long unsigned int _24;
long unsigned int _25;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_1 = (int) instance_12(D);
pBase_14 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_14
# DEBUG BEGIN_STMT
# DEBUG freeze => 0
# DEBUG BEGIN_STMT
_2 = instance_12(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_21 ={v} x;
if (x.0_21 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (long unsigned int) mb_idx_15(D);
_4 ={v} pBase_14->MCR;
_5 = _4 & 127;
if (_3 > _5)
goto <bb 15>; [35.00%]
else
goto <bb 5>; [65.00%]
<bb 5> [local count: 69793]:
if (mb_idx_15(D) > 95)
goto <bb 15>; [35.00%]
else
goto <bb 6>; [65.00%]
<bb 6> [local count: 45366]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_23 = (signed int) _22;
# DEBUG pBase => NULL
# DEBUG disabled => _23 < 0
# DEBUG BEGIN_STMT
if (_23 < 0)
goto <bb 7>; [25.50%]
else
goto <bb 8>; [74.50%]
<bb 7> [local count: 11568]:
# DEBUG BEGIN_STMT
result_17 = FlexCAN_Enable (pBase_14);
# DEBUG result => result_17
<bb 8> [local count: 45366]:
# result_6 = PHI <0(6), result_17(7)>
# DEBUG result => result_6
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_24 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_25 = _24 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _25 != 0
# DEBUG BEGIN_STMT
if (_25 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 22683]:
if (result_6 == 0)
goto <bb 12>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 34024]:
# DEBUG result => result_6
# DEBUG BEGIN_STMT
if (result_6 == 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 17012]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG msgBuffIdx => _3
# DEBUG mask => mask_18(D)
# DEBUG INLINE_ENTRY FlexCAN_SetRxIndividualMask
# DEBUG BEGIN_STMT
pBase_14->RXIMR[_3] ={v} mask_18(D);
<bb 12> [local count: 45366]:
# result_11 = PHI <result_6(10), 0(11), 1(9)>
# DEBUG result => NULL
# DEBUG base => NULL
# DEBUG msgBuffIdx => NULL
# DEBUG mask => NULL
# DEBUG BEGIN_STMT
if (_23 < 0)
goto <bb 13>; [25.50%]
else
goto <bb 15>; [74.50%]
<bb 13> [local count: 11568]:
# DEBUG BEGIN_STMT
status_20 = FlexCAN_Disable (pBase_14);
# DEBUG status => status_20
# DEBUG BEGIN_STMT
if (status_20 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 14> [local count: 5784]:
# DEBUG BEGIN_STMT
# DEBUG result => status_20
<bb 15> [local count: 107374]:
# result_7 = PHI <4(5), result_11(12), result_11(13), status_20(14), 4(4)>
# DEBUG result => result_7
# DEBUG BEGIN_STMT
return result_7;
}
;; Function FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (FlexCAN_Ip_SetRxFifoGlobalMask_Privileged, funcdef_no=90, decl_uid=4554, cgraph_uid=91, symbol_order=92)
FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (uint8 instance, uint32 mask)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _17;
signed int _18;
_Bool x.0_19;
long unsigned int _20;
long unsigned int _21;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_19 ={v} x;
if (x.0_19 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_18 = (signed int) _17;
# DEBUG pBase => NULL
# DEBUG disabled => _18 < 0
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_21 = _20 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _21 != 0
# DEBUG BEGIN_STMT
if (_21 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 40265]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG Mask => mask_14(D)
# DEBUG INLINE_ENTRY FlexCAN_SetRxFifoGlobalMask
# DEBUG BEGIN_STMT
pBase_11->RXFGMASK ={v} mask_14(D);
<bb 10> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG base => NULL
# DEBUG Mask => NULL
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_16 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_16
# DEBUG BEGIN_STMT
if (status_16 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_16
<bb 13> [local count: 107374]:
# result_4 = PHI <result_10(10), result_10(11), status_16(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_Deinit_Privileged (FlexCAN_Ip_Deinit_Privileged, funcdef_no=91, decl_uid=4556, cgraph_uid=92, symbol_order=93)
Symbols to be put in SSA form
{ D.6774 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 17
Number of blocks to update: 16 ( 94%)
Merging blocks 3 and 8
Removing basic block 5
Removing basic block 7
Merging blocks 16 and 9
;; 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 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 12 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 8 9 }
;; 8 succs { 9 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 1 }
FlexCAN_Ip_Deinit_Privileged (uint8 instance)
{
volatile boolean x;
Flexcan_Ip_StatusType result;
struct FLEXCAN_Type * base;
int _1;
_Bool _2;
_Bool x.0_12;
_Bool _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_4(D);
base_6 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_6
# DEBUG BEGIN_STMT
# DEBUG result => 1
# DEBUG BEGIN_STMT
_2 = instance_4(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_12 ={v} x;
if (x.0_12 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
result_8 = FlexCAN_EnterFreezeMode (base_6);
# DEBUG result => result_8
# DEBUG BEGIN_STMT
if (result_8 == 0)
goto <bb 5>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 5> [local count: 35433]:
# DEBUG BEGIN_STMT
# DEBUG base => base_6
# DEBUG INLINE_ENTRY FlexCAN_SetRegDefaultVal
# DEBUG BEGIN_STMT
_14 = FlexCAN_IsEnhancedRxFifoAvailable (base_6);
if (_14 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 17717]:
# DEBUG BEGIN_STMT
base_6->ERFSR ={v} 4160749568;
# DEBUG BEGIN_STMT
base_6->ERFIER ={v} 0;
# DEBUG BEGIN_STMT
base_6->ERFCR ={v} 0;
<bb 7> [local count: 35433]:
# DEBUG BEGIN_STMT
base_6->FDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_6->FDCTRL ={v} 2147500288;
# DEBUG BEGIN_STMT
base_6->ERRSR ={v} 851981;
# DEBUG BEGIN_STMT
base_6->ERRIPPR ={v} 0;
# DEBUG BEGIN_STMT
base_6->ERRIDPR ={v} 0;
# DEBUG BEGIN_STMT
base_6->ERRIAR ={v} 0;
# DEBUG BEGIN_STMT
_15 ={v} base_6->CTRL2;
_16 = _15 | 536870912;
base_6->CTRL2 ={v} _16;
# DEBUG BEGIN_STMT
_17 ={v} base_6->MECR;
_18 = _17 & 2147483647;
base_6->MECR ={v} _18;
# DEBUG BEGIN_STMT
base_6->MECR ={v} 786560;
# DEBUG BEGIN_STMT
_19 ={v} base_6->MECR;
_20 = _19 | 2147483648;
base_6->MECR ={v} _20;
# DEBUG BEGIN_STMT
_21 ={v} base_6->CTRL2;
_22 = _21 & 3758096383;
base_6->CTRL2 ={v} _22;
# DEBUG BEGIN_STMT
_23 = FlexCAN_GetMaxMbNum (base_6);
if (_23 > 64)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 17717]:
# DEBUG BEGIN_STMT
base_6->IFLAG3 ={v} 4294967295;
# DEBUG BEGIN_STMT
base_6->IMASK3 ={v} 0;
<bb 9> [local count: 35433]:
# DEBUG BEGIN_STMT
_24 = FlexCAN_GetMaxMbNum (base_6);
if (_24 > 32)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 17717]:
# DEBUG BEGIN_STMT
base_6->IFLAG2 ={v} 4294967295;
# DEBUG BEGIN_STMT
base_6->IMASK2 ={v} 0;
<bb 11> [local count: 35433]:
# DEBUG BEGIN_STMT
base_6->IFLAG1 ={v} 4294967295;
# DEBUG BEGIN_STMT
base_6->IMASK1 ={v} 0;
# DEBUG BEGIN_STMT
base_6->CBT ={v} 0;
# DEBUG BEGIN_STMT
base_6->CTRL2 ={v} 1048576;
# DEBUG BEGIN_STMT
base_6->ESR1 ={v} 241670;
# DEBUG BEGIN_STMT
base_6->ECR ={v} 0;
# DEBUG BEGIN_STMT
base_6->TIMER ={v} 0;
# DEBUG BEGIN_STMT
base_6->CTRL1 ={v} 0;
# DEBUG BEGIN_STMT
base_6->EPRS ={v} 0;
# DEBUG BEGIN_STMT
base_6->ENCBT ={v} 0;
# DEBUG BEGIN_STMT
base_6->EDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_6->ETDC ={v} 0;
# DEBUG BEGIN_STMT
base_6->MCR ={v} 3633315855;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
FlexCAN_Disable (base_6);
# DEBUG BEGIN_STMT
g_flexcan_Ip_StatePtr[_1] = 0B;
<bb 12> [local count: 107374]:
# DEBUG BEGIN_STMT
return result_8;
}
;; Function FlexCAN_Ip_MainFunctionRead (FlexCAN_Ip_MainFunctionRead, funcdef_no=92, decl_uid=4653, cgraph_uid=93, symbol_order=94)
FlexCAN_Ip_MainFunctionRead (uint8 instance, uint8 mb_idx)
{
uint32 flag;
volatile boolean x;
volatile boolean x;
const struct Flexcan_Ip_StateType * state;
const struct FLEXCAN_Type * base;
int _1;
_Bool _2;
unsigned char _3;
_Bool _4;
_Bool _5;
_Bool _6;
long unsigned int _7;
unsigned char _8;
int _9;
<unnamed type> _10;
_Bool x.0_22;
_Bool x.0_23;
long unsigned int _24;
signed int _25;
long unsigned int _26;
long unsigned int _27;
unsigned char _28;
long unsigned int _29;
long unsigned int _31;
long unsigned int _32;
unsigned char _33;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_12(D);
base_14 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_14
# DEBUG BEGIN_STMT
state_15 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_15
# DEBUG BEGIN_STMT
_2 = instance_12(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_23 ={v} x;
if (x.0_23 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = mb_idx_16(D) + 160;
_4 = _3 > 158;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_22 ={v} x;
if (x.0_22 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 22> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
if (mb_idx_16(D) == 255)
goto <bb 7>; [20.24%]
else
goto <bb 11>; [79.76%]
<bb 7> [local count: 10866]:
# DEBUG BEGIN_STMT
_5 = FlexCAN_IsEnhancedRxFifoAvailable (base_14);
if (_5 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 8> [local count: 5433]:
# DEBUG BEGIN_STMT
# DEBUG base => base_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_24 ={v} base_14->ERFCR;
_25 = (signed int) _24;
# DEBUG base => NULL
if (_25 < 0)
goto <bb 9>; [41.00%]
else
goto <bb 19>; [59.00%]
<bb 9> [local count: 2228]:
# DEBUG BEGIN_STMT
# DEBUG base => base_14
# DEBUG intFlag => 28
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag
# DEBUG BEGIN_STMT
_26 ={v} base_14->ERFSR;
_31 = _26 >> 28;
_27 = _31 & 1;
_28 = (unsigned char) _27;
# DEBUG base => NULL
# DEBUG intFlag => NULL
if (_28 != 0)
goto <bb 10>; [33.00%]
else
goto <bb 19>; [67.00%]
<bb 10> [local count: 735]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerEnhancedRxFIFO (instance_12(D), 28);
goto <bb 19>; [100.00%]
<bb 11> [local count: 42821]:
# DEBUG BEGIN_STMT
_6 = state_15->bIsLegacyFifoEn;
if (_6 != 0)
goto <bb 12>; [67.00%]
else
goto <bb 16>; [33.00%]
<bb 12> [local count: 28690]:
if (mb_idx_16(D) <= 7)
goto <bb 13>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 13> [local count: 14345]:
# DEBUG BEGIN_STMT
if (mb_idx_16(D) == 0)
goto <bb 14>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 14> [local count: 7172]:
# DEBUG BEGIN_STMT
# DEBUG base => base_14
# DEBUG msgBuffIdx => 5
# DEBUG INLINE_ENTRY FlexCAN_GetBuffStatusFlag
# DEBUG BEGIN_STMT
# DEBUG flag => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_29 ={v} base_14->IFLAG1;
_32 = _29 >> 5;
flag_30 = _32 & 1;
# DEBUG flag => flag_30
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_33 = (unsigned char) flag_30;
# DEBUG base => NULL
# DEBUG msgBuffIdx => NULL
# DEBUG flag => NULL
if (_33 != 0)
goto <bb 15>; [33.00%]
else
goto <bb 19>; [67.00%]
<bb 15> [local count: 2367]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxFIFO (instance_12(D), 5);
goto <bb 19>; [100.00%]
<bb 16> [local count: 28476]:
# DEBUG BEGIN_STMT
_7 = (long unsigned int) mb_idx_16(D);
_8 = FlexCAN_GetBuffStatusFlag (base_14, _7);
if (_8 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 17> [local count: 14238]:
# DEBUG BEGIN_STMT
_9 = (int) mb_idx_16(D);
_10 ={v} state_15->mbs[_9].state;
if (_10 == 1)
goto <bb 18>; [20.24%]
else
goto <bb 19>; [79.76%]
<bb 18> [local count: 2882]:
# DEBUG BEGIN_STMT
FlexCAN_IRQHandlerRxMB (instance_12(D), _7);
<bb 19> [local count: 53687]:
return;
}
;; Function FlexCAN_Ip_MainFunctionBusOff_Privileged (FlexCAN_Ip_MainFunctionBusOff_Privileged, funcdef_no=93, decl_uid=4543, cgraph_uid=94, symbol_order=95)
FlexCAN_Ip_MainFunctionBusOff_Privileged (uint8 instance)
{
volatile boolean x;
uint32 u32ErrStatus;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
Flexcan_Ip_StatusType eRetVal;
int _1;
_Bool _2;
long unsigned int _3;
void (*<T33b>) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _4;
_Bool x.0_15;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG eRetVal => 1
# DEBUG BEGIN_STMT
_1 = (int) instance_8(D);
base_10 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_10
# DEBUG BEGIN_STMT
state_11 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_11
# DEBUG BEGIN_STMT
# DEBUG u32ErrStatus => 0
# DEBUG BEGIN_STMT
_2 = instance_8(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_15 ={v} x;
if (x.0_15 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
u32ErrStatus_12 ={v} base_10->ESR1;
# DEBUG u32ErrStatus => u32ErrStatus_12
# DEBUG BEGIN_STMT
_3 = u32ErrStatus_12 & 4;
if (_3 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_4 = state_11->error_callback;
if (_4 != 0B)
goto <bb 6>; [70.00%]
else
goto <bb 7>; [30.00%]
<bb 6> [local count: 37581]:
# DEBUG BEGIN_STMT
_4 (instance_8(D), 11, u32ErrStatus_12, state_11);
<bb 7> [local count: 53687]:
# DEBUG BEGIN_STMT
base_10->ESR1 ={v} 4;
# DEBUG BEGIN_STMT
# DEBUG eRetVal => 0
<bb 8> [local count: 107374]:
# eRetVal_5 = PHI <1(4), 0(7)>
# DEBUG eRetVal => eRetVal_5
# DEBUG BEGIN_STMT
return eRetVal_5;
}
;; Function FlexCAN_Ip_MainFunctionWrite (FlexCAN_Ip_MainFunctionWrite, funcdef_no=94, decl_uid=4656, cgraph_uid=95, symbol_order=96)
FlexCAN_Ip_MainFunctionWrite (uint8 instance, uint8 mb_idx)
{
volatile boolean x;
struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * base;
int _1;
_Bool _2;
long unsigned int _3;
unsigned char _4;
int _5;
long unsigned int _6;
_Bool x.0_18;
long unsigned int vol.5_19;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) instance_8(D);
base_10 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_10
# DEBUG BEGIN_STMT
state_11 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_11
# DEBUG BEGIN_STMT
_2 = instance_8(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_18 ={v} x;
if (x.0_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 8> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (long unsigned int) mb_idx_12(D);
_4 = FlexCAN_GetBuffStatusFlag (base_10, _3);
if (_4 != 0)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 35433]:
# DEBUG BEGIN_STMT
_5 = (int) mb_idx_12(D);
_6 = FlexCAN_GetMsgBuffTimestamp (base_10, _3);
state_11->mbs[_5].time_stamp = _6;
# DEBUG BEGIN_STMT
# DEBUG base => base_10
# DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff
# DEBUG BEGIN_STMT
vol.5_19 ={v} MEM[(const struct FLEXCAN_Type *)base_10].TIMER;
# DEBUG base => NULL
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (base_10, _3);
# DEBUG BEGIN_STMT
state_11->mbs[_5].state ={v} 0;
<bb 6> [local count: 107374]:
return;
}
;; Function FlexCAN_Ip_GetStopMode_Privileged (FlexCAN_Ip_GetStopMode_Privileged, funcdef_no=95, decl_uid=4545, cgraph_uid=96, symbol_order=97)
FlexCAN_Ip_GetStopMode_Privileged (uint8 instance)
{
const struct FLEXCAN_Type * base;
int _1;
long unsigned int _2;
long unsigned int _3;
boolean _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_4(D);
base_6 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_6
# DEBUG BEGIN_STMT
_2 ={v} base_6->MCR;
_3 = _2 & 1048576;
_7 = _3 != 0;
return _7;
}
;; Function FlexCAN_Ip_GetStartMode_Privileged (FlexCAN_Ip_GetStartMode_Privileged, funcdef_no=96, decl_uid=4547, cgraph_uid=97, symbol_order=98)
FlexCAN_Ip_GetStartMode_Privileged (uint8 instance)
{
const struct FLEXCAN_Type * base;
int _1;
long unsigned int _2;
long unsigned int _3;
boolean _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_4(D);
base_6 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_6
# DEBUG BEGIN_STMT
_2 ={v} base_6->MCR;
_3 = _2 & 17825792;
_7 = _3 == 0;
return _7;
}
;; Function FlexCAN_Ip_SetStartMode_Privileged (FlexCAN_Ip_SetStartMode_Privileged, funcdef_no=97, decl_uid=4558, cgraph_uid=98, symbol_order=99)
FlexCAN_Ip_SetStartMode_Privileged (uint8 instance)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
_Bool _1;
int _2;
long unsigned int _3;
long unsigned int _4;
Flexcan_Ip_StatusType _10;
_Bool x.0_11;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_5(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_11 ={v} x;
if (x.0_11 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) instance_5(D);
pBase_7 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_7
# DEBUG BEGIN_STMT
_3 ={v} pBase_7->MCR;
_4 = _3 & 2147483647;
pBase_7->MCR ={v} _4;
# DEBUG BEGIN_STMT
_10 = FlexCAN_ExitFreezeMode (pBase_7);
return _10;
}
;; Function FlexCAN_Ip_SetStopMode_Privileged (FlexCAN_Ip_SetStopMode_Privileged, funcdef_no=98, decl_uid=4560, cgraph_uid=99, symbol_order=100)
FlexCAN_Ip_SetStopMode_Privileged (uint8 instance)
{
volatile boolean x;
Flexcan_Ip_StatusType status;
struct FLEXCAN_Type * pBase;
_Bool _1;
int _2;
_Bool x.0_12;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_5(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_12 ={v} x;
if (x.0_12 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 8> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) instance_5(D);
pBase_7 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_7
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
status_9 = FlexCAN_EnterFreezeMode (pBase_7);
# DEBUG status => status_9
# DEBUG BEGIN_STMT
if (status_9 == 0)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 35433]:
# DEBUG BEGIN_STMT
status_11 = FlexCAN_Disable (pBase_7);
# DEBUG status => status_11
<bb 6> [local count: 107374]:
# status_3 = PHI <status_9(4), status_11(5)>
# DEBUG status => status_3
# DEBUG BEGIN_STMT
return status_3;
}
;; Function FlexCAN_Ip_SetRxMaskType_Privileged (FlexCAN_Ip_SetRxMaskType_Privileged, funcdef_no=99, decl_uid=4563, cgraph_uid=100, symbol_order=101)
Symbols to be put in SSA form
{ D.6782 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 21
Number of blocks to update: 20 ( 95%)
Merging blocks 3 and 15
Removing basic block 9
Removing basic block 14
Removing basic block 16
;; 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
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 13 8 }
;; 8 succs { 9 13 }
;; 9 succs { 10 11 }
;; 10 succs { 12 }
;; 11 succs { 12 }
;; 12 succs { 13 }
;; 13 succs { 14 16 }
;; 14 succs { 15 16 }
;; 15 succs { 16 }
;; 16 succs { 1 }
FlexCAN_Ip_SetRxMaskType_Privileged (uint8 instance, Flexcan_Ip_RxMaskType type)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _18;
signed int _19;
_Bool x.0_20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_20 ={v} x;
if (x.0_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_19 = (signed int) _18;
# DEBUG pBase => NULL
# DEBUG disabled => _19 < 0
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_22 = _21 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _22 != 0
# DEBUG BEGIN_STMT
if (_22 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 13>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 13>; [67.00%]
<bb 9> [local count: 26575]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG type => type_14(D)
# DEBUG INLINE_ENTRY FlexCAN_SetRxMaskType
# DEBUG BEGIN_STMT
if (type_14(D) == 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 13288]:
# DEBUG BEGIN_STMT
_24 ={v} pBase_11->MCR;
_25 = _24 & 4294901759;
pBase_11->MCR ={v} _25;
goto <bb 12>; [100.00%]
<bb 11> [local count: 13288]:
# DEBUG BEGIN_STMT
_26 ={v} pBase_11->MCR;
_27 = _26 | 65536;
pBase_11->MCR ={v} _27;
<bb 12> [local count: 26575]:
<bb 13> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(12), 1(7)>
# DEBUG base => NULL
# DEBUG type => NULL
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 14>; [25.50%]
else
goto <bb 16>; [74.50%]
<bb 14> [local count: 27380]:
# DEBUG BEGIN_STMT
status_17 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_17
# DEBUG BEGIN_STMT
if (status_17 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 15> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_17
<bb 16> [local count: 107374]:
# result_4 = PHI <result_10(13), result_10(14), status_17(15)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_SetBitrate_Privileged (FlexCAN_Ip_SetBitrate_Privileged, funcdef_no=100, decl_uid=4580, cgraph_uid=101, symbol_order=102)
Symbols to be put in SSA form
{ D.6783 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 29
Number of blocks to update: 28 ( 97%)
Merging blocks 3 and 24
Merging blocks 5 and 23
Merging blocks 11 and 26
Removing basic block 21
Removing basic block 22
Merging blocks 28 and 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 19 20 21 22
;;
;; Loop 1
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 9 10 }
;; 9 succs { 19 10 }
;; 10 succs { 11 19 }
;; 11 succs { 13 12 }
;; 12 succs { 13 }
;; 13 succs { 14 15 }
;; 14 succs { 18 }
;; 15 succs { 16 17 }
;; 16 succs { 18 }
;; 17 succs { 18 }
;; 18 succs { 19 }
;; 19 succs { 20 22 }
;; 20 succs { 21 22 }
;; 21 succs { 22 }
;; 22 succs { 1 }
FlexCAN_Ip_SetBitrate_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean enhExt)
{
volatile boolean x;
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _26;
signed int _27;
_Bool x.0_28;
_Bool x.0_29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
signed int _33;
long unsigned int _36;
long unsigned int _37;
long unsigned int iftmp.6_38;
long unsigned int _39;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_11(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_29 ={v} x;
if (x.0_29 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = bitrate_13(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_28 ={v} x;
if (x.0_28 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_3 = (int) instance_11(D);
pBase_14 = g_Flexcan_Ip_aBase[_3];
# DEBUG pBase => pBase_14
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_27 = (signed int) _26;
# DEBUG pBase => NULL
# DEBUG disabled => _27 < 0
# DEBUG BEGIN_STMT
if (_27 < 0)
goto <bb 7>; [25.50%]
else
goto <bb 8>; [74.50%]
<bb 7> [local count: 13690]:
# DEBUG BEGIN_STMT
result_16 = FlexCAN_Enable (pBase_14);
# DEBUG result => result_16
<bb 8> [local count: 53687]:
# result_5 = PHI <0(6), result_16(7)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_30 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_31 = _30 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _31 != 0
# DEBUG BEGIN_STMT
if (_31 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 26844]:
if (result_5 == 0)
goto <bb 19>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 40265]:
# DEBUG result => result_5
# DEBUG BEGIN_STMT
if (result_5 == 0)
goto <bb 11>; [33.00%]
else
goto <bb 19>; [67.00%]
<bb 11> [local count: 13288]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14 ();
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG enableCBT => enhExt_18(D)
# DEBUG INLINE_ENTRY FlexCAN_EnhCbtEnable
# DEBUG BEGIN_STMT
_36 ={v} pBase_14->CTRL2;
_37 = _36 & 4294959103;
if (enhExt_18(D) != 0)
goto <bb 13>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 6644]:
<bb 13> [local count: 13288]:
# iftmp.6_38 = PHI <8192(11), 0(12)>
_39 = _37 | iftmp.6_38;
pBase_14->CTRL2 ={v} _39;
# DEBUG base => NULL
# DEBUG enableCBT => NULL
# DEBUG BEGIN_STMT
if (enhExt_18(D) != 0)
goto <bb 14>; [33.00%]
else
goto <bb 15>; [67.00%]
<bb 14> [local count: 4385]:
# DEBUG BEGIN_STMT
FlexCAN_SetEnhancedNominalTimeSegments (pBase_14, bitrate_13(D));
goto <bb 18>; [100.00%]
<bb 15> [local count: 8903]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsExCbtEnabled
# DEBUG BEGIN_STMT
_32 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].CBT;
_33 = (signed int) _32;
# DEBUG pBase => NULL
if (_33 < 0)
goto <bb 16>; [41.00%]
else
goto <bb 17>; [59.00%]
<bb 16> [local count: 3650]:
# DEBUG BEGIN_STMT
FlexCAN_SetExtendedTimeSegments (pBase_14, bitrate_13(D));
goto <bb 18>; [100.00%]
<bb 17> [local count: 5253]:
# DEBUG BEGIN_STMT
FlexCAN_SetTimeSegments (pBase_14, bitrate_13(D));
<bb 18> [local count: 13288]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14 ();
<bb 19> [local count: 53687]:
# result_4 = PHI <result_5(10), 0(18), 1(9)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_27 < 0)
goto <bb 20>; [25.50%]
else
goto <bb 22>; [74.50%]
<bb 20> [local count: 13690]:
# DEBUG BEGIN_STMT
status_25 = FlexCAN_Disable (pBase_14);
# DEBUG status => status_25
# DEBUG BEGIN_STMT
if (status_25 != 0)
goto <bb 21>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 21> [local count: 6845]:
# DEBUG BEGIN_STMT
# DEBUG result => status_25
<bb 22> [local count: 53687]:
# result_6 = PHI <result_4(19), result_4(20), status_25(21)>
# DEBUG result => result_6
# DEBUG BEGIN_STMT
return result_6;
}
;; Function FlexCAN_Ip_GetBitrate (FlexCAN_Ip_GetBitrate, funcdef_no=101, decl_uid=4671, cgraph_uid=102, symbol_order=103)
Symbols to be put in SSA form
{ D.6784 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 22
Number of blocks to update: 21 ( 95%)
Merging blocks 3 and 15
Merging blocks 5 and 14
Removing basic block 7
Removing basic block 9
Removing basic block 10
Removing basic block 12
Removing basic block 13
Removing basic block 16
Removing basic block 18
Removing basic block 20
;; 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
;;
;; Loop 1
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 8 }
;; 7 succs { 11 }
;; 8 succs { 9 10 }
;; 9 succs { 11 }
;; 10 succs { 11 }
;; 11 succs { 1 }
FlexCAN_Ip_GetBitrate (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate)
{
volatile boolean x;
volatile boolean x;
const struct FLEXCAN_Type * pBase;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _12;
long unsigned int _13;
_Bool _14;
_Bool x.0_15;
_Bool x.0_16;
long unsigned int _17;
signed int _18;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _56;
long unsigned int _57;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_5(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_16 ={v} x;
if (x.0_16 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = bitrate_7(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_15 ={v} x;
if (x.0_15 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_5(D);
pBase_8 = g_Flexcan_Ip_aBase[_3];
# DEBUG pBase => pBase_8
# DEBUG BEGIN_STMT
# DEBUG enhCbt => 0
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_8
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_12 ={v} pBase_8->CTRL2;
_13 = _12 & 8192;
_14 = _13 != 0;
# DEBUG pBase => NULL
# DEBUG enhCbt => _14
# DEBUG BEGIN_STMT
if (_13 != 0)
goto <bb 7>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 7> [local count: 17717]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_8
# DEBUG timeSeg => bitrate_7(D)
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedNominalTimeSegments
# DEBUG BEGIN_STMT
bitrate_7(D)->propSeg = 0;
# DEBUG BEGIN_STMT
_21 ={v} pBase_8->EPRS;
_22 = _21 & 1023;
bitrate_7(D)->preDivider = _22;
# DEBUG BEGIN_STMT
_23 ={v} pBase_8->ENCBT;
_24 = _23 & 255;
bitrate_7(D)->phaseSeg1 = _24;
# DEBUG BEGIN_STMT
_25 ={v} pBase_8->ENCBT;
_26 = _25 >> 12;
_27 = _26 & 127;
bitrate_7(D)->phaseSeg2 = _27;
# DEBUG BEGIN_STMT
_28 ={v} pBase_8->ENCBT;
_29 = _28 >> 22;
_30 = _29 & 127;
bitrate_7(D)->rJumpwidth = _30;
goto <bb 11>; [100.00%]
<bb 8> [local count: 35970]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_8
# DEBUG INLINE_ENTRY FlexCAN_IsExCbtEnabled
# DEBUG BEGIN_STMT
_17 ={v} pBase_8->CBT;
_18 = (signed int) _17;
# DEBUG pBase => NULL
if (_18 < 0)
goto <bb 9>; [41.00%]
else
goto <bb 10>; [59.00%]
<bb 9> [local count: 14748]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_8
# DEBUG timeSeg => bitrate_7(D)
# DEBUG INLINE_ENTRY FlexCAN_GetExtendedTimeSegments
# DEBUG BEGIN_STMT
_31 ={v} pBase_8->CBT;
_32 = _31 >> 21;
_33 = _32 & 1023;
bitrate_7(D)->preDivider = _33;
# DEBUG BEGIN_STMT
_34 ={v} pBase_8->CBT;
_35 = _34 >> 10;
_36 = _35 & 63;
bitrate_7(D)->propSeg = _36;
# DEBUG BEGIN_STMT
_37 ={v} pBase_8->CBT;
_38 = _37 >> 5;
_39 = _38 & 31;
bitrate_7(D)->phaseSeg1 = _39;
# DEBUG BEGIN_STMT
_40 ={v} pBase_8->CBT;
_41 = _40 & 31;
bitrate_7(D)->phaseSeg2 = _41;
# DEBUG BEGIN_STMT
_42 ={v} pBase_8->CBT;
_43 = _42 >> 16;
_44 = _43 & 31;
bitrate_7(D)->rJumpwidth = _44;
goto <bb 11>; [100.00%]
<bb 10> [local count: 21222]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_8
# DEBUG timeSeg => bitrate_7(D)
# DEBUG INLINE_ENTRY FlexCAN_GetTimeSegments
# DEBUG BEGIN_STMT
_45 ={v} pBase_8->CTRL1;
_46 = _45 >> 24;
bitrate_7(D)->preDivider = _46;
# DEBUG BEGIN_STMT
_47 ={v} pBase_8->CTRL1;
_48 = _47 & 7;
bitrate_7(D)->propSeg = _48;
# DEBUG BEGIN_STMT
_49 ={v} pBase_8->CTRL1;
_50 = _49 >> 19;
_51 = _50 & 7;
bitrate_7(D)->phaseSeg1 = _51;
# DEBUG BEGIN_STMT
_52 ={v} pBase_8->CTRL1;
_53 = _52 >> 16;
_54 = _53 & 7;
bitrate_7(D)->phaseSeg2 = _54;
# DEBUG BEGIN_STMT
_55 ={v} pBase_8->CTRL1;
_56 = _55 >> 22;
_57 = _56 & 3;
bitrate_7(D)->rJumpwidth = _57;
<bb 11> [local count: 53687]:
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG BEGIN_STMT
return _14;
}
;; Function FlexCAN_Ip_ClearTDCFail_Privileged (FlexCAN_Ip_ClearTDCFail_Privileged, funcdef_no=102, decl_uid=4593, cgraph_uid=103, symbol_order=104)
FlexCAN_Ip_ClearTDCFail_Privileged (uint8 u8Instance)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _17;
signed int _18;
_Bool x.0_19;
long unsigned int _20;
long unsigned int _21;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = u8Instance_9(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_19 ={v} x;
if (x.0_19 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_9(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_18 = (signed int) _17;
# DEBUG pBase => NULL
# DEBUG disabled => _18 < 0
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
# DEBUG BEGIN_STMT
if (result_13 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 6> [local count: 93684]:
# DEBUG result => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].CTRL2;
_21 = _20 & 8192;
# DEBUG pBase => NULL
if (_21 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 46842]:
# DEBUG BEGIN_STMT
_3 ={v} pBase_11->ETDC;
_4 = _3 | 32768;
pBase_11->ETDC ={v} _4;
goto <bb 9>; [100.00%]
<bb 8> [local count: 46842]:
# DEBUG BEGIN_STMT
_5 ={v} pBase_11->FDCTRL;
_6 = _5 | 16384;
pBase_11->FDCTRL ={v} _6;
<bb 9> [local count: 107374]:
# DEBUG BEGIN_STMT
if (_18 < 0)
goto <bb 10>; [25.50%]
else
goto <bb 11>; [74.50%]
<bb 10> [local count: 27380]:
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_11);
<bb 11> [local count: 107374]:
return;
}
;; Function FlexCAN_Ip_GetTDCFail_Privileged (FlexCAN_Ip_GetTDCFail_Privileged, funcdef_no=103, decl_uid=4595, cgraph_uid=104, symbol_order=105)
FlexCAN_Ip_GetTDCFail_Privileged (uint8 u8Instance)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType result;
boolean value;
_Bool _1;
int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _19;
signed int _20;
_Bool x.0_21;
long unsigned int _22;
long unsigned int _23;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG value => 0
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = u8Instance_11(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_21 ={v} x;
if (x.0_21 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_11(D);
pBase_13 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_13
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_13
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_19 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR;
_20 = (signed int) _19;
# DEBUG pBase => NULL
# DEBUG disabled => _20 < 0
# DEBUG BEGIN_STMT
if (_20 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_15 = FlexCAN_Enable (pBase_13);
# DEBUG result => result_15
# DEBUG BEGIN_STMT
if (result_15 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 6> [local count: 93684]:
# DEBUG result => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_13
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].CTRL2;
_23 = _22 & 8192;
# DEBUG pBase => NULL
if (_23 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 46842]:
# DEBUG BEGIN_STMT
_3 ={v} pBase_13->ETDC;
_4 = _3 & 32768;
value_17 = _4 != 0;
# DEBUG value => value_17
goto <bb 9>; [100.00%]
<bb 8> [local count: 46842]:
# DEBUG BEGIN_STMT
_5 ={v} pBase_13->FDCTRL;
_6 = _5 & 16384;
value_16 = _6 != 0;
# DEBUG value => value_16
<bb 9> [local count: 107374]:
# value_7 = PHI <0(5), value_17(7), value_16(8)>
# DEBUG value => value_7
# DEBUG BEGIN_STMT
if (_20 < 0)
goto <bb 10>; [25.50%]
else
goto <bb 11>; [74.50%]
<bb 10> [local count: 27380]:
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_13);
<bb 11> [local count: 107374]:
# DEBUG BEGIN_STMT
return value_7;
}
;; Function FlexCAN_Ip_GetTDCValue_Privileged (FlexCAN_Ip_GetTDCValue_Privileged, funcdef_no=104, decl_uid=4597, cgraph_uid=105, symbol_order=106)
FlexCAN_Ip_GetTDCValue_Privileged (uint8 u8Instance)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType result;
uint8 value;
_Bool _1;
int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
long unsigned int _18;
signed int _19;
_Bool x.0_20;
long unsigned int _21;
long unsigned int _22;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG value => 0
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
_1 = u8Instance_10(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_20 ={v} x;
if (x.0_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_10(D);
pBase_12 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_12
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_12
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_12].MCR;
_19 = (signed int) _18;
# DEBUG pBase => NULL
# DEBUG disabled => _19 < 0
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_14 = FlexCAN_Enable (pBase_12);
# DEBUG result => result_14
# DEBUG BEGIN_STMT
if (result_14 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 6> [local count: 93684]:
# DEBUG result => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_12
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_12].CTRL2;
_22 = _21 & 8192;
# DEBUG pBase => NULL
if (_22 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 46842]:
# DEBUG BEGIN_STMT
_3 ={v} pBase_12->ETDC;
value_16 = (uint8) _3;
# DEBUG value => value_16
goto <bb 9>; [100.00%]
<bb 8> [local count: 46842]:
# DEBUG BEGIN_STMT
_4 ={v} pBase_12->FDCTRL;
_5 = (unsigned char) _4;
value_15 = _5 & 63;
# DEBUG value => value_15
<bb 9> [local count: 107374]:
# value_6 = PHI <0(5), value_16(7), value_15(8)>
# DEBUG value => value_6
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 10>; [25.50%]
else
goto <bb 11>; [74.50%]
<bb 10> [local count: 27380]:
# DEBUG BEGIN_STMT
FlexCAN_Disable (pBase_12);
<bb 11> [local count: 107374]:
# DEBUG BEGIN_STMT
return value_6;
}
;; Function FlexCAN_Ip_SetBitrateCbt_Privileged (FlexCAN_Ip_SetBitrateCbt_Privileged, funcdef_no=105, decl_uid=4584, cgraph_uid=106, symbol_order=107)
Symbols to be put in SSA form
{ D.6788 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 30
Number of blocks to update: 29 ( 97%)
Merging blocks 3 and 23
Merging blocks 5 and 22
Merging blocks 12 and 25
Removing basic block 20
Removing basic block 21
Merging blocks 29 and 24
;; 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 19 20 21 22 23
;;
;; Loop 1
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 20 9 }
;; 9 succs { 10 11 }
;; 10 succs { 20 11 }
;; 11 succs { 12 20 }
;; 12 succs { 14 13 }
;; 13 succs { 14 }
;; 14 succs { 16 15 }
;; 15 succs { 16 }
;; 16 succs { 17 18 }
;; 17 succs { 19 }
;; 18 succs { 19 }
;; 19 succs { 20 }
;; 20 succs { 21 23 }
;; 21 succs { 22 23 }
;; 22 succs { 23 }
;; 23 succs { 1 }
FlexCAN_Ip_SetBitrateCbt_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean bitRateSwitch)
{
volatile boolean x;
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _25;
long unsigned int _26;
_Bool _27;
long unsigned int _28;
signed int _29;
_Bool x.0_30;
_Bool x.0_31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _38;
long unsigned int _39;
long unsigned int iftmp.1_40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int iftmp.2_44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_11(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_31 ={v} x;
if (x.0_31 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = bitrate_13(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_30 ={v} x;
if (x.0_30 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_3 = (int) instance_11(D);
pBase_14 = g_Flexcan_Ip_aBase[_3];
# DEBUG pBase => pBase_14
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_29 = (signed int) _28;
# DEBUG pBase => NULL
# DEBUG disabled => _29 < 0
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_25 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_26 = _25 & 2048;
_27 = _26 != 0;
# DEBUG base => NULL
# DEBUG fd_enable => _27
# DEBUG BEGIN_STMT
if (_29 < 0)
goto <bb 7>; [25.50%]
else
goto <bb 8>; [74.50%]
<bb 7> [local count: 13690]:
# DEBUG BEGIN_STMT
result_16 = FlexCAN_Enable (pBase_14);
# DEBUG result => result_16
<bb 8> [local count: 53687]:
# result_5 = PHI <0(6), result_16(7)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_32 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_33 = _32 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _33 != 0
# DEBUG BEGIN_STMT
if (_26 == 0)
goto <bb 20>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
if (_33 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 13422]:
if (result_5 == 0)
goto <bb 20>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 20133]:
# DEBUG result => result_5
# DEBUG BEGIN_STMT
if (result_5 == 0)
goto <bb 12>; [33.00%]
else
goto <bb 20>; [67.00%]
<bb 12> [local count: 6644]:
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_34 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].CTRL2;
_35 = _34 & 8192;
# DEBUG pBase => NULL
# DEBUG enhCbt => _35 != 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15 ();
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG enableFD => _27
# DEBUG enableBRS => bitRateSwitch_18(D)
# DEBUG INLINE_ENTRY FlexCAN_SetFDEnabled
# DEBUG BEGIN_STMT
_38 ={v} pBase_14->MCR;
_39 = _38 & 4294965247;
if (_27 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 3322]:
<bb 14> [local count: 6644]:
# iftmp.1_40 = PHI <2048(12), 0(13)>
_41 = _39 | iftmp.1_40;
pBase_14->MCR ={v} _41;
# DEBUG BEGIN_STMT
_42 ={v} pBase_14->FDCTRL;
_43 = _42 & 2147483647;
if (bitRateSwitch_18(D) != 0)
goto <bb 16>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 3322]:
<bb 16> [local count: 6644]:
# iftmp.2_44 = PHI <2147483648(14), 0(15)>
_45 = _43 | iftmp.2_44;
pBase_14->FDCTRL ={v} _45;
# DEBUG BEGIN_STMT
_46 ={v} pBase_14->FDCTRL;
_47 = _46 & 4294926591;
pBase_14->FDCTRL ={v} _47;
# DEBUG base => NULL
# DEBUG enableFD => NULL
# DEBUG enableBRS => NULL
# DEBUG BEGIN_STMT
if (_35 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 17> [local count: 3322]:
# DEBUG BEGIN_STMT
FlexCAN_SetEnhancedDataTimeSegments (pBase_14, bitrate_13(D));
goto <bb 19>; [100.00%]
<bb 18> [local count: 3322]:
# DEBUG BEGIN_STMT
FlexCAN_SetFDTimeSegments (pBase_14, bitrate_13(D));
<bb 19> [local count: 6644]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15 ();
<bb 20> [local count: 53687]:
# result_4 = PHI <result_5(11), 0(19), 1(8), 1(10)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_29 < 0)
goto <bb 21>; [25.50%]
else
goto <bb 23>; [74.50%]
<bb 21> [local count: 13690]:
# DEBUG BEGIN_STMT
status_24 = FlexCAN_Disable (pBase_14);
# DEBUG status => status_24
# DEBUG BEGIN_STMT
if (status_24 != 0)
goto <bb 22>; [50.00%]
else
goto <bb 23>; [50.00%]
<bb 22> [local count: 6845]:
# DEBUG BEGIN_STMT
# DEBUG result => status_24
<bb 23> [local count: 53687]:
# result_6 = PHI <result_4(20), result_4(21), status_24(22)>
# DEBUG result => result_6
# DEBUG BEGIN_STMT
return result_6;
}
;; Function FlexCAN_Ip_GetBitrateFD (FlexCAN_Ip_GetBitrateFD, funcdef_no=106, decl_uid=4674, cgraph_uid=107, symbol_order=108)
Symbols to be put in SSA form
{ D.6789 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 22
Number of blocks to update: 21 ( 95%)
Merging blocks 3 and 13
Merging blocks 5 and 12
Removing basic block 7
Removing basic block 8
Removing basic block 10
Removing basic block 11
Removing basic block 14
Removing basic block 16
Merging blocks 17 and 18
Removing basic block 20
;; 4 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11
;;
;; Loop 3
;; header 8, latch 8
;; depth 1, outer 0
;; nodes: 8
;;
;; Loop 1
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 10 }
;; 7 succs { 9 8 }
;; 8 succs { 8 }
;; 9 succs { 11 }
;; 10 succs { 11 }
;; 11 succs { 1 }
FlexCAN_Ip_GetBitrateFD (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
const struct FLEXCAN_Type * pBase;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _11;
long unsigned int _12;
_Bool _13;
_Bool x.0_14;
_Bool x.0_15;
_Bool _18;
_Bool x.0_19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_5(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_15 ={v} x;
if (x.0_15 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = bitrate_7(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_14 ={v} x;
if (x.0_14 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_5(D);
pBase_8 = g_Flexcan_Ip_aBase[_3];
# DEBUG pBase => pBase_8
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_8
# DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled
# DEBUG BEGIN_STMT
_11 ={v} pBase_8->CTRL2;
_12 = _11 & 8192;
_13 = _12 != 0;
# DEBUG pBase => NULL
# DEBUG enhCbt => _13
# DEBUG BEGIN_STMT
if (_12 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_8
# DEBUG timeSeg => bitrate_7(D)
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedDataTimeSegments
# DEBUG BEGIN_STMT
_18 = bitrate_7(D) != 0B;
x ={v} _18;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_19 ={v} x;
if (x.0_19 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 8>; [100.00%]
<bb 9> [local count: 13422]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
bitrate_7(D)->propSeg = 0;
# DEBUG BEGIN_STMT
_20 ={v} pBase_8->EDCBT;
_21 = _20 & 31;
bitrate_7(D)->phaseSeg1 = _21;
# DEBUG BEGIN_STMT
_22 ={v} pBase_8->EDCBT;
_23 = _22 >> 12;
_24 = _23 & 15;
bitrate_7(D)->phaseSeg2 = _24;
# DEBUG BEGIN_STMT
_25 ={v} pBase_8->EDCBT;
_26 = _25 >> 22;
_27 = _26 & 15;
bitrate_7(D)->rJumpwidth = _27;
# DEBUG BEGIN_STMT
_28 ={v} pBase_8->EPRS;
_29 = _28 >> 16;
_30 = _29 & 1023;
bitrate_7(D)->preDivider = _30;
goto <bb 11>; [100.00%]
<bb 10> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_8
# DEBUG timeSeg => bitrate_7(D)
# DEBUG INLINE_ENTRY FlexCAN_GetFDTimeSegments
# DEBUG BEGIN_STMT
_31 ={v} pBase_8->FDCBT;
_32 = _31 >> 20;
_33 = _32 & 1023;
bitrate_7(D)->preDivider = _33;
# DEBUG BEGIN_STMT
_34 ={v} pBase_8->FDCBT;
_35 = _34 >> 10;
_36 = _35 & 31;
bitrate_7(D)->propSeg = _36;
# DEBUG BEGIN_STMT
_37 ={v} pBase_8->FDCBT;
_38 = _37 >> 5;
_39 = _38 & 7;
bitrate_7(D)->phaseSeg1 = _39;
# DEBUG BEGIN_STMT
_40 ={v} pBase_8->FDCBT;
_41 = _40 & 7;
bitrate_7(D)->phaseSeg2 = _41;
# DEBUG BEGIN_STMT
_42 ={v} pBase_8->FDCBT;
_43 = _42 >> 16;
_44 = _43 & 7;
bitrate_7(D)->rJumpwidth = _44;
<bb 11> [local count: 40265]:
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG base => NULL
# DEBUG timeSeg => NULL
# DEBUG x => NULL
# DEBUG BEGIN_STMT
return _13;
}
;; Function FlexCAN_Ip_SetTDCOffset_Privileged (FlexCAN_Ip_SetTDCOffset_Privileged, funcdef_no=107, decl_uid=4591, cgraph_uid=108, symbol_order=109)
Symbols to be put in SSA form
{ D.6790 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 27
Number of blocks to update: 26 ( 96%)
Merging blocks 3 and 18
Removing basic block 10
Removing basic block 11
Removing basic block 17
Removing basic block 19
Removing basic block 23
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 17 8 }
;; 8 succs { 9 17 }
;; 9 succs { 10 13 }
;; 10 succs { 11 12 }
;; 11 succs { 12 }
;; 12 succs { 16 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 16 }
;; 16 succs { 17 }
;; 17 succs { 18 20 }
;; 18 succs { 19 20 }
;; 19 succs { 20 }
;; 20 succs { 1 }
FlexCAN_Ip_SetTDCOffset_Privileged (uint8 instance, boolean enable, uint8 offset)
{
uint32 tmp;
uint32 tmp;
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _25;
signed int _26;
_Bool x.0_27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_11(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_27 ={v} x;
if (x.0_27 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_11(D);
pBase_14 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_14
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_25 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_26 = (signed int) _25;
# DEBUG pBase => NULL
# DEBUG disabled => _26 < 0
# DEBUG BEGIN_STMT
if (_26 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_16 = FlexCAN_Enable (pBase_14);
# DEBUG result => result_16
<bb 6> [local count: 107374]:
# result_5 = PHI <0(4), result_16(5)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR;
_29 = _28 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _29 != 0
# DEBUG BEGIN_STMT
if (_29 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_5 == 0)
goto <bb 17>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_5
# DEBUG BEGIN_STMT
if (result_5 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 17>; [67.00%]
<bb 9> [local count: 26575]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16 ();
# DEBUG BEGIN_STMT
_3 ={v} pBase_14->CTRL2;
_4 = _3 & 8192;
if (_4 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 10> [local count: 13288]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG enable => enable_18(D)
# DEBUG offset => offset_19(D)
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedTDCOffset
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_31 ={v} pBase_14->ETDC;
# DEBUG tmp => tmp_31
# DEBUG BEGIN_STMT
tmp_32 = tmp_31 & 2139160575;
# DEBUG tmp => tmp_32
# DEBUG BEGIN_STMT
if (enable_18(D) != 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 6644]:
# DEBUG BEGIN_STMT
tmp_33 = tmp_32 | 2147483648;
# DEBUG tmp => tmp_33
# DEBUG BEGIN_STMT
_34 = (long unsigned int) offset_19(D);
_35 = _34 << 16;
_36 = _35 & 8323072;
tmp_37 = tmp_33 | _36;
# DEBUG tmp => tmp_37
<bb 12> [local count: 13288]:
# tmp_38 = PHI <tmp_32(10), tmp_37(11)>
# DEBUG tmp => tmp_38
# DEBUG BEGIN_STMT
pBase_14->ETDC ={v} tmp_38;
goto <bb 16>; [100.00%]
<bb 13> [local count: 13288]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_14
# DEBUG enable => enable_18(D)
# DEBUG offset => offset_19(D)
# DEBUG INLINE_ENTRY FlexCAN_SetTDCOffset
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
tmp_39 ={v} pBase_14->FDCTRL;
# DEBUG tmp => tmp_39
# DEBUG BEGIN_STMT
tmp_40 = tmp_39 & 4294926591;
# DEBUG tmp => tmp_40
# DEBUG BEGIN_STMT
if (enable_18(D) != 0)
goto <bb 14>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 14> [local count: 6644]:
# DEBUG BEGIN_STMT
tmp_41 = tmp_40 | 32768;
# DEBUG tmp => tmp_41
# DEBUG BEGIN_STMT
_42 = (long unsigned int) offset_19(D);
_43 = _42 << 8;
_44 = _43 & 7936;
tmp_45 = tmp_41 | _44;
# DEBUG tmp => tmp_45
<bb 15> [local count: 13288]:
# tmp_46 = PHI <tmp_40(13), tmp_45(14)>
# DEBUG tmp => tmp_46
# DEBUG BEGIN_STMT
pBase_14->FDCTRL ={v} tmp_46;
<bb 16> [local count: 26575]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG offset => NULL
# DEBUG tmp => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG offset => NULL
# DEBUG tmp => NULL
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16 ();
<bb 17> [local count: 107374]:
# result_13 = PHI <result_5(8), 0(16), 1(7)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_26 < 0)
goto <bb 18>; [25.50%]
else
goto <bb 20>; [74.50%]
<bb 18> [local count: 27380]:
# DEBUG BEGIN_STMT
status_24 = FlexCAN_Disable (pBase_14);
# DEBUG status => status_24
# DEBUG BEGIN_STMT
if (status_24 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 19> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_24
<bb 20> [local count: 107374]:
# result_6 = PHI <result_13(17), result_13(18), status_24(19)>
# DEBUG result => result_6
# DEBUG BEGIN_STMT
return result_6;
}
;; Function FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged, funcdef_no=108, decl_uid=4587, cgraph_uid=109, symbol_order=110)
Symbols to be put in SSA form
{ D.6791 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 18
Number of blocks to update: 17 ( 94%)
Merging blocks 3 and 15
Merging blocks 9 and 17
Removing basic block 14
Merging blocks 9 and 16
;; 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
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 10 8 }
;; 8 succs { 9 10 }
;; 9 succs { 10 }
;; 10 succs { 11 13 }
;; 11 succs { 12 13 }
;; 12 succs { 13 }
;; 13 succs { 1 }
FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (uint8 instance, uint8 value)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _20;
signed int _21;
_Bool x.0_22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_22 ={v} x;
if (x.0_22 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_21 = (signed int) _20;
# DEBUG pBase => NULL
# DEBUG disabled => _21 < 0
# DEBUG BEGIN_STMT
if (_21 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_23 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_24 = _23 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _24 != 0
# DEBUG BEGIN_STMT
if (_24 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 9> [local count: 26575]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17 ();
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG tasd => value_15(D)
# DEBUG INLINE_ENTRY FlexCAN_SetTxArbitrationStartDelay
# DEBUG BEGIN_STMT
_26 ={v} pBase_11->CTRL2;
_27 = _26 & 4278714367;
_28 = (long unsigned int) value_15(D);
_29 = _28 << 19;
_30 = _29 & 16252928;
_31 = _27 | _30;
pBase_11->CTRL2 ={v} _31;
# DEBUG base => NULL
# DEBUG tasd => NULL
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17 ();
<bb 10> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_21 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_19 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_19
# DEBUG BEGIN_STMT
if (status_19 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_19
<bb 13> [local count: 107374]:
# result_4 = PHI <result_10(10), result_10(11), status_19(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_GetBuffStatusFlag (FlexCAN_Ip_GetBuffStatusFlag, funcdef_no=109, decl_uid=4677, cgraph_uid=110, symbol_order=111)
FlexCAN_Ip_GetBuffStatusFlag (uint8 instance, uint8 msgBuffIdx)
{
volatile boolean x;
const struct FLEXCAN_Type * pBase;
boolean returnResult;
_Bool _1;
int _2;
long unsigned int _3;
unsigned char _4;
long unsigned int _13;
_Bool x.0_15;
long unsigned int _16;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG returnResult => 1
# DEBUG BEGIN_STMT
_1 = instance_7(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_15 ={v} x;
if (x.0_15 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) instance_7(D);
pBase_9 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_9
# DEBUG BEGIN_STMT
if (msgBuffIdx_10(D) == 255)
goto <bb 5>; [51.12%]
else
goto <bb 6>; [48.88%]
<bb 5> [local count: 54890]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_9
# DEBUG intFlag => 30
# DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag
# DEBUG BEGIN_STMT
_16 ={v} pBase_9->ERFSR;
_13 = _16 >> 30;
# DEBUG base => NULL
# DEBUG intFlag => NULL
returnResult_14 = (boolean) _13;
# DEBUG returnResult => returnResult_14
goto <bb 7>; [100.00%]
<bb 6> [local count: 52484]:
# DEBUG BEGIN_STMT
_3 = (long unsigned int) msgBuffIdx_10(D);
_4 = FlexCAN_GetBuffStatusFlag (pBase_9, _3);
returnResult_12 = _4 == 1;
# DEBUG returnResult => returnResult_12
<bb 7> [local count: 107374]:
# returnResult_5 = PHI <returnResult_14(5), returnResult_12(6)>
# DEBUG returnResult => returnResult_5
# DEBUG BEGIN_STMT
return returnResult_5;
}
;; Function FlexCAN_Ip_ClearBuffStatusFlag (FlexCAN_Ip_ClearBuffStatusFlag, funcdef_no=110, decl_uid=4680, cgraph_uid=111, symbol_order=112)
FlexCAN_Ip_ClearBuffStatusFlag (uint8 instance, uint8 msgBuffIdx)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
_Bool _1;
int _2;
long unsigned int _3;
_Bool x.0_10;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_5(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_10 ={v} x;
if (x.0_10 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = (int) instance_5(D);
pBase_7 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_7
# DEBUG BEGIN_STMT
if (msgBuffIdx_8(D) == 255)
goto <bb 5>; [51.12%]
else
goto <bb 6>; [48.88%]
<bb 5> [local count: 54890]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_7
# DEBUG intFlag => 30
# DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag
# DEBUG BEGIN_STMT
pBase_7->ERFSR ={v} 1073741824;
goto <bb 7>; [100.00%]
<bb 6> [local count: 52484]:
# DEBUG BEGIN_STMT
_3 = (long unsigned int) msgBuffIdx_8(D);
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_7, _3);
<bb 7> [local count: 107374]:
# DEBUG base => NULL
# DEBUG intFlag => NULL
return;
}
;; Function FlexCAN_Ip_EnableInterrupts_Privileged (FlexCAN_Ip_EnableInterrupts_Privileged, funcdef_no=111, decl_uid=4599, cgraph_uid=112, symbol_order=113)
FlexCAN_Ip_EnableInterrupts_Privileged (uint8 u8Instance)
{
volatile boolean x;
struct Flexcan_Ip_StateType * state;
Flexcan_Ip_StatusType result;
struct FLEXCAN_Type * pBase;
int _1;
_Bool _2;
_Bool _3;
_Bool _4;
long unsigned int _15;
signed int _16;
_Bool x.0_17;
long unsigned int _18;
signed int _19;
long unsigned int _20;
long unsigned int _21;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_8(D);
pBase_10 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_10
# DEBUG BEGIN_STMT
# DEBUG result => 1
# DEBUG BEGIN_STMT
state_11 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_11
# DEBUG BEGIN_STMT
_2 = u8Instance_8(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_17 ={v} x;
if (x.0_17 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_10
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_15 ={v} MEM[(const struct FLEXCAN_Type *)pBase_10].MCR;
_16 = (signed int) _15;
# DEBUG pBase => NULL
if (_16 >= 0)
goto <bb 5>; [41.48%]
else
goto <bb 10>; [58.52%]
<bb 5> [local count: 44539]:
# DEBUG BEGIN_STMT
FlexCAN_EnableInterrupts (pBase_10, u8Instance_8(D));
# DEBUG BEGIN_STMT
_3 = state_11->enhancedFifoOutput.isPolling;
if (_3 != 0)
goto <bb 9>; [67.00%]
else
goto <bb 6>; [33.00%]
<bb 6> [local count: 14698]:
_4 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_10);
if (_4 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 7> [local count: 7349]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_10
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_10].ERFCR;
_19 = (signed int) _18;
# DEBUG base => NULL
if (_19 < 0)
goto <bb 8>; [41.00%]
else
goto <bb 9>; [59.00%]
<bb 8> [local count: 3013]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_10
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_20 ={v} pBase_10->ERFIER;
_21 = _20 | 4026531840;
pBase_10->ERFIER ={v} _21;
<bb 9> [local count: 44539]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
state_11->isIntActive = 1;
# DEBUG BEGIN_STMT
# DEBUG result => 0
<bb 10> [local count: 107374]:
# result_5 = PHI <1(4), 0(9)>
# DEBUG result => result_5
# DEBUG BEGIN_STMT
return result_5;
}
;; Function FlexCAN_Ip_DisableInterrupts_Privileged (FlexCAN_Ip_DisableInterrupts_Privileged, funcdef_no=112, decl_uid=4601, cgraph_uid=113, symbol_order=114)
FlexCAN_Ip_DisableInterrupts_Privileged (uint8 u8Instance)
{
volatile boolean x;
struct Flexcan_Ip_StateType * state;
Flexcan_Ip_StatusType result;
struct FLEXCAN_Type * pBase;
int _1;
_Bool _2;
_Bool _3;
long unsigned int _14;
signed int _15;
_Bool x.0_16;
long unsigned int _17;
signed int _18;
long unsigned int _19;
long unsigned int _20;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_7(D);
pBase_9 = g_Flexcan_Ip_aBase[_1];
# DEBUG pBase => pBase_9
# DEBUG BEGIN_STMT
# DEBUG result => 1
# DEBUG BEGIN_STMT
state_10 = g_flexcan_Ip_StatePtr[_1];
# DEBUG state => state_10
# DEBUG BEGIN_STMT
_2 = u8Instance_7(D) <= 5;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_16 ={v} x;
if (x.0_16 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 11> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_9
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_14 ={v} MEM[(const struct FLEXCAN_Type *)pBase_9].MCR;
_15 = (signed int) _14;
# DEBUG pBase => NULL
if (_15 >= 0)
goto <bb 5>; [41.48%]
else
goto <bb 9>; [58.52%]
<bb 5> [local count: 44539]:
# DEBUG BEGIN_STMT
FlexCAN_DisableInterrupts (pBase_9);
# DEBUG BEGIN_STMT
_3 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_9);
if (_3 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 6> [local count: 22269]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_9
# DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled
# DEBUG BEGIN_STMT
_17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_9].ERFCR;
_18 = (signed int) _17;
# DEBUG base => NULL
if (_18 < 0)
goto <bb 7>; [41.00%]
else
goto <bb 8>; [59.00%]
<bb 7> [local count: 9130]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_9
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_19 ={v} pBase_9->ERFIER;
_20 = _19 & 268435455;
pBase_9->ERFIER ={v} _20;
<bb 8> [local count: 44539]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
state_10->isIntActive = 0;
# DEBUG BEGIN_STMT
# DEBUG result => 0
<bb 9> [local count: 107374]:
# result_4 = PHI <1(4), 0(8)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_SetErrorInt_Privileged (FlexCAN_Ip_SetErrorInt_Privileged, funcdef_no=113, decl_uid=4605, cgraph_uid=114, symbol_order=115)
FlexCAN_Ip_SetErrorInt_Privileged (uint8 u8Instance, Flexcan_Ip_ErrorIntType type, boolean enable)
{
volatile boolean x;
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _23;
signed int _24;
_Bool x.0_25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
_Bool x.0_30;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u8Instance_7(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_25 ={v} x;
if (x.0_25 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_7(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_23 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_24 = (signed int) _23;
# DEBUG pBase => NULL
# DEBUG disabled => _24 < 0
# DEBUG BEGIN_STMT
if (_24 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
# DEBUG BEGIN_STMT
if (result_13 == 0)
goto <bb 6>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 6> [local count: 93684]:
# result_9 = PHI <result_13(5), 0(4)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
switch (type_14(D)) <default: <L14> [16.67%], case 0: <L22> [16.67%], case 1: <L23> [16.67%], case 2: <L4> [16.67%], case 3: <L5> [16.67%], case 4: <L3> [16.67%]>
<bb 7> [local count: 15617]:
<L3>:
# DEBUG BEGIN_STMT
FlexCAN_SetErrIntCmd (pBase_11, 32768, enable_15(D));
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 8> [local count: 15617]:
<L4>:
# DEBUG BEGIN_STMT
FlexCAN_SetErrIntCmd (pBase_11, 16384, enable_15(D));
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 9> [local count: 15617]:
<L5>:
# DEBUG BEGIN_STMT
FlexCAN_SetErrIntCmd (pBase_11, 16385, enable_15(D));
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 10> [local count: 15617]:
<L22>:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_27 = _26 & 16777216;
# DEBUG base => NULL
if (_27 == 0)
goto <bb 16>; [67.00%]
else
goto <bb 11>; [33.00%]
<bb 11> [local count: 5154]:
# DEBUG BEGIN_STMT
FlexCAN_SetErrIntCmd (pBase_11, 1024, enable_15(D));
goto <bb 16>; [100.00%]
<bb 12> [local count: 15617]:
<L23>:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_29 = _28 & 16777216;
# DEBUG base => NULL
if (_29 == 0)
goto <bb 16>; [67.00%]
else
goto <bb 13>; [33.00%]
<bb 13> [local count: 5154]:
# DEBUG BEGIN_STMT
FlexCAN_SetErrIntCmd (pBase_11, 2048, enable_15(D));
goto <bb 16>; [100.00%]
<bb 14> [local count: 15617]:
<L14>:
# DEBUG BEGIN_STMT
x ={v} 0;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_30 ={v} x;
if (x.0_30 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 7809]:
<bb 15> [local count: 78085593]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 22> [local count: 78085593]:
goto <bb 15>; [100.00%]
<bb 16> [local count: 99584]:
# result_3 = PHI <result_13(5), result_9(7), result_9(8), result_9(9), result_9(11), result_9(13), result_9(14), 1(10), 1(12)>
# DEBUG x => NULL
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (_24 < 0)
goto <bb 17>; [25.50%]
else
goto <bb 19>; [74.50%]
<bb 17> [local count: 25394]:
# DEBUG BEGIN_STMT
status_22 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_22
# DEBUG BEGIN_STMT
if (status_22 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 12697]:
# DEBUG BEGIN_STMT
# DEBUG result => status_22
<bb 19> [local count: 99584]:
# result_4 = PHI <result_3(16), result_3(17), status_22(18)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_AbortTransfer (FlexCAN_Ip_AbortTransfer, funcdef_no=114, decl_uid=4683, cgraph_uid=115, symbol_order=116)
Symbols to be put in SSA form
{ D.6797 D.7521 D.7531 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 38
Number of blocks to update: 37 ( 97%)
Merging blocks 3 and 16
Merging blocks 5 and 15
Removing basic block 9
Removing basic block 11
Removing basic block 13
Removing basic block 14
Removing basic block 20
Merging blocks 27 and 17
Removing basic block 28
Merging blocks 30 and 37
Merging blocks 30 and 36
;; 4 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
;;
;; Loop 3
;; header 11, latch 10
;; depth 1, outer 0
;; nodes: 11 10
;;
;; Loop 1
;; header 5, latch 5
;; depth 1, outer 0
;; nodes: 5
;;
;; Loop 2
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 6 5 }
;; 5 succs { 5 }
;; 6 succs { 7 26 }
;; 7 succs { 26 8 }
;; 8 succs { 9 18 }
;; 9 succs { 11 }
;; 10 succs { 12 11 }
;; 11 succs { 10 12 }
;; 12 succs { 13 17 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 16 17 }
;; 16 succs { 17 }
;; 17 succs { 18 }
;; 18 succs { 19 26 }
;; 19 succs { 20 24 }
;; 20 succs { 21 22 }
;; 21 succs { 22 }
;; 22 succs { 23 25 }
;; 23 succs { 25 }
;; 24 succs { 25 }
;; 25 succs { 26 }
;; 26 succs { 1 }
FlexCAN_Ip_AbortTransfer (uint8 u8Instance, uint8 mb_idx)
{
uint32 D.7531;
struct FLEXCAN_Type * pBase;
struct Flexcan_Ip_StateType * state;
uint32 val1;
uint32 val2;
uint32 flexcan_mb_config;
volatile uint32 * flexcan_mb;
struct FLEXCAN_Type * pBase;
struct Flexcan_Ip_StateType * state;
Flexcan_Ip_StatusType result;
uint32 timeStart;
uint32 timeElapsed;
uint32 flexcan_mb_config;
uint32 uS2Ticks;
volatile uint32 * flexcan_mb;
Flexcan_Ip_StatusType D.7521;
volatile boolean x;
volatile boolean x;
Flexcan_Ip_StatusType result;
const struct Flexcan_Ip_StateType * state;
struct FLEXCAN_Type * pBase;
_Bool _1;
unsigned char _2;
_Bool _3;
int _4;
int _5;
<unnamed type> _6;
long unsigned int _7;
_Bool _8;
<unnamed type> _9;
<unnamed type> _10;
_Bool x.0_24;
_Bool x.0_25;
int _28;
long unsigned int _31;
long unsigned int _37;
long unsigned int _38;
unsigned char _41;
long unsigned int _44;
long unsigned int _45;
int _46;
int _49;
int _52;
_Bool _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _58;
_Bool _63;
long unsigned int _64;
long unsigned int _69;
long unsigned int _70;
long unsigned int _71;
long unsigned int _72;
long unsigned int _73;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = u8Instance_15(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_25 ={v} x;
if (x.0_25 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = mb_idx_17(D) + 160;
_3 = _2 > 158;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_24 ={v} x;
if (x.0_24 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = (int) u8Instance_15(D);
pBase_18 = g_Flexcan_Ip_aBase[_4];
# DEBUG pBase => pBase_18
# DEBUG BEGIN_STMT
state_19 = g_flexcan_Ip_StatePtr[_4];
# DEBUG state => state_19
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
if (mb_idx_17(D) <= 95)
goto <bb 7>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
_5 = (int) mb_idx_17(D);
_6 ={v} state_19->mbs[_5].state;
if (_6 == 0)
goto <bb 26>; [52.23%]
else
goto <bb 8>; [47.77%]
<bb 8> [local count: 12823]:
# DEBUG BEGIN_STMT
_7 = (long unsigned int) mb_idx_17(D);
_8 = state_19->isIntActive;
FLEXCAN_ClearMsgBuffIntCmd (pBase_18, u8Instance_15(D), _7, _8);
# DEBUG BEGIN_STMT
_9 ={v} state_19->mbs[_5].state;
if (_9 == 2)
goto <bb 9>; [20.24%]
else
goto <bb 18>; [79.76%]
<bb 9> [local count: 2595]:
# DEBUG BEGIN_STMT
# DEBUG u8Instance => u8Instance_15(D)
# DEBUG mb_idx => mb_idx_17(D)
# DEBUG INLINE_ENTRY FlexCAN_AbortTxTransfer
# DEBUG BEGIN_STMT
_28 = (int) u8Instance_15(D);
pBase_29 = g_Flexcan_Ip_aBase[_28];
# DEBUG pBase => pBase_29
# DEBUG BEGIN_STMT
state_30 = g_flexcan_Ip_StatePtr[_28];
# DEBUG state => state_30
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG uS2Ticks => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb => 0B
# DEBUG BEGIN_STMT
_31 = (long unsigned int) mb_idx_17(D);
flexcan_mb_32 = FlexCAN_GetMsgBuffRegion (pBase_29, _31);
# DEBUG flexcan_mb => flexcan_mb_32
# DEBUG BEGIN_STMT
flexcan_mb_config_33 ={v} *flexcan_mb_32;
# DEBUG flexcan_mb_config => flexcan_mb_config_33
# DEBUG BEGIN_STMT
flexcan_mb_config_34 = flexcan_mb_config_33 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_34
# DEBUG BEGIN_STMT
flexcan_mb_config_35 = flexcan_mb_config_34 | 150994944;
# DEBUG flexcan_mb_config => flexcan_mb_config_35
# DEBUG BEGIN_STMT
*flexcan_mb_32 ={v} flexcan_mb_config_35;
# DEBUG BEGIN_STMT
uS2Ticks_36 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_36
# DEBUG BEGIN_STMT
_37 = OsIf_GetCounter (0);
timeStart = _37;
# DEBUG BEGIN_STMT
goto <bb 11>; [100.00%]
<bb 10> [local count: 22927]:
# DEBUG BEGIN_STMT
_38 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_40 = _38 + timeElapsed_39;
# DEBUG timeElapsed => timeElapsed_40
# DEBUG BEGIN_STMT
if (uS2Ticks_36 <= timeElapsed_40)
goto <bb 12>; [5.50%]
else
goto <bb 11>; [94.50%]
<bb 11> [local count: 24262]:
# timeElapsed_39 = PHI <0(9), timeElapsed_40(10)>
# DEBUG timeElapsed => timeElapsed_39
# DEBUG BEGIN_STMT
_41 = FlexCAN_GetBuffStatusFlag (pBase_29, _31);
if (_41 == 0)
goto <bb 10>; [94.50%]
else
goto <bb 12>; [5.50%]
<bb 12> [local count: 2595]:
# result_42 = PHI <3(10), 0(11)>
# DEBUG result => result_42
# DEBUG BEGIN_STMT
if (result_42 != 3)
goto <bb 13>; [66.00%]
else
goto <bb 17>; [34.00%]
<bb 13> [local count: 1713]:
# DEBUG BEGIN_STMT
flexcan_mb_config_43 ={v} *flexcan_mb_32;
# DEBUG flexcan_mb_config => flexcan_mb_config_43
# DEBUG BEGIN_STMT
_44 = flexcan_mb_config_43 >> 24;
_45 = _44 & 15;
if (_45 == 8)
goto <bb 14>; [34.00%]
else
goto <bb 15>; [66.00%]
<bb 14> [local count: 582]:
# DEBUG BEGIN_STMT
# DEBUG result => 5
<bb 15> [local count: 1713]:
# result_48 = PHI <result_42(13), 5(14)>
# DEBUG result => result_48
# DEBUG BEGIN_STMT
if (_45 == 9)
goto <bb 16>; [34.00%]
else
goto <bb 17>; [66.00%]
<bb 16> [local count: 582]:
# DEBUG BEGIN_STMT
# DEBUG result => 0
<bb 17> [local count: 2595]:
# result_47 = PHI <result_42(12), result_48(15), 0(16)>
# DEBUG result => result_47
# DEBUG BEGIN_STMT
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_29, _31);
# DEBUG BEGIN_STMT
_46 = (int) mb_idx_17(D);
state_30->mbs[_46].state ={v} 0;
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
_89 = result_47;
# DEBUG u8Instance => NULL
# DEBUG mb_idx => NULL
# DEBUG flexcan_mb => NULL
# DEBUG uS2Ticks => NULL
# DEBUG flexcan_mb_config => NULL
# DEBUG timeElapsed => NULL
# DEBUG timeStart => NULL
# DEBUG result => NULL
# DEBUG state => NULL
# DEBUG pBase => NULL
result_22 = _89;
# DEBUG result => result_22
<bb 18> [local count: 12823]:
# result_11 = PHI <0(8), result_22(17)>
# DEBUG result => result_11
# DEBUG BEGIN_STMT
_10 ={v} state_19->mbs[_5].state;
if (_10 == 1)
goto <bb 19>; [20.24%]
else
goto <bb 26>; [79.76%]
<bb 19> [local count: 2595]:
# DEBUG BEGIN_STMT
# DEBUG u8Instance => u8Instance_15(D)
# DEBUG mb_idx => mb_idx_17(D)
# DEBUG INLINE_ENTRY FlexCAN_AbortRxTransfer
# DEBUG BEGIN_STMT
_49 = (int) u8Instance_15(D);
pBase_50 = g_Flexcan_Ip_aBase[_49];
# DEBUG pBase => pBase_50
# DEBUG BEGIN_STMT
state_51 = g_flexcan_Ip_StatePtr[_49];
# DEBUG state => state_51
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb => 0B
# DEBUG BEGIN_STMT
_52 = (int) mb_idx_17(D);
state_51->mbs[_52].state ={v} 0;
# DEBUG BEGIN_STMT
_53 = state_51->bIsLegacyFifoEn;
if (_53 != 0)
goto <bb 20>; [67.00%]
else
goto <bb 24>; [33.00%]
<bb 20> [local count: 1739]:
# DEBUG BEGIN_STMT
_54 ={v} pBase_50->CTRL2;
_55 = _54 >> 24;
val1_56 = _55 & 15;
# DEBUG val1 => val1_56
# DEBUG BEGIN_STMT
# DEBUG x => val1_56
# DEBUG INLINE_ENTRY RxFifoOcuppiedLastMsgBuff
# DEBUG BEGIN_STMT
_70 = val1_56 + 1;
_71 = _70 * 8;
_72 = _71 >> 2;
_73 = _72 + 5;
_94 = _73;
# DEBUG x => NULL
val2_57 = _94;
# DEBUG val2 => val2_57
# DEBUG BEGIN_STMT
_58 = (long unsigned int) mb_idx_17(D);
if (val2_57 < _58)
goto <bb 21>; [33.00%]
else
goto <bb 22>; [67.00%]
<bb 21> [local count: 574]:
# DEBUG BEGIN_STMT
flexcan_mb_59 = FlexCAN_GetMsgBuffRegion (pBase_50, _58);
# DEBUG flexcan_mb => flexcan_mb_59
# DEBUG BEGIN_STMT
flexcan_mb_config_60 ={v} *flexcan_mb_59;
# DEBUG flexcan_mb_config => flexcan_mb_config_60
# DEBUG BEGIN_STMT
flexcan_mb_config_61 = flexcan_mb_config_60 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_61
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_61
# DEBUG BEGIN_STMT
*flexcan_mb_59 ={v} flexcan_mb_config_61;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_61
# DEBUG BEGIN_STMT
flexcan_mb_config_62 = flexcan_mb_config_61 | 67108864;
# DEBUG flexcan_mb_config => flexcan_mb_config_62
# DEBUG BEGIN_STMT
*flexcan_mb_59 ={v} flexcan_mb_config_62;
<bb 22> [local count: 1739]:
# DEBUG BEGIN_STMT
if (mb_idx_17(D) == 0)
goto <bb 23>; [33.00%]
else
goto <bb 25>; [67.00%]
<bb 23> [local count: 574]:
# DEBUG BEGIN_STMT
_63 = state_51->isIntActive;
FLEXCAN_ClearMsgBuffIntCmd (pBase_50, u8Instance_15(D), 5, _63);
goto <bb 25>; [100.00%]
<bb 24> [local count: 856]:
# DEBUG BEGIN_STMT
_64 = (long unsigned int) mb_idx_17(D);
flexcan_mb_65 = FlexCAN_GetMsgBuffRegion (pBase_50, _64);
# DEBUG flexcan_mb => flexcan_mb_65
# DEBUG BEGIN_STMT
flexcan_mb_config_66 ={v} *flexcan_mb_65;
# DEBUG flexcan_mb_config => flexcan_mb_config_66
# DEBUG BEGIN_STMT
flexcan_mb_config_67 = flexcan_mb_config_66 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_67
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_67
# DEBUG BEGIN_STMT
*flexcan_mb_65 ={v} flexcan_mb_config_67;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_67
# DEBUG BEGIN_STMT
flexcan_mb_config_68 = flexcan_mb_config_67 | 67108864;
# DEBUG flexcan_mb_config => flexcan_mb_config_68
# DEBUG BEGIN_STMT
*flexcan_mb_65 ={v} flexcan_mb_config_68;
<bb 25> [local count: 2595]:
# DEBUG BEGIN_STMT
_69 = (long unsigned int) mb_idx_17(D);
FlexCAN_ClearMsgBuffIntStatusFlag (pBase_50, _69);
<bb 26> [local count: 53687]:
# result_12 = PHI <0(6), 5(7), result_11(18), result_11(25)>
# DEBUG u8Instance => NULL
# DEBUG mb_idx => NULL
# DEBUG flexcan_mb => NULL
# DEBUG flexcan_mb_config => NULL
# DEBUG val2 => NULL
# DEBUG val1 => NULL
# DEBUG state => NULL
# DEBUG pBase => NULL
# DEBUG result => result_12
# DEBUG BEGIN_STMT
return result_12;
}
;; Function FlexCAN_Ip_SetRxMb14Mask_Privileged (FlexCAN_Ip_SetRxMb14Mask_Privileged, funcdef_no=115, decl_uid=4566, cgraph_uid=116, symbol_order=117)
FlexCAN_Ip_SetRxMb14Mask_Privileged (uint8 instance, uint32 mask)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _18;
signed int _19;
_Bool x.0_20;
long unsigned int _21;
long unsigned int _22;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_20 ={v} x;
if (x.0_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG freeze => 0
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_19 = (signed int) _18;
# DEBUG pBase => NULL
# DEBUG disabled => _19 < 0
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_22 = _21 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _22 != 0
# DEBUG BEGIN_STMT
if (_22 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 40265]:
# DEBUG BEGIN_STMT
pBase_11->RX14MASK ={v} mask_14(D);
<bb 10> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_17 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_17
# DEBUG BEGIN_STMT
if (status_17 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_17
<bb 13> [local count: 107374]:
# result_4 = PHI <result_10(10), result_10(11), status_17(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_SetRxMb15Mask_Privileged (FlexCAN_Ip_SetRxMb15Mask_Privileged, funcdef_no=116, decl_uid=4569, cgraph_uid=117, symbol_order=118)
FlexCAN_Ip_SetRxMb15Mask_Privileged (uint8 instance, uint32 mask)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _18;
signed int _19;
_Bool x.0_20;
long unsigned int _21;
long unsigned int _22;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_20 ={v} x;
if (x.0_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 15> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG freeze => 0
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_19 = (signed int) _18;
# DEBUG pBase => NULL
# DEBUG disabled => _19 < 0
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_22 = _21 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _22 != 0
# DEBUG BEGIN_STMT
if (_22 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 40265]:
# DEBUG BEGIN_STMT
pBase_11->RX15MASK ={v} mask_14(D);
<bb 10> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(9), 1(7)>
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 11>; [25.50%]
else
goto <bb 13>; [74.50%]
<bb 11> [local count: 27380]:
# DEBUG BEGIN_STMT
status_17 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_17
# DEBUG BEGIN_STMT
if (status_17 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_17
<bb 13> [local count: 107374]:
# result_4 = PHI <result_10(10), result_10(11), status_17(12)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_SetListenOnlyMode_Privileged (FlexCAN_Ip_SetListenOnlyMode_Privileged, funcdef_no=117, decl_uid=4608, cgraph_uid=118, symbol_order=119)
Symbols to be put in SSA form
{ D.6800 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 20
Number of blocks to update: 19 ( 95%)
Merging blocks 3 and 15
Removing basic block 9
Removing basic block 14
Removing basic block 16
;; 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
;;
;; Loop 1
;; header 3, latch 3
;; depth 1, outer 0
;; nodes: 3
;; 2 succs { 4 3 }
;; 3 succs { 3 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 12 8 }
;; 8 succs { 9 12 }
;; 9 succs { 11 10 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 13 15 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 1 }
FlexCAN_Ip_SetListenOnlyMode_Privileged (uint8 instance, const boolean enable)
{
volatile boolean x;
struct FLEXCAN_Type * pBase;
Flexcan_Ip_StatusType status;
Flexcan_Ip_StatusType result;
_Bool _1;
int _2;
long unsigned int _18;
signed int _19;
_Bool x.0_20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _24;
long unsigned int _25;
long unsigned int iftmp.7_26;
long unsigned int _27;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 5;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.0_20 ={v} x;
if (x.0_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG result => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_8(D);
pBase_11 = g_Flexcan_Ip_aBase[_2];
# DEBUG pBase => pBase_11
# DEBUG BEGIN_STMT
# DEBUG pBase => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsEnabled
# DEBUG BEGIN_STMT
_18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_19 = (signed int) _18;
# DEBUG pBase => NULL
# DEBUG disabled => _19 < 0
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 5>; [25.50%]
else
goto <bb 6>; [74.50%]
<bb 5> [local count: 27380]:
# DEBUG BEGIN_STMT
result_13 = FlexCAN_Enable (pBase_11);
# DEBUG result => result_13
<bb 6> [local count: 107374]:
# result_3 = PHI <0(4), result_13(5)>
# DEBUG result => result_3
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode
# DEBUG BEGIN_STMT
_21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR;
_22 = _21 & 16777216;
# DEBUG base => NULL
# DEBUG freeze => _22 != 0
# DEBUG BEGIN_STMT
if (_22 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
if (result_3 == 0)
goto <bb 12>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 80531]:
# DEBUG result => result_3
# DEBUG BEGIN_STMT
if (result_3 == 0)
goto <bb 9>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 9> [local count: 26575]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_11
# DEBUG enableListenOnly => enable_14(D)
# DEBUG INLINE_ENTRY FlexCAN_SetListenOnlyMode
# DEBUG BEGIN_STMT
_24 ={v} pBase_11->CTRL1;
_25 = _24 & 4294967287;
if (enable_14(D) != 0)
goto <bb 11>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 13288]:
<bb 11> [local count: 26575]:
# iftmp.7_26 = PHI <8(9), 0(10)>
_27 = _25 | iftmp.7_26;
pBase_11->CTRL1 ={v} _27;
<bb 12> [local count: 107374]:
# result_10 = PHI <result_3(8), 0(11), 1(7)>
# DEBUG base => NULL
# DEBUG enableListenOnly => NULL
# DEBUG result => NULL
# DEBUG BEGIN_STMT
if (_19 < 0)
goto <bb 13>; [25.50%]
else
goto <bb 15>; [74.50%]
<bb 13> [local count: 27380]:
# DEBUG BEGIN_STMT
status_17 = FlexCAN_Disable (pBase_11);
# DEBUG status => status_17
# DEBUG BEGIN_STMT
if (status_17 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 14> [local count: 13690]:
# DEBUG BEGIN_STMT
# DEBUG result => status_17
<bb 15> [local count: 107374]:
# result_4 = PHI <result_10(12), result_10(13), status_17(14)>
# DEBUG result => result_4
# DEBUG BEGIN_STMT
return result_4;
}
;; Function FlexCAN_Ip_GetListenOnlyMode (FlexCAN_Ip_GetListenOnlyMode, funcdef_no=118, decl_uid=4685, cgraph_uid=119, symbol_order=120)
FlexCAN_Ip_GetListenOnlyMode (uint8 instance)
{
const struct FLEXCAN_Type * base;
int _1;
long unsigned int _5;
long unsigned int _6;
_Bool _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = (int) instance_2(D);
base_4 = g_Flexcan_Ip_aBase[_1];
# DEBUG base => base_4
# DEBUG BEGIN_STMT
# DEBUG base => base_4
# DEBUG INLINE_ENTRY FlexCAN_IsListenOnlyModeEnabled
# DEBUG BEGIN_STMT
_5 ={v} base_4->CTRL1;
_6 = _5 & 8;
_7 = _6 != 0;
# DEBUG base => NULL
return _7;
}