mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 09:53:59 +09:00
16597 lines
534 KiB
Plaintext
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;
|
|
|
|
}
|
|
|
|
|