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

7482 lines
235 KiB
Plaintext

IPA function summary for FlexCAN_ComputePayloadSize.part.0/125 inlinable
global time: 5.500000
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:1.000000, time:0.500000
size:3.000000, time:2.000000, executed if:(not inlined)
size:3.000000, time:3.000000, nonconst if:(op0 changed)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_ConfigCtrlOptions/88 inlinable
global time: 42.750000
self size: 67
global size: 67
min size: 0
self stack: 0
global stack: 0
size:29.500000, time:14.500000
size:14.500000, time:7.750000, executed if:(not inlined)
size:18.000000, time:18.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined)
size:4.000000, time:2.000000, nonconst if:(op0[ref offset: 416] changed)
calls:
IPA function summary for FlexCAN_SetEnhancedRxFifoFilter/87 inlinable
global time: 228.969579
self size: 102
global size: 102
min size: 0
self stack: 0
global stack: 0
size:88.000000, time:212.134999
size:3.000000, time:0.466168, executed if:(not inlined)
size:1.000000, time:1.000000, executed if:(not inlined), nonconst if:(op0[ref offset: 24672] changed) && (not inlined)
size:10.000000, time:15.368412, nonconst if:(op0[ref offset: 24672] changed)
loop iterations:(op0[ref offset: 24672] changed)
calls:
IPA function summary for FlexCAN_EnableEnhancedRxFifo/86 inlinable
global time: 26.250000
self size: 50
global size: 50
min size: 6
self stack: 0
global stack: 0
size:15.500000, time:2.187500
size:8.500000, time:2.687500, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
size:6.000000, time:3.000000, nonconst if:(op1 changed)
size:4.000000, time:1.250000, nonconst if:(op1 changed || op2 changed)
size:2.000000, time:0.500000, executed if:(op1 == 0), nonconst if:(op2 changed) && (op1 == 0)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:1.750000, nonconst if:(op0[ref offset: 0] changed)
size:0.500000, time:0.062500, executed if:(not inlined), nonconst if:(op0[ref offset: 24672] changed) && (not inlined)
size:1.500000, time:0.187500, nonconst if:(op0[ref offset: 24672] changed)
size:2.000000, time:0.250000, nonconst if:(op2 changed)
size:1.000000, time:0.125000, nonconst if:(op3 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/85 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 3 stack: 0
IPA function summary for FlexCAN_IsEnhancedRxFifoAvailable/85 inlinable
global time: 7.687204
self size: 7
global size: 7
min size: 0
self stack: 0
global stack: 0
size:2.000000, time:3.791469
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:1.895735, nonconst if:(op0 changed)
calls:
IPA function summary for FlexCAN_IsMbOutOfRange/84 inlinable
global time: 7.250000
self size: 16
global size: 16
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:(op3 changed || op1 changed)
size:2.000000, time:1.000000, nonconst if:(op2 changed)
size:0.500000, time:0.125000, executed if:(op2 != 0) && (not inlined), nonconst if:(op0[ref offset: 416] changed) && (op2 != 0) && (not inlined)
size:6.500000, time:1.625000, executed if:(op2 != 0), nonconst if:(op0[ref offset: 416] changed) && (op2 != 0)
size:2.000000, time:0.500000, executed if:(op2 != 0), nonconst if:(op1 changed || op0[ref offset: 416] changed) && (op2 != 0)
calls:
IPA function summary for FlexCAN_GetRxFifoMask/83 inlinable
global time: 9.607500
self size: 36
global size: 36
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:8.000000, time:4.000000, nonconst if:(op1 changed)
size:2.000000, time:0.500000, executed if:(op1 == 2), nonconst if:(op0 changed) && (op1 == 2)
size:1.000000, time:0.102500, executed if:(op0 <= 1) && (op1 == 2), nonconst if:(op2 changed) && (op0 <= 1) && (op1 == 2)
size:1.000000, time:0.250000, executed if:(op1 == 1), nonconst if:(op2 changed) && (op1 == 1)
size:2.000000, time:0.500000, executed if:(op1 == 1), nonconst if:(op0 changed) && (op1 == 1)
size:2.000000, time:0.250000, executed if:(op0 != 0) && (op1 == 1), nonconst if:(op0 changed) && (op0 != 0) && (op1 == 1)
size:3.000000, time:0.127500, executed if:(op0 == 1) && (op0 != 0) && (op1 == 1), nonconst if:(op2 changed) && (op0 == 1) && (op0 != 0) && (op1 == 1)
size:3.000000, time:0.375000, executed if:(op0 == 0) && (op1 == 1), nonconst if:(op2 changed) && (op0 == 0) && (op1 == 1)
size:1.000000, time:0.250000, executed if:(op1 == 0), nonconst if:(op2 changed) && (op1 == 0)
size:2.000000, time:0.500000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
size:2.000000, time:0.250000, executed if:(op0 != 0) && (op1 == 0), nonconst if:(op0 changed) && (op0 != 0) && (op1 == 0)
size:3.000000, time:0.127500, executed if:(op0 == 1) && (op0 != 0) && (op1 == 0), nonconst if:(op2 changed) && (op0 == 1) && (op0 != 0) && (op1 == 0)
size:3.000000, time:0.375000, executed if:(op0 == 0) && (op1 == 0), nonconst if:(op2 changed) && (op0 == 0) && (op1 == 0)
calls:
IPA function summary for FlexCAN_AbortTxMsgBuff/82 inlinable
global time: 19.000000
self size: 11
global size: 11
min size: 8
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetBusOffStatusFlag/81 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_GetErrStatusFlag/80 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_ReadEnhancedRxFifo/79 inlinable
global time: 108.568159
self size: 60
global size: 60
min size: 6
self stack: 0
global stack: 0
size:48.000000, time:91.318159
size:6.000000, time:2.250000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_ComputePayloadSize/53 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for FlexCAN_ReadRxFifo/78 inlinable
global time: 106.613612
self size: 50
global size: 50
min size: 6
self stack: 0
global stack: 0
size:38.500000, time:90.113612
size:6.500000, time:2.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_ComputePayloadSize/53 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for FlexCAN_SetRxFifoFilter/77 inlinable
global time: 121.409062
self size: 226
global size: 226
min size: 0
self stack: 0
global stack: 0
size:6.500000, time:5.250000
size:3.500000, time:1.250000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:2.000000, time:0.599996, executed if:(op2 == 0B), nonconst if:(op1 changed) && (op2 == 0B)
size:10.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.100001, executed if:(op1 == 3) && (not inlined)
size:2.000000, time:0.200002, executed if:(op1 == 3)
size:1.000000, time:0.100001, executed if:(op1 == 2) && (not inlined)
size:96.000000, time:50.054483, executed if:(op1 == 2)
size:1.000000, time:0.100001, executed if:(op1 == 1) && (not inlined)
size:61.000000, time:33.468154, executed if:(op1 == 1)
size:1.000000, time:0.100001, executed if:(op1 == 0) && (not inlined)
size:30.000000, time:17.186349, executed if:(op1 == 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 3)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 3)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 2)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 2)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 1)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 1)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 0)
IPA function summary for FlexCAN_SetOperationMode/76 inlinable
global time: 25.500000
self size: 35
global size: 35
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:8.000000, time:4.000000, nonconst if:(op1 changed)
size:3.000000, time:0.750000, executed if:(op1 == 2) && (not inlined)
size:6.000000, time:1.500000, executed if:(op1 == 2)
size:1.000000, time:0.250000, executed if:(op1 == 1) && (not inlined)
size:2.000000, time:0.500000, executed if:(op1 == 1)
size:2.000000, time:0.500000, executed if:(op1 == 0) && (not inlined)
size:4.000000, time:1.000000, executed if:(op1 == 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 2)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 2)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 1)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 1)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 0)
IPA function summary for FlexCAN_SetMaxMsgBuffNum/75 inlinable
global time: 90.423529
self size: 58
global size: 58
min size: 42
self stack: 0
global stack: 0
size:25.500000, time:42.050645
size:4.500000, time:1.232878, executed if:(not inlined)
size:2.000000, time:1.500000, nonconst if:(op0 changed)
size:3.000000, time:2.155252, nonconst if:(op1 changed)
size:2.000000, time:0.649999, nonconst if:(op0 changed || op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 function body not available
loop depth: 0 freq:0.16 size: 1 time: 10
FlexCAN_GetMbPayloadSize/65 function not considered for inlining
loop depth: 1 freq:0.63 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 1 freq:0.63 size: 4 time: 13callee size:12 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 function body not available
loop depth: 0 freq:0.16 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:0.32 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:0.50 size: 4 time: 13callee size:12 stack: 0
FlexCAN_GetMbPayloadSize/65 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 7 stack: 0
IPA function summary for FlexCAN_SetTxMsgBuff/74 inlinable
global time: 95.044582
self size: 123
global size: 123
min size: 16
self stack: 0
global stack: 0
size:59.500000, time:15.958621
size:6.500000, time:1.414998, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
size:2.000000, time:0.500000, nonconst if:(op4 changed)
size:1.500000, time:2.298867, executed if:(op4 != 0B) && (not inlined)
size:35.500000, time:51.664835, executed if:(op4 != 0B)
size:3.000000, time:0.335007, nonconst if:(op3 changed)
size:2.000000, time:0.217799, nonconst if:(op5 changed)
size:1.000000, time:0.054450, executed if:(op5 != 0)
calls:
FlexCAN_ComputePayloadSize/53 function not considered for inlining
loop depth: 0 freq:0.18 size: 3 time: 12callee size: 4 stack: 0 predicate: (op4 != 0B)
FlexCAN_GetMbPayloadSize/65 function not considered for inlining
loop depth: 0 freq:0.50 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMsgBuff/73 inlinable
global time: 164.667667
self size: 69
global size: 69
min size: 30
self stack: 0
global stack: 0
size:47.000000, time:125.999966
size:6.000000, time:4.022727, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
calls:
FlexCAN_GetMbPayloadSize/65 function not considered for inlining
loop depth: 0 freq:0.16 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMbPayloadSize/65 function not considered for inlining
loop depth: 0 freq:0.50 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_ComputePayloadSize/53 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMsgBuffTimestamp/72 inlinable
global time: 17.000000
self size: 9
global size: 9
min size: 8
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_SetRxMsgBuff/71 inlinable
global time: 32.429997
self size: 56
global size: 56
min size: 8
self stack: 0
global stack: 0
size:43.000000, time:15.844997
size:5.000000, time:1.915000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
size:3.000000, time:0.669999, nonconst if:(op3 changed)
calls:
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_EnableInterrupts/70 inlinable
global time: 22.000000
self size: 16
global size: 16
min size: 6
self stack: 0
global stack: 0
size:4.500000, time:3.000000
size:4.500000, time:3.000000, executed if:(not inlined)
size:4.000000, time:4.000000, nonconst if:(op0 changed)
array index:(op1 changed)
calls:
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FlexCAN_DisableInterrupts/69 inlinable
global time: 20.000000
self size: 13
global size: 13
min size: 6
self stack: 0
global stack: 0
size:1.500000, time:1.000000
size:4.500000, time:3.000000, executed if:(not inlined)
size:4.000000, time:4.000000, nonconst if:(op0 changed)
calls:
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FLEXCAN_ClearMsgBuffIntCmd/68 inlinable
global time: 38.730000
self size: 43
global size: 43
min size: 8
self stack: 0
global stack: 0
size:5.000000, time:1.650000
size:4.000000, time:2.330000, executed if:(not inlined)
size:12.000000, time:10.660000, nonconst if:(op2 changed)
size:0.500000, time:0.165000, executed if:(op2 <= 31) && (not inlined)
size:2.500000, time:0.825000, executed if:(op2 <= 31)
size:1.000000, time:0.330000, executed if:(op2 <= 31), nonconst if:(op2 changed) && (op2 <= 31)
size:2.000000, time:0.660000, executed if:(op2 <= 31), nonconst if:(op3 changed) && (op2 <= 31)
size:1.500000, time:0.247500, executed if:(op3 != 0) && (op2 <= 31)
size:0.500000, time:0.082500, executed if:(op3 != 0) && (op2 <= 31) && (not inlined)
size:4.000000, time:1.320000, nonconst if:(op3 changed)
size:3.000000, time:0.495000, executed if:(op3 != 0)
size:1.000000, time:0.165000, executed if:(op3 != 0) && (not inlined)
array index:(op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op2 <= 31)
IPA function summary for FlexCAN_SetMsgBuffIntCmd/67 inlinable
global time: 54.000000
self size: 70
global size: 70
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:10.000000, time:10.000000, nonconst if:(op2 changed)
size:2.000000, time:1.000000, executed if:(op2 <= 31), nonconst if:(op3 changed) && (op2 <= 31)
size:4.500000, time:1.125000, executed if:(op3 == 0) && (op2 <= 31)
size:1.000000, time:0.250000, executed if:(op3 == 0) && (op2 <= 31), nonconst if:(op2 changed) && (op3 == 0) && (op2 <= 31)
size:0.500000, time:0.125000, executed if:(op3 == 0) && (op2 <= 31) && (not inlined)
size:3.000000, time:0.750000, executed if:(op3 != 0) && (op2 <= 31)
size:2.000000, time:0.500000, executed if:(op3 != 0) && (op2 <= 31), nonconst if:(op4 changed) && (op3 != 0) && (op2 <= 31)
size:1.500000, time:0.187500, executed if:(op4 != 0) && (op3 != 0) && (op2 <= 31)
size:0.500000, time:0.062500, executed if:(op4 != 0) && (op3 != 0) && (op2 <= 31) && (not inlined)
size:4.000000, time:2.000000, nonconst if:(op3 changed)
size:9.000000, time:2.250000, executed if:(op3 == 0)
size:2.000000, time:0.500000, executed if:(op3 == 0), nonconst if:(op2 changed) && (op3 == 0)
size:1.000000, time:0.250000, executed if:(op3 == 0) && (not inlined)
size:6.000000, time:1.500000, executed if:(op3 != 0)
size:4.000000, time:1.000000, executed if:(op3 != 0), nonconst if:(op4 changed) && (op3 != 0)
size:3.000000, time:0.375000, executed if:(op4 != 0) && (op3 != 0)
size:1.000000, time:0.125000, executed if:(op4 != 0) && (op3 != 0) && (not inlined)
array index:(op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0) && (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0) && (op2 <= 31)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op2 <= 31)
IPA function summary for FlexCAN_LockRxMsgBuff/66 inlinable
global time: 16.000000
self size: 8
global size: 8
min size: 8
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 function not considered for inlining
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMbPayloadSize/65 inlinable
global time: 80.828326
self size: 15
global size: 15
min size: 8
self stack: 0
global stack: 0
size:8.000000, time:45.351931
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetPayloadSize/64 function not considered for inlining
loop depth: 1 freq:2.58 size: 4 time: 13callee size:13 stack: 0
op0 change 38.830000% of time
IPA function summary for FlexCAN_GetPayloadSize/64 inlinable
global time: 10.000000
self size: 27
global size: 27
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:8.000000, time:4.000000, nonconst if:(op1 changed)
size:0.500000, time:0.125000, executed if:(op1 == 2) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 2) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 2), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 2)
size:0.500000, time:0.125000, executed if:(op1 == 1) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 1) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 1), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 1)
size:0.500000, time:0.125000, executed if:(op1 == 0) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 0) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 0), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 0)
size:0.500000, time:0.125000, executed if:(not inlined), nonconst if:(op0[ref offset: 24576] changed) && (not inlined)
size:3.500000, time:0.875000, nonconst if:(op0[ref offset: 24576] changed)
calls:
IPA function summary for FlexCAN_SetPayloadSize/63 inlinable
global time: 18.777465
self size: 56
global size: 56
min size: 4
self stack: 0
global stack: 0
size:34.000000, time:10.536864
size:7.000000, time:0.790627, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 0] changed)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.125000, executed if:(not inlined), nonconst if:(op1[ref offset: 8] changed) && (not inlined)
size:2.500000, time:0.625000, nonconst if:(op1[ref offset: 8] changed)
size:0.500000, time:0.062501, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:2.500000, time:0.312506, nonconst if:(op1[ref offset: 16] changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
IPA function summary for FlexCAN_EnableRxFifo/62 inlinable
global time: 42.240000
self size: 27
global size: 27
min size: 10
self stack: 0
global stack: 0
size:9.000000, time:11.820000
size:6.000000, time:4.160000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 0] changed)
size:2.000000, time:0.660000, nonconst if:(op1 changed)
size:1.000000, time:3.000000, nonconst if:(op0 changed)
loop iterations:(op0 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FlexCAN_Init/61 inlinable
global time: 253.843348
self size: 62
global size: 62
min size: 40
self stack: 4
global stack: 4
size:23.000000, time:67.684443
size:15.000000, time:10.808989, executed if:(not inlined)
size:4.000000, time:1.320000, nonconst if:(op0 changed)
calls:
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_ClearRAM/52 function not considered for inlining
loop depth: 0 freq:0.33 size: 2 time: 11callee size:18 stack: 0
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_SetErrIntCmd/60 inlinable
global time: 32.799356
self size: 38
global size: 38
min size: 4
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:2.000000, time:1.000000, executed if:(op2 == 0), nonconst if:(op1 changed) && (op2 == 0)
size:2.500000, time:0.660000, executed if:(op1 != 16385) && (op2 == 0) && (not inlined)
size:7.500000, time:2.145000, executed if:(op1 != 16385) && (op2 == 0)
size:1.000000, time:0.330000, executed if:(op1 != 16385) && (op2 == 0), nonconst if:(op1 changed) && (op1 != 16385) && (op2 == 0)
size:1.000000, time:0.170000, executed if:(op1 == 16385) && (op2 == 0) && (not inlined)
size:2.000000, time:0.340000, executed if:(op1 == 16385) && (op2 == 0)
size:2.000000, time:1.000000, executed if:(op2 != 0), nonconst if:(op1 changed) && (op2 != 0)
size:2.000000, time:0.660000, executed if:(op1 != 16385) && (op2 != 0), nonconst if:(op1 changed) && (op1 != 16385) && (op2 != 0)
size:2.000000, time:0.435600, executed if:(op1 != 1024) && (op1 != 16385) && (op2 != 0), nonconst if:(op1 changed) && (op1 != 1024) && (op1 != 16385) && (op2 != 0)
size:1.000000, time:0.186252, executed if:(op1 == 1024 || op1 == 2048) && (op1 != 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.372504, executed if:(op1 == 1024 || op1 == 2048) && (op1 != 16385) && (op2 != 0)
size:1.000000, time:0.330000, executed if:(op1 != 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.660000, executed if:(op1 != 16385) && (op2 != 0)
size:1.000000, time:0.170000, executed if:(op1 == 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.340000, executed if:(op1 == 16385) && (op2 != 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
IPA function summary for FlexCAN_Disable/59 inlinable
global time: 114.678993
self size: 30
global size: 30
min size: 26
self stack: 4
global stack: 4
size:12.000000, time:28.893825
size:5.000000, time:4.853571, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:3.66 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 function body not available
loop depth: 0 freq:0.41 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 function body not available
loop depth: 0 freq:0.41 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_ExitFreezeMode/58 inlinable
global time: 232.733349
self size: 30
global size: 30
min size: 26
self stack: 4
global stack: 4
size:11.500000, time:64.219444
size:5.500000, time:8.673989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_Enable/57 inlinable
global time: 230.733349
self size: 28
global size: 28
min size: 26
self stack: 4
global stack: 4
size:10.500000, time:63.219444
size:4.500000, time:7.673989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_EnterFreezeMode/56 inlinable
global time: 237.963349
self size: 37
global size: 37
min size: 26
self stack: 4
global stack: 4
size:17.000000, time:68.539444
size:7.000000, time:9.583989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_GetMaxMbNum/55 inlinable
global time: 41.786774
self size: 10
global size: 10
min size: 0
self stack: 0
global stack: 0
size:7.000000, time:39.786774
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for FlexCAN_GetMsgBuffRegion/54 inlinable
global time: 101.695279
self size: 24
global size: 24
min size: 8
self stack: 0
global stack: 0
size:16.000000, time:65.218884
size:3.000000, time:2.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
FlexCAN_GetPayloadSize/64 function not considered for inlining
loop depth: 1 freq:2.58 size: 4 time: 13callee size:13 stack: 0
op0 change 38.830000% of time
IPA function summary for FlexCAN_ComputePayloadSize/53 inlinable
global time: 10.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
calls:
FlexCAN_ComputePayloadSize.part.0/125 function not considered for inlining
loop depth: 0 freq:0.50 size: 3 time: 12callee size: 3 stack: 0 predicate: (op0 > 8)
IPA function summary for FlexCAN_ClearRAM/52 inlinable
global time: 172.090910
self size: 37
global size: 37
min size: 14
self stack: 0
global stack: 0
size:21.000000, time:112.090910
size:7.000000, time:6.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
loop iterations:(op0 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 function not considered for inlining
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
Flattening functions:
Overall time estimate: 2853.571388 weighted by profile: 0.000000
Deciding on inlining of small functions. Starting with size 0.
Enqueueing calls in FlexCAN_ComputePayloadSize.part.0/125.
Enqueueing calls in FlexCAN_ConfigCtrlOptions/88.
Enqueueing calls in FlexCAN_SetEnhancedRxFifoFilter/87.
Enqueueing calls in FlexCAN_EnableEnhancedRxFifo/86.
Enqueueing calls in FlexCAN_IsEnhancedRxFifoAvailable/85.
Enqueueing calls in FlexCAN_IsMbOutOfRange/84.
Enqueueing calls in FlexCAN_GetRxFifoMask/83.
Enqueueing calls in FlexCAN_AbortTxMsgBuff/82.
Enqueueing calls in FlexCAN_GetBusOffStatusFlag/81.
Enqueueing calls in FlexCAN_GetErrStatusFlag/80.
Enqueueing calls in FlexCAN_ReadEnhancedRxFifo/79.
Enqueueing calls in FlexCAN_ReadRxFifo/78.
Enqueueing calls in FlexCAN_SetRxFifoFilter/77.
Enqueueing calls in FlexCAN_SetOperationMode/76.
Enqueueing calls in FlexCAN_SetMaxMsgBuffNum/75.
Enqueueing calls in FlexCAN_SetTxMsgBuff/74.
Enqueueing calls in FlexCAN_GetMsgBuff/73.
Enqueueing calls in FlexCAN_GetMsgBuffTimestamp/72.
Enqueueing calls in FlexCAN_SetRxMsgBuff/71.
Enqueueing calls in FlexCAN_EnableInterrupts/70.
Enqueueing calls in FlexCAN_DisableInterrupts/69.
Enqueueing calls in FLEXCAN_ClearMsgBuffIntCmd/68.
Enqueueing calls in FlexCAN_SetMsgBuffIntCmd/67.
Enqueueing calls in FlexCAN_LockRxMsgBuff/66.
Enqueueing calls in FlexCAN_GetMbPayloadSize/65.
Enqueueing calls in FlexCAN_GetPayloadSize/64.
Enqueueing calls in FlexCAN_SetPayloadSize/63.
Enqueueing calls in FlexCAN_EnableRxFifo/62.
Enqueueing calls in FlexCAN_Init/61.
Enqueueing calls in FlexCAN_SetErrIntCmd/60.
Enqueueing calls in FlexCAN_Disable/59.
Enqueueing calls in FlexCAN_ExitFreezeMode/58.
Enqueueing calls in FlexCAN_Enable/57.
Enqueueing calls in FlexCAN_EnterFreezeMode/56.
Enqueueing calls in FlexCAN_GetMaxMbNum/55.
Enqueueing calls in FlexCAN_GetMsgBuffRegion/54.
Enqueueing calls in FlexCAN_ComputePayloadSize/53.
Enqueueing calls in FlexCAN_ClearRAM/52.
Considering FlexCAN_ComputePayloadSize.part.0/125 with 7 size
to be inlined into FlexCAN_ComputePayloadSize/53 in unknown:0
Estimated badness is -0.048611, frequency 0.50.
Considering FlexCAN_ClearRAM/52 with 37 size
to be inlined into FlexCAN_Init/61 in ../RTD/src/FlexCAN_Ip_HwAccess.c:651
Estimated badness is -0.008905, frequency 0.33.
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 2722.910477 weighted by profile: 0.000000
Why inlining failed?
function body not available : 71 calls, 70.142243 freq, 0 count
call is unlikely and code size would grow : 26 calls, 23.231345 freq, 0 count
IPA function summary for FlexCAN_ConfigCtrlOptions/88 inlinable
global time: 42.750000
self size: 67
global size: 67
min size: 0
self stack: 0
global stack: 0
size:29.500000, time:14.500000
size:14.500000, time:7.750000, executed if:(not inlined)
size:18.000000, time:18.000000, nonconst if:(op1 changed)
size:1.000000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined)
size:4.000000, time:2.000000, nonconst if:(op0[ref offset: 416] changed)
calls:
IPA function summary for FlexCAN_SetEnhancedRxFifoFilter/87 inlinable
global time: 228.969579
self size: 102
global size: 102
min size: 0
self stack: 0
global stack: 0
size:88.000000, time:212.134999
size:3.000000, time:0.466168, executed if:(not inlined)
size:1.000000, time:1.000000, executed if:(not inlined), nonconst if:(op0[ref offset: 24672] changed) && (not inlined)
size:10.000000, time:15.368412, nonconst if:(op0[ref offset: 24672] changed)
loop iterations:(op0[ref offset: 24672] changed)
calls:
IPA function summary for FlexCAN_EnableEnhancedRxFifo/86 inlinable
global time: 26.250000
self size: 50
global size: 50
min size: 6
self stack: 0
global stack: 0
size:15.500000, time:2.187500
size:8.500000, time:2.687500, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
size:6.000000, time:3.000000, nonconst if:(op1 changed)
size:4.000000, time:1.250000, nonconst if:(op1 changed || op2 changed)
size:2.000000, time:0.500000, executed if:(op1 == 0), nonconst if:(op2 changed) && (op1 == 0)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:1.750000, nonconst if:(op0[ref offset: 0] changed)
size:0.500000, time:0.062500, executed if:(not inlined), nonconst if:(op0[ref offset: 24672] changed) && (not inlined)
size:1.500000, time:0.187500, nonconst if:(op0[ref offset: 24672] changed)
size:2.000000, time:0.250000, nonconst if:(op2 changed)
size:1.000000, time:0.125000, nonconst if:(op3 changed)
calls:
FlexCAN_IsEnhancedRxFifoAvailable/85 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 3 stack: 0
IPA function summary for FlexCAN_IsEnhancedRxFifoAvailable/85 inlinable
global time: 7.687204
self size: 7
global size: 7
min size: 2
self stack: 0
global stack: 0
estimated growth:1
size:2.000000, time:3.791469
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:1.895735, nonconst if:(op0 changed)
calls:
IPA function summary for FlexCAN_IsMbOutOfRange/84 inlinable
global time: 7.250000
self size: 16
global size: 16
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:(op3 changed || op1 changed)
size:2.000000, time:1.000000, nonconst if:(op2 changed)
size:0.500000, time:0.125000, executed if:(op2 != 0) && (not inlined), nonconst if:(op0[ref offset: 416] changed) && (op2 != 0) && (not inlined)
size:6.500000, time:1.625000, executed if:(op2 != 0), nonconst if:(op0[ref offset: 416] changed) && (op2 != 0)
size:2.000000, time:0.500000, executed if:(op2 != 0), nonconst if:(op1 changed || op0[ref offset: 416] changed) && (op2 != 0)
calls:
IPA function summary for FlexCAN_GetRxFifoMask/83 inlinable
global time: 9.607500
self size: 36
global size: 36
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:8.000000, time:4.000000, nonconst if:(op1 changed)
size:2.000000, time:0.500000, executed if:(op1 == 2), nonconst if:(op0 changed) && (op1 == 2)
size:1.000000, time:0.102500, executed if:(op0 <= 1) && (op1 == 2), nonconst if:(op2 changed) && (op0 <= 1) && (op1 == 2)
size:1.000000, time:0.250000, executed if:(op1 == 1), nonconst if:(op2 changed) && (op1 == 1)
size:2.000000, time:0.500000, executed if:(op1 == 1), nonconst if:(op0 changed) && (op1 == 1)
size:2.000000, time:0.250000, executed if:(op0 != 0) && (op1 == 1), nonconst if:(op0 changed) && (op0 != 0) && (op1 == 1)
size:3.000000, time:0.127500, executed if:(op0 == 1) && (op0 != 0) && (op1 == 1), nonconst if:(op2 changed) && (op0 == 1) && (op0 != 0) && (op1 == 1)
size:3.000000, time:0.375000, executed if:(op0 == 0) && (op1 == 1), nonconst if:(op2 changed) && (op0 == 0) && (op1 == 1)
size:1.000000, time:0.250000, executed if:(op1 == 0), nonconst if:(op2 changed) && (op1 == 0)
size:2.000000, time:0.500000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
size:2.000000, time:0.250000, executed if:(op0 != 0) && (op1 == 0), nonconst if:(op0 changed) && (op0 != 0) && (op1 == 0)
size:3.000000, time:0.127500, executed if:(op0 == 1) && (op0 != 0) && (op1 == 0), nonconst if:(op2 changed) && (op0 == 1) && (op0 != 0) && (op1 == 0)
size:3.000000, time:0.375000, executed if:(op0 == 0) && (op1 == 0), nonconst if:(op2 changed) && (op0 == 0) && (op1 == 0)
calls:
IPA function summary for FlexCAN_AbortTxMsgBuff/82 inlinable
global time: 19.000000
self size: 11
global size: 11
min size: 8
self stack: 0
global stack: 0
size:4.000000, time:4.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetBusOffStatusFlag/81 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_GetErrStatusFlag/80 inlinable
global time: 7.000000
self size: 8
global size: 8
min size: 0
self stack: 0
global stack: 0
size:5.000000, time:5.000000
size:3.000000, time:2.000000, executed if:(not inlined)
array index:(op0 changed)
calls:
IPA function summary for FlexCAN_ReadEnhancedRxFifo/79 inlinable
global time: 108.568159
self size: 60
global size: 60
min size: 6
self stack: 0
global stack: 0
size:48.000000, time:91.318159
size:6.000000, time:2.250000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_ComputePayloadSize/53 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for FlexCAN_ReadRxFifo/78 inlinable
global time: 106.613612
self size: 50
global size: 50
min size: 6
self stack: 0
global stack: 0
size:38.500000, time:90.113612
size:6.500000, time:2.500000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:1.000000, time:1.000000, nonconst if:(op1 changed)
calls:
FlexCAN_ComputePayloadSize/53 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
IPA function summary for FlexCAN_SetRxFifoFilter/77 inlinable
global time: 121.409062
self size: 226
global size: 226
min size: 0
self stack: 0
global stack: 0
size:6.500000, time:5.250000
size:3.500000, time:1.250000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:2.000000, time:0.599996, executed if:(op2 == 0B), nonconst if:(op1 changed) && (op2 == 0B)
size:10.000000, time:2.000000, nonconst if:(op1 changed)
size:1.000000, time:0.100001, executed if:(op1 == 3) && (not inlined)
size:2.000000, time:0.200002, executed if:(op1 == 3)
size:1.000000, time:0.100001, executed if:(op1 == 2) && (not inlined)
size:96.000000, time:50.054483, executed if:(op1 == 2)
size:1.000000, time:0.100001, executed if:(op1 == 1) && (not inlined)
size:61.000000, time:33.468154, executed if:(op1 == 1)
size:1.000000, time:0.100001, executed if:(op1 == 0) && (not inlined)
size:30.000000, time:17.186349, executed if:(op1 == 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 3)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 3)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 2)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 2)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 1)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 1)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 function body not available
loop depth: 0 freq:0.10 size: 1 time: 10 predicate: (op1 == 0)
IPA function summary for FlexCAN_SetOperationMode/76 inlinable
global time: 25.500000
self size: 35
global size: 35
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:8.000000, time:4.000000, nonconst if:(op1 changed)
size:3.000000, time:0.750000, executed if:(op1 == 2) && (not inlined)
size:6.000000, time:1.500000, executed if:(op1 == 2)
size:1.000000, time:0.250000, executed if:(op1 == 1) && (not inlined)
size:2.000000, time:0.500000, executed if:(op1 == 1)
size:2.000000, time:0.500000, executed if:(op1 == 0) && (not inlined)
size:4.000000, time:1.000000, executed if:(op1 == 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 2)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 2)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 1)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 1)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op1 == 0)
IPA function summary for FlexCAN_SetMaxMsgBuffNum/75 inlinable
global time: 90.423529
self size: 58
global size: 58
min size: 42
self stack: 0
global stack: 0
size:25.500000, time:42.050645
size:4.500000, time:1.232878, executed if:(not inlined)
size:2.000000, time:1.500000, nonconst if:(op0 changed)
size:3.000000, time:2.155252, nonconst if:(op1 changed)
size:2.000000, time:0.649999, nonconst if:(op0 changed || op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 function body not available
loop depth: 0 freq:0.16 size: 1 time: 10
FlexCAN_GetMbPayloadSize/65 call is unlikely and code size would grow
loop depth: 1 freq:0.63 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 1 freq:0.63 size: 4 time: 13callee size:12 stack: 0
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 function body not available
loop depth: 0 freq:0.16 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:0.32 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 4 time: 13callee size:12 stack: 0
FlexCAN_GetMbPayloadSize/65 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size: 7 stack: 0
IPA function summary for FlexCAN_SetTxMsgBuff/74 inlinable
global time: 95.044582
self size: 123
global size: 123
min size: 16
self stack: 0
global stack: 0
size:59.500000, time:15.958621
size:6.500000, time:1.414998, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
size:2.000000, time:0.500000, nonconst if:(op4 changed)
size:1.500000, time:2.298867, executed if:(op4 != 0B) && (not inlined)
size:35.500000, time:51.664835, executed if:(op4 != 0B)
size:3.000000, time:0.335007, nonconst if:(op3 changed)
size:2.000000, time:0.217799, nonconst if:(op5 changed)
size:1.000000, time:0.054450, executed if:(op5 != 0)
calls:
FlexCAN_ComputePayloadSize/53 call is unlikely and code size would grow
loop depth: 0 freq:0.18 size: 3 time: 12callee size: 4 stack: 0 predicate: (op4 != 0B)
FlexCAN_GetMbPayloadSize/65 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMsgBuff/73 inlinable
global time: 164.667667
self size: 69
global size: 69
min size: 30
self stack: 0
global stack: 0
size:47.000000, time:125.999966
size:6.000000, time:4.022727, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
calls:
FlexCAN_GetMbPayloadSize/65 call is unlikely and code size would grow
loop depth: 0 freq:0.16 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_GetMbPayloadSize/65 call is unlikely and code size would grow
loop depth: 0 freq:0.50 size: 4 time: 13callee size: 7 stack: 0
FlexCAN_ComputePayloadSize/53 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 4 stack: 0
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMsgBuffTimestamp/72 inlinable
global time: 17.000000
self size: 9
global size: 9
min size: 8
self stack: 0
global stack: 0
size:2.000000, time:2.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_SetRxMsgBuff/71 inlinable
global time: 32.429997
self size: 56
global size: 56
min size: 8
self stack: 0
global stack: 0
size:43.000000, time:15.844997
size:5.000000, time:1.915000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op2 changed)
size:3.000000, time:0.669999, nonconst if:(op3 changed)
calls:
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_EnableInterrupts/70 inlinable
global time: 22.000000
self size: 16
global size: 16
min size: 6
self stack: 0
global stack: 0
size:4.500000, time:3.000000
size:4.500000, time:3.000000, executed if:(not inlined)
size:4.000000, time:4.000000, nonconst if:(op0 changed)
array index:(op1 changed)
calls:
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FlexCAN_DisableInterrupts/69 inlinable
global time: 20.000000
self size: 13
global size: 13
min size: 6
self stack: 0
global stack: 0
size:1.500000, time:1.000000
size:4.500000, time:3.000000, executed if:(not inlined)
size:4.000000, time:4.000000, nonconst if:(op0 changed)
calls:
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FLEXCAN_ClearMsgBuffIntCmd/68 inlinable
global time: 38.730000
self size: 43
global size: 43
min size: 8
self stack: 0
global stack: 0
size:5.000000, time:1.650000
size:4.000000, time:2.330000, executed if:(not inlined)
size:12.000000, time:10.660000, nonconst if:(op2 changed)
size:0.500000, time:0.165000, executed if:(op2 <= 31) && (not inlined)
size:2.500000, time:0.825000, executed if:(op2 <= 31)
size:1.000000, time:0.330000, executed if:(op2 <= 31), nonconst if:(op2 changed) && (op2 <= 31)
size:2.000000, time:0.660000, executed if:(op2 <= 31), nonconst if:(op3 changed) && (op2 <= 31)
size:1.500000, time:0.247500, executed if:(op3 != 0) && (op2 <= 31)
size:0.500000, time:0.082500, executed if:(op3 != 0) && (op2 <= 31) && (not inlined)
size:4.000000, time:1.320000, nonconst if:(op3 changed)
size:3.000000, time:0.495000, executed if:(op3 != 0)
size:1.000000, time:0.165000, executed if:(op3 != 0) && (not inlined)
array index:(op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10 predicate: (op2 <= 31)
IPA function summary for FlexCAN_SetMsgBuffIntCmd/67 inlinable
global time: 54.000000
self size: 70
global size: 70
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:10.000000, time:10.000000, nonconst if:(op2 changed)
size:2.000000, time:1.000000, executed if:(op2 <= 31), nonconst if:(op3 changed) && (op2 <= 31)
size:4.500000, time:1.125000, executed if:(op3 == 0) && (op2 <= 31)
size:1.000000, time:0.250000, executed if:(op3 == 0) && (op2 <= 31), nonconst if:(op2 changed) && (op3 == 0) && (op2 <= 31)
size:0.500000, time:0.125000, executed if:(op3 == 0) && (op2 <= 31) && (not inlined)
size:3.000000, time:0.750000, executed if:(op3 != 0) && (op2 <= 31)
size:2.000000, time:0.500000, executed if:(op3 != 0) && (op2 <= 31), nonconst if:(op4 changed) && (op3 != 0) && (op2 <= 31)
size:1.500000, time:0.187500, executed if:(op4 != 0) && (op3 != 0) && (op2 <= 31)
size:0.500000, time:0.062500, executed if:(op4 != 0) && (op3 != 0) && (op2 <= 31) && (not inlined)
size:4.000000, time:2.000000, nonconst if:(op3 changed)
size:9.000000, time:2.250000, executed if:(op3 == 0)
size:2.000000, time:0.500000, executed if:(op3 == 0), nonconst if:(op2 changed) && (op3 == 0)
size:1.000000, time:0.250000, executed if:(op3 == 0) && (not inlined)
size:6.000000, time:1.500000, executed if:(op3 != 0)
size:4.000000, time:1.000000, executed if:(op3 != 0), nonconst if:(op4 changed) && (op3 != 0)
size:3.000000, time:0.375000, executed if:(op4 != 0) && (op3 != 0)
size:1.000000, time:0.125000, executed if:(op4 != 0) && (op3 != 0) && (not inlined)
array index:(op1 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0) && (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 == 0) && (op2 <= 31)
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op2 <= 31)
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 function body not available
loop depth: 0 freq:0.25 size: 1 time: 10 predicate: (op3 != 0) && (op2 <= 31)
IPA function summary for FlexCAN_LockRxMsgBuff/66 inlinable
global time: 16.000000
self size: 8
global size: 8
min size: 8
self stack: 0
global stack: 0
size:1.000000, time:1.000000
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetMsgBuffRegion/54 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 4 time: 13callee size:12 stack: 0
IPA function summary for FlexCAN_GetMbPayloadSize/65 inlinable
global time: 80.828326
self size: 15
global size: 15
min size: 8
self stack: 0
global stack: 0
estimated growth:40
size:8.000000, time:45.351931
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
FlexCAN_GetPayloadSize/64 call is unlikely and code size would grow
loop depth: 1 freq:2.58 size: 4 time: 13callee size:13 stack: 0
op0 change 38.830000% of time
IPA function summary for FlexCAN_GetPayloadSize/64 inlinable
global time: 10.000000
self size: 27
global size: 27
min size: 0
self stack: 0
global stack: 0
estimated growth:36
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:8.000000, time:4.000000, nonconst if:(op1 changed)
size:0.500000, time:0.125000, executed if:(op1 == 2) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 2) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 2), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 2)
size:0.500000, time:0.125000, executed if:(op1 == 1) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 1) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 1), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 1)
size:0.500000, time:0.125000, executed if:(op1 == 0) && (not inlined), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 0) && (not inlined)
size:3.500000, time:0.875000, executed if:(op1 == 0), nonconst if:(op0[ref offset: 24576] changed) && (op1 == 0)
size:0.500000, time:0.125000, executed if:(not inlined), nonconst if:(op0[ref offset: 24576] changed) && (not inlined)
size:3.500000, time:0.875000, nonconst if:(op0[ref offset: 24576] changed)
calls:
IPA function summary for FlexCAN_SetPayloadSize/63 inlinable
global time: 18.777465
self size: 56
global size: 56
min size: 4
self stack: 0
global stack: 0
size:34.000000, time:10.536864
size:7.000000, time:0.790627, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 0] changed)
size:0.500000, time:0.250000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined)
size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed)
size:0.500000, time:0.125000, executed if:(not inlined), nonconst if:(op1[ref offset: 8] changed) && (not inlined)
size:2.500000, time:0.625000, nonconst if:(op1[ref offset: 8] changed)
size:0.500000, time:0.062501, executed if:(not inlined), nonconst if:(op1[ref offset: 16] changed) && (not inlined)
size:2.500000, time:0.312506, nonconst if:(op1[ref offset: 16] changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 function body not available
loop depth: 0 freq:0.04 size: 1 time: 10
IPA function summary for FlexCAN_EnableRxFifo/62 inlinable
global time: 42.240000
self size: 27
global size: 27
min size: 10
self stack: 0
global stack: 0
size:9.000000, time:11.820000
size:6.000000, time:4.160000, executed if:(not inlined)
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined)
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 0] changed)
size:2.000000, time:0.660000, nonconst if:(op1 changed)
size:1.000000, time:3.000000, nonconst if:(op0 changed)
loop iterations:(op0 changed)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:1.00 size: 3 time: 12callee size: 5 stack: 0
IPA function summary for FlexCAN_Init/61 inlinable
global time: 305.023347
self size: 62
global size: 90
min size: 90
self stack: 4
global stack: 4
size:44.000000, time:104.674443
size:15.000000, time:10.808989, executed if:(not inlined)
size:6.000000, time:1.980000, nonconst if:(op0 changed)
calls:
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 5 stack: 0
FlexCAN_ClearRAM/52 inlined
loop depth: 0 freq:0.33 size: 2 time: 11callee size:18 stack: 0
Stack frame offset 4, callee self size 0, callee size 0
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
FlexCAN_GetMaxMbNum/55 call is unlikely and code size would grow
loop depth: 0 freq:0.33 size: 3 time: 12callee size: 5 stack: 0
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 function body not available
loop depth: 0 freq:0.33 size: 1 time: 10
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_SetErrIntCmd/60 inlinable
global time: 32.799356
self size: 38
global size: 38
min size: 4
self stack: 0
global stack: 0
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op2 changed)
size:2.000000, time:1.000000, executed if:(op2 == 0), nonconst if:(op1 changed) && (op2 == 0)
size:2.500000, time:0.660000, executed if:(op1 != 16385) && (op2 == 0) && (not inlined)
size:7.500000, time:2.145000, executed if:(op1 != 16385) && (op2 == 0)
size:1.000000, time:0.330000, executed if:(op1 != 16385) && (op2 == 0), nonconst if:(op1 changed) && (op1 != 16385) && (op2 == 0)
size:1.000000, time:0.170000, executed if:(op1 == 16385) && (op2 == 0) && (not inlined)
size:2.000000, time:0.340000, executed if:(op1 == 16385) && (op2 == 0)
size:2.000000, time:1.000000, executed if:(op2 != 0), nonconst if:(op1 changed) && (op2 != 0)
size:2.000000, time:0.660000, executed if:(op1 != 16385) && (op2 != 0), nonconst if:(op1 changed) && (op1 != 16385) && (op2 != 0)
size:2.000000, time:0.435600, executed if:(op1 != 1024) && (op1 != 16385) && (op2 != 0), nonconst if:(op1 changed) && (op1 != 1024) && (op1 != 16385) && (op2 != 0)
size:1.000000, time:0.186252, executed if:(op1 == 1024 || op1 == 2048) && (op1 != 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.372504, executed if:(op1 == 1024 || op1 == 2048) && (op1 != 16385) && (op2 != 0)
size:1.000000, time:0.330000, executed if:(op1 != 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.660000, executed if:(op1 != 16385) && (op2 != 0)
size:1.000000, time:0.170000, executed if:(op1 == 16385) && (op2 != 0) && (not inlined)
size:2.000000, time:0.340000, executed if:(op1 == 16385) && (op2 != 0)
calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
IPA function summary for FlexCAN_Disable/59 inlinable
global time: 114.678993
self size: 30
global size: 30
min size: 26
self stack: 4
global stack: 4
size:12.000000, time:28.893825
size:5.000000, time:4.853571, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:3.66 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 function body not available
loop depth: 0 freq:0.41 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 function body not available
loop depth: 0 freq:0.41 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_ExitFreezeMode/58 inlinable
global time: 232.733349
self size: 30
global size: 30
min size: 26
self stack: 4
global stack: 4
size:11.500000, time:64.219444
size:5.500000, time:8.673989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_Enable/57 inlinable
global time: 230.733349
self size: 28
global size: 28
min size: 26
self stack: 4
global stack: 4
size:10.500000, time:63.219444
size:4.500000, time:7.673989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_EnterFreezeMode/56 inlinable
global time: 237.963349
self size: 37
global size: 37
min size: 26
self stack: 4
global stack: 4
size:17.000000, time:68.539444
size:7.000000, time:9.583989, executed if:(not inlined)
calls:
OsIf_GetElapsed/95 function body not available
loop depth: 1 freq:8.83 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 function body not available
loop depth: 0 freq:1.00 size: 1 time: 10
OsIf_MicrosToTicks/92 function body not available
loop depth: 0 freq:1.00 size: 4 time: 13
op0 is compile time invariant
op1 is compile time invariant
OsIf_GetCounter/91 function body not available
loop depth: 0 freq:1.00 size: 3 time: 12
op0 is compile time invariant
IPA function summary for FlexCAN_GetMaxMbNum/55 inlinable
global time: 41.786774
self size: 10
global size: 10
min size: 7
self stack: 0
global stack: 0
estimated growth:24
size:7.000000, time:39.786774
size:3.000000, time:2.000000, executed if:(not inlined)
calls:
IPA function summary for FlexCAN_GetMsgBuffRegion/54 inlinable
global time: 101.695279
self size: 24
global size: 24
min size: 16
self stack: 0
global stack: 0
estimated growth:136
size:16.000000, time:65.218884
size:3.000000, time:2.000000, executed if:(not inlined)
size:1.000000, time:1.000000, nonconst if:(op0 changed)
calls:
FlexCAN_GetPayloadSize/64 call is unlikely and code size would grow
loop depth: 1 freq:2.58 size: 4 time: 13callee size:13 stack: 0
op0 change 38.830000% of time
IPA function summary for FlexCAN_ComputePayloadSize/53 inlinable
global time: 5.750000
self size: 8
global size: 9
min size: 0
self stack: 0
global stack: 0
estimated growth:8
size:0.000000, time:0.000000
size:3.000000, time:2.000000, executed if:(not inlined)
size:2.000000, time:2.000000, nonconst if:(op0 changed)
size:1.000000, time:0.250000, executed if:(op0 > 8)
size:3.000000, time:1.500000, executed if:(op0 > 8), nonconst if:(op0 changed) && (op0 > 8)
calls:
FlexCAN_ComputePayloadSize.part.0/125 inlined
loop depth: 0 freq:0.50 size: 3 time: 12callee size: 3 stack: 0
Stack frame offset 0, callee self size 0, callee size 0
Symbol table:
FlexCAN_ComputePayloadSize.part.0/125 (FlexCAN_ComputePayloadSize.part.0) @06ce2380
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References: CSWTCH.37/124 (read)
Referring:
Function FlexCAN_ComputePayloadSize.part.0/125 is inline copy in FlexCAN_ComputePayloadSize/53
Availability: local
Function flags: count:536870912 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_ComputePayloadSize/53 (inlined) (536870912 (estimated locally),0.50 per call)
Calls:
CSWTCH.37/124 (CSWTCH.37) @06f8ab88
Type: variable definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring: FlexCAN_ComputePayloadSize.part.0/125 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
flexcanBase.5537/122 (flexcanBase) @06f6f438
Type: variable definition analyzed alias
Visibility: prevailing_def_ironly
References: flexcanBase.5251/89 (alias)
Referring: FlexCAN_GetBusOffStatusFlag/81 (read)
Availability: available
Varpool flags: read-only const-value-known
flexcanBase.5532/121 (flexcanBase) @06f6f240
Type: variable definition analyzed alias
Visibility: prevailing_def_ironly
References: flexcanBase.5251/89 (alias)
Referring: FlexCAN_GetErrStatusFlag/80 (read)
Availability: available
Varpool flags: read-only const-value-known
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13) @06f53540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13) @06f53460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12) @06f53000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12) @06f379a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11) @06f37ee0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (33340 (estimated locally),0.16 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11) @06f37e00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (33340 (estimated locally),0.16 per call)
Calls:
payload_code.5197/114 (payload_code) @06f4e2d0
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_SetTxMsgBuff/74 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18) @06f371c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18) @06f370e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09) @06f239a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetPayloadSize/63 (8858 (estimated locally),0.04 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09) @06f238c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetPayloadSize/63 (8858 (estimated locally),0.04 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08) @06f23700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnableRxFifo/62 (118111600 (estimated locally),0.33 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08) @06f23620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnableRxFifo/62 (118111600 (estimated locally),0.33 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01) @06f23460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01) @06f23380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07) @06f231c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07) @06f230e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06) @06f15ee0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetErrIntCmd/60 (1073741824 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06) @06f15e00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetErrIntCmd/60 (1073741824 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05) @06f15c40
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Disable/59 (114863532 (estimated locally),0.41 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05) @06f15b60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Disable/59 (114863532 (estimated locally),0.41 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04) @06f159a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04) @06f158c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03) @06f15700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03) @06f15620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_GetElapsed/95 (OsIf_GetElapsed) @06f15460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (1014686025 (estimated locally),8.83 per call) FlexCAN_Disable/59 (1014686024 (estimated locally),3.66 per call) FlexCAN_ExitFreezeMode/58 (1014686025 (estimated locally),8.83 per call) FlexCAN_Enable/57 (1014686025 (estimated locally),8.83 per call) FlexCAN_EnterFreezeMode/56 (1014686025 (estimated locally),8.83 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02) @06f15380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02) @06f152a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_MicrosToTicks/92 (OsIf_MicrosToTicks) @06f151c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call) FlexCAN_Disable/59 (276913048 (estimated locally),1.00 per call) FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call) FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call) FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_GetCounter/91 (OsIf_GetCounter) @06f150e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call) FlexCAN_Disable/59 (276913048 (estimated locally),1.00 per call) FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call) FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call) FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
maxMbNum.5252/90 (maxMbNum) @06f143f0
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_GetMaxMbNum/55 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
flexcanBase.5251/89 (flexcanBase) @06f143a8
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: flexcanBase.5537/122 (alias)flexcanBase.5532/121 (alias)FlexCAN_GetMaxMbNum/55 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
FlexCAN_ConfigCtrlOptions/88 (FlexCAN_ConfigCtrlOptions) @06ef0e00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_SetEnhancedRxFifoFilter/87 (FlexCAN_SetEnhancedRxFifoFilter) @06ef0b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:280015 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_EnableEnhancedRxFifo/86 (FlexCAN_EnableEnhancedRxFifo) @06ef08c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_IsEnhancedRxFifoAvailable/85 (1073741824 (estimated locally),1.00 per call)
FlexCAN_IsEnhancedRxFifoAvailable/85 (FlexCAN_IsEnhancedRxFifoAvailable) @06ef0460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:566398813 (estimated locally) body optimize_size
Called by: FlexCAN_EnableEnhancedRxFifo/86 (1073741824 (estimated locally),1.00 per call)
Calls:
FlexCAN_IsMbOutOfRange/84 (FlexCAN_IsMbOutOfRange) @06ef01c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_GetRxFifoMask/83 (FlexCAN_GetRxFifoMask) @06ed7e00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_AbortTxMsgBuff/82 (FlexCAN_AbortTxMsgBuff) @06ed77e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_GetBusOffStatusFlag/81 (FlexCAN_GetBusOffStatusFlag) @06ed71c0
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5537/122 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_GetErrStatusFlag/80 (FlexCAN_GetErrStatusFlag) @06ed7d20
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5532/121 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_ReadEnhancedRxFifo/79 (FlexCAN_ReadEnhancedRxFifo) @06ed7a80
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call)
FlexCAN_ReadRxFifo/78 (FlexCAN_ReadRxFifo) @06ed7700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call)
FlexCAN_SetRxFifoFilter/77 (FlexCAN_SetRxFifoFilter) @06ed7380
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call)
FlexCAN_SetOperationMode/76 (FlexCAN_SetOperationMode) @06ed70e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call)
FlexCAN_SetMaxMsgBuffNum/75 (FlexCAN_SetMaxMsgBuffNum) @06d0de00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 (33340 (estimated locally),0.16 per call) FlexCAN_GetMbPayloadSize/65 (134876 (estimated locally),0.63 per call) FlexCAN_GetMsgBuffRegion/54 (134876 (estimated locally),0.63 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 (33340 (estimated locally),0.16 per call) FlexCAN_GetMaxMbNum/55 (69793 (estimated locally),0.32 per call) FlexCAN_GetMsgBuffRegion/54 (107374 (estimated locally),0.50 per call) FlexCAN_GetMbPayloadSize/65 (214748 (estimated locally),1.00 per call)
FlexCAN_SetTxMsgBuff/74 (FlexCAN_SetTxMsgBuff) @06d0db60
Type: function definition analyzed
Visibility: externally_visible public
References: payload_code.5197/114 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (37581 (estimated locally),0.18 per call) FlexCAN_GetMbPayloadSize/65 (107374 (estimated locally),0.50 per call) FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_GetMsgBuff/73 (FlexCAN_GetMsgBuff) @06d0d620
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMbPayloadSize/65 (35433 (estimated locally),0.16 per call) FlexCAN_GetMbPayloadSize/65 (107374 (estimated locally),0.50 per call) FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_GetMsgBuffTimestamp/72 (FlexCAN_GetMsgBuffTimestamp) @06d0d1c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_SetRxMsgBuff/71 (FlexCAN_SetRxMsgBuff) @06cfcd20
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_EnableInterrupts/70 (FlexCAN_EnableInterrupts) @06cfc7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (1073741824 (estimated locally),1.00 per call)
FlexCAN_DisableInterrupts/69 (FlexCAN_DisableInterrupts) @06cfc2a0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (1073741824 (estimated locally),1.00 per call)
FLEXCAN_ClearMsgBuffIntCmd/68 (FLEXCAN_ClearMsgBuffIntCmd) @06cfcee0
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call)
FlexCAN_SetMsgBuffIntCmd/67 (FlexCAN_SetMsgBuffIntCmd) @06cfcc40
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call)
FlexCAN_LockRxMsgBuff/66 (FlexCAN_LockRxMsgBuff) @06cfc9a0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_GetMbPayloadSize/65 (FlexCAN_GetMbPayloadSize) @06cfc700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:312727306 (estimated locally) body optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (134876 (estimated locally),0.63 per call) FlexCAN_SetMaxMsgBuffNum/75 (214748 (estimated locally),1.00 per call) FlexCAN_SetTxMsgBuff/74 (107374 (estimated locally),0.50 per call) FlexCAN_GetMsgBuff/73 (35433 (estimated locally),0.16 per call) FlexCAN_GetMsgBuff/73 (107374 (estimated locally),0.50 per call)
Calls: FlexCAN_GetPayloadSize/64 (805306368 (estimated locally),2.58 per call)
FlexCAN_GetPayloadSize/64 (FlexCAN_GetPayloadSize) @06cfc460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: FlexCAN_GetMbPayloadSize/65 (805306368 (estimated locally),2.58 per call) FlexCAN_GetMsgBuffRegion/54 (805306368 (estimated locally),2.58 per call)
Calls:
FlexCAN_SetPayloadSize/63 (FlexCAN_SetPayloadSize) @06cfc1c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 (8858 (estimated locally),0.04 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 (8858 (estimated locally),0.04 per call)
FlexCAN_EnableRxFifo/62 (FlexCAN_EnableRxFifo) @06cf3b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:357913939 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 (118111600 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 (118111600 (estimated locally),0.33 per call) FlexCAN_GetMaxMbNum/55 (357913939 (estimated locally),1.00 per call)
FlexCAN_Init/61 (FlexCAN_Init) @06cf3ee0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (inlined) (37904965 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (37904965 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (37904965 (estimated locally),0.33 per call) OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_SetErrIntCmd/60 (FlexCAN_SetErrIntCmd) @06cf3a80
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 (1073741824 (estimated locally),1.00 per call)
FlexCAN_Disable/59 (FlexCAN_Disable) @06cf3460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:276913048 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686024 (estimated locally),3.66 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 (114863532 (estimated locally),0.41 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 (114863532 (estimated locally),0.41 per call) OsIf_MicrosToTicks/92 (276913048 (estimated locally),1.00 per call) OsIf_GetCounter/91 (276913048 (estimated locally),1.00 per call)
FlexCAN_ExitFreezeMode/58 (FlexCAN_ExitFreezeMode) @06cf30e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_Enable/57 (FlexCAN_Enable) @06a61700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_EnterFreezeMode/56 (FlexCAN_EnterFreezeMode) @06a61000
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_GetMaxMbNum/55 (FlexCAN_GetMaxMbNum) @06a61b60
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5251/89 (read)maxMbNum.5252/90 (read)
Referring:
Availability: available
Function flags: count:153437706 (estimated locally) body optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (69793 (estimated locally),0.32 per call) FlexCAN_EnableInterrupts/70 (1073741824 (estimated locally),1.00 per call) FlexCAN_DisableInterrupts/69 (1073741824 (estimated locally),1.00 per call) FlexCAN_EnableRxFifo/62 (357913939 (estimated locally),1.00 per call) FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call)
Calls:
FlexCAN_GetMsgBuffRegion/54 (FlexCAN_GetMsgBuffRegion) @06a618c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:312727306 (estimated locally) body optimize_size
Called by: FlexCAN_AbortTxMsgBuff/82 (1073741824 (estimated locally),1.00 per call) FlexCAN_SetMaxMsgBuffNum/75 (134876 (estimated locally),0.63 per call) FlexCAN_SetMaxMsgBuffNum/75 (107374 (estimated locally),0.50 per call) FlexCAN_SetTxMsgBuff/74 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuff/73 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuffTimestamp/72 (1073741824 (estimated locally),1.00 per call) FlexCAN_SetRxMsgBuff/71 (214748 (estimated locally),1.00 per call) FlexCAN_LockRxMsgBuff/66 (1073741824 (estimated locally),1.00 per call)
Calls: FlexCAN_GetPayloadSize/64 (805306368 (estimated locally),2.58 per call)
FlexCAN_ComputePayloadSize/53 (FlexCAN_ComputePayloadSize) @06a61620
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: FlexCAN_ReadEnhancedRxFifo/79 (214748 (estimated locally),1.00 per call) FlexCAN_ReadRxFifo/78 (214748 (estimated locally),1.00 per call) FlexCAN_SetTxMsgBuff/74 (37581 (estimated locally),0.18 per call) FlexCAN_GetMsgBuff/73 (214748 (estimated locally),1.00 per call)
Calls: FlexCAN_ComputePayloadSize.part.0/125 (inlined) (536870912 (estimated locally),0.50 per call)
FlexCAN_ClearRAM/52 (FlexCAN_ClearRAM) @06a61380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Function FlexCAN_ClearRAM/52 is inline copy in FlexCAN_Init/61
Availability: local
Function flags: count:37904965 (estimated locally) body local optimize_size
Called by: FlexCAN_Init/61 (inlined) (37904965 (estimated locally),0.33 per call)
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (37904965 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (37904965 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (37904965 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (37904965 (estimated locally),0.33 per call) FlexCAN_GetMaxMbNum/55 (37904965 (estimated locally),0.33 per call)
g_FlexCAN_u32ImaskBuff/50 (g_FlexCAN_u32ImaskBuff) @06a5c510
Type: variable definition analyzed
Visibility: force_output prevailing_def_ironly
References:
Referring: FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FlexCAN_EnableInterrupts/70 (read)FlexCAN_EnableInterrupts/70 (read)FlexCAN_EnableInterrupts/70 (read)
Availability: available
Varpool flags:
;; Function FlexCAN_ComputePayloadSize (FlexCAN_ComputePayloadSize, funcdef_no=52, decl_uid=4944, cgraph_uid=53, symbol_order=53)
Symbols to be put in SSA form
{ D.5980 D.6129 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 11
Number of blocks to update: 10 ( 91%)
Removing basic block 3
Removing basic block 6
Merging blocks 10 and 5
;; 1 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7
;; 2 succs { 7 3 }
;; 3 succs { 4 5 }
;; 4 succs { 6 }
;; 5 succs { 6 }
;; 6 succs { 7 }
;; 7 succs { 1 }
FlexCAN_ComputePayloadSize (uint8 dlcValue)
{
uint8 ret;
uint8 D.6129;
uint8 ret;
unsigned char _5;
unsigned char _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG ret => 8
# DEBUG BEGIN_STMT
if (dlcValue_2(D) <= 8)
goto <bb 7>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG dlcValue => dlcValue_2(D)
# DEBUG INLINE_ENTRY FlexCAN_ComputePayloadSize
# DEBUG BEGIN_STMT
_5 = dlcValue_2(D) + 247;
if (_5 <= 6)
goto <bb 5>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 268435456]:
<L17>:
ret_6 = 8;
goto <bb 6>; [100.00%]
<bb 5> [local count: 268435456]:
<L18>:
_7 = CSWTCH.37[_5];
ret_8 = _7;
<bb 6> [local count: 536870913]:
# ret_9 = PHI <ret_6(4), ret_8(5)>
<L19>:
<L20>:
# DEBUG ret => ret_9
# DEBUG BEGIN_STMT
_10 = ret_9;
# DEBUG dlcValue => NULL
# DEBUG ret => NULL
ret_3 = _10;
<bb 7> [local count: 1073741824]:
# ret_1 = PHI <dlcValue_2(D)(2), ret_3(6)>
<L16>:
<L13>:
# DEBUG ret => ret_1
# DEBUG BEGIN_STMT
return ret_1;
}
;; Function FlexCAN_GetMaxMbNum (FlexCAN_GetMaxMbNum, funcdef_no=54, decl_uid=4854, cgraph_uid=55, symbol_order=55)
FlexCAN_GetMaxMbNum (const struct FLEXCAN_Type * base)
{
static const uint32 maxMbNum[6] = {96, 64, 64, 32, 32, 32};
static struct FLEXCAN_Type * const flexcanBase[6] = {1076903936B, 1076920320B, 1076936704B, 1076953088B, 1076969472B, 1076985856B};
uint32 ret;
uint32 i;
struct FLEXCAN_Type * _1;
<bb 2> [local count: 153437706]:
# DEBUG BEGIN_STMT
# DEBUG ret => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 6>; [100.00%]
<bb 3> [local count: 920304118]:
# DEBUG BEGIN_STMT
_1 = flexcanBase[i_2];
if (_1 == base_7(D))
goto <bb 4>; [30.00%]
else
goto <bb 5>; [70.00%]
<bb 4> [local count: 276091235]:
# DEBUG BEGIN_STMT
ret_8 = maxMbNum[i_2];
# DEBUG ret => ret_8
<bb 5> [local count: 920304118]:
# ret_3 = PHI <ret_4(3), ret_8(4)>
# DEBUG ret => ret_3
# DEBUG BEGIN_STMT
i_9 = i_2 + 1;
# DEBUG i => i_9
<bb 6> [local count: 1073741824]:
# i_2 = PHI <0(2), i_9(5)>
# ret_4 = PHI <0(2), ret_3(5)>
# DEBUG ret => ret_4
# DEBUG i => i_2
# DEBUG BEGIN_STMT
if (i_2 != 6)
goto <bb 3>; [85.71%]
else
goto <bb 7>; [14.29%]
<bb 7> [local count: 153437707]:
# ret_5 = PHI <ret_4(6)>
# DEBUG BEGIN_STMT
return ret_5;
}
;; Function FlexCAN_EnterFreezeMode (FlexCAN_EnterFreezeMode, funcdef_no=55, decl_uid=4753, cgraph_uid=56, symbol_order=56)
FlexCAN_EnterFreezeMode (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
signed int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _30;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_21 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_21
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
_2 ={v} base_23(D)->MCR;
_3 = _2 | 1073741824;
base_23(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
_4 ={v} base_23(D)->MCR;
_5 = _4 | 268435456;
base_23(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
_6 ={v} base_23(D)->MCR;
_7 = (signed int) _6;
if (_7 < 0)
goto <bb 3>; [41.00%]
else
goto <bb 4>; [59.00%]
<bb 3> [local count: 47094048]:
# DEBUG BEGIN_STMT
_8 ={v} base_23(D)->MCR;
_9 = _8 & 2147483647;
base_23(D)->MCR ={v} _9;
<bb 4> [local count: 114863532]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 5> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_30 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_31 = timeElapsed_12 + _30;
# DEBUG timeElapsed => timeElapsed_31
# DEBUG BEGIN_STMT
if (uS2Ticks_21 <= timeElapsed_31)
goto <bb 7>; [5.50%]
else
goto <bb 8>; [94.50%]
<bb 8> [local count: 958878293]:
<bb 6> [local count: 1073741824]:
# timeElapsed_12 = PHI <0(4), timeElapsed_31(8)>
# DEBUG timeElapsed => timeElapsed_12
# DEBUG BEGIN_STMT
_10 ={v} base_23(D)->MCR;
_11 = _10 & 16777216;
if (_11 == 0)
goto <bb 5>; [94.50%]
else
goto <bb 7>; [5.50%]
<bb 7> [local count: 114863532]:
# returnResult_13 = PHI <3(5), 0(6)>
# DEBUG returnResult => returnResult_13
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_13;
}
;; Function FlexCAN_Enable (FlexCAN_Enable, funcdef_no=56, decl_uid=4766, cgraph_uid=57, symbol_order=57)
FlexCAN_Enable (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnValue;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _21;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_14 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_14
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
_2 ={v} base_16(D)->MCR;
_3 = _2 & 2147483647;
base_16(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_21 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_22 = timeElapsed_6 + _21;
# DEBUG timeElapsed => timeElapsed_22
# DEBUG BEGIN_STMT
if (uS2Ticks_14 <= timeElapsed_22)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 958878293]:
<bb 4> [local count: 1073741824]:
# timeElapsed_6 = PHI <0(2), timeElapsed_22(6)>
# DEBUG timeElapsed => timeElapsed_6
# DEBUG BEGIN_STMT
_4 ={v} base_16(D)->MCR;
_5 = _4 & 16777216;
if (_5 == 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnValue_7 = PHI <3(3), 0(4)>
# DEBUG returnValue => returnValue_7
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnValue_7;
}
;; Function FlexCAN_ExitFreezeMode (FlexCAN_ExitFreezeMode, funcdef_no=57, decl_uid=4762, cgraph_uid=58, symbol_order=58)
FlexCAN_ExitFreezeMode (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnValue;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
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 _23;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_16 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_16
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04 ();
# DEBUG BEGIN_STMT
_2 ={v} base_18(D)->MCR;
_3 = _2 & 4026531839;
base_18(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
_4 ={v} base_18(D)->MCR;
_5 = _4 & 3221225471;
base_18(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04 ();
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_23 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_24 = timeElapsed_8 + _23;
# DEBUG timeElapsed => timeElapsed_24
# DEBUG BEGIN_STMT
if (uS2Ticks_16 <= timeElapsed_24)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 958878293]:
<bb 4> [local count: 1073741824]:
# timeElapsed_8 = PHI <0(2), timeElapsed_24(6)>
# DEBUG timeElapsed => timeElapsed_8
# DEBUG BEGIN_STMT
_6 ={v} base_18(D)->MCR;
_7 = _6 & 16777216;
if (_7 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnValue_9 = PHI <3(3), 0(4)>
# DEBUG returnValue => returnValue_9
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnValue_9;
}
;; Function FlexCAN_Disable (FlexCAN_Disable, funcdef_no=58, decl_uid=4764, cgraph_uid=59, symbol_order=59)
FlexCAN_Disable (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
signed int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _22;
<bb 2> [local count: 276913048]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_16 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_16
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
_2 ={v} base_17(D)->MCR;
_3 = (signed int) _2;
if (_3 >= 0)
goto <bb 3>; [41.48%]
else
goto <bb 6>; [58.52%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05 ();
# DEBUG BEGIN_STMT
_4 ={v} base_17(D)->MCR;
_5 = _4 | 2147483648;
base_17(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05 ();
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 4> [local count: 1014686024]:
# DEBUG BEGIN_STMT
_22 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_23 = timeElapsed_8 + _22;
# DEBUG timeElapsed => timeElapsed_23
# DEBUG BEGIN_STMT
if (uS2Ticks_16 <= timeElapsed_23)
goto <bb 6>; [5.50%]
else
goto <bb 7>; [94.50%]
<bb 7> [local count: 958878294]:
<bb 5> [local count: 1073741824]:
# timeElapsed_8 = PHI <0(3), timeElapsed_23(7)>
# DEBUG timeElapsed => timeElapsed_8
# DEBUG BEGIN_STMT
_6 ={v} base_17(D)->MCR;
_7 = _6 & 1048576;
if (_7 == 0)
goto <bb 4>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 276913047]:
# returnResult_9 = PHI <0(2), 3(4), 0(5)>
# DEBUG returnResult => returnResult_9
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_9;
}
;; Function FlexCAN_SetErrIntCmd (FlexCAN_SetErrIntCmd, funcdef_no=59, decl_uid=4740, cgraph_uid=60, symbol_order=60)
FlexCAN_SetErrIntCmd (struct FLEXCAN_Type * base, flexcan_int_type_t errType, boolean enable)
{
uint32 temp;
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;
unsigned int _12;
long unsigned int _13;
long unsigned int _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
temp_18 = (uint32) errType_17(D);
# DEBUG temp => temp_18
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06 ();
# DEBUG BEGIN_STMT
if (enable_21(D) != 0)
goto <bb 3>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 16385)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 182536110]:
# DEBUG BEGIN_STMT
_1 ={v} base_22(D)->CTRL2;
_2 = _1 | 2147483648;
base_22(D)->CTRL2 ={v} _2;
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 1024)
goto <bb 7>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 6> [local count: 233860969]:
if (errType_17(D) == 2048)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 199986562]:
# DEBUG BEGIN_STMT
_3 ={v} base_22(D)->MCR;
_4 = _3 | 2097152;
base_22(D)->MCR ={v} _4;
<bb 8> [local count: 354334802]:
# DEBUG BEGIN_STMT
_5 ={v} base_22(D)->CTRL1;
_6 = _5 | temp_18;
base_22(D)->CTRL1 ={v} _6;
goto <bb 13>; [100.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 16385)
goto <bb 10>; [34.00%]
else
goto <bb 11>; [66.00%]
<bb 10> [local count: 182536110]:
# DEBUG BEGIN_STMT
_7 ={v} base_22(D)->CTRL2;
_8 = _7 & 2147483647;
base_22(D)->CTRL2 ={v} _8;
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 11> [local count: 354334802]:
# DEBUG BEGIN_STMT
_9 ={v} base_22(D)->CTRL1;
_10 = ~temp_18;
_11 = _9 & _10;
base_22(D)->CTRL1 ={v} _11;
# DEBUG BEGIN_STMT
temp_24 ={v} base_22(D)->CTRL1;
# DEBUG temp => temp_24
# DEBUG BEGIN_STMT
_12 = temp_24 & 3072;
if (_12 == 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 177167401]:
# DEBUG BEGIN_STMT
_13 ={v} base_22(D)->MCR;
_14 = _13 & 4292870143;
base_22(D)->MCR ={v} _14;
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06 ();
return;
}
;; Function FlexCAN_Init (FlexCAN_Init, funcdef_no=60, decl_uid=4837, cgraph_uid=61, symbol_order=61)
Symbols to be put in SSA form
{ D.5988 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 24
Number of blocks to update: 23 ( 96%)
Merging blocks 6 and 14
Removing basic block 12
Merging blocks 23 and 13
;; 5 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
;;
;; Loop 2
;; header 14, latch 13
;; depth 1, outer 0
;; nodes: 14 13
;;
;; Loop 3
;; header 11, latch 10
;; depth 1, outer 0
;; nodes: 11 10
;;
;; Loop 4
;; header 8, latch 7
;; depth 1, outer 0
;; nodes: 8 7
;;
;; Loop 1
;; header 4, latch 3
;; depth 1, outer 0
;; nodes: 4 3
;; 2 succs { 4 }
;; 3 succs { 5 4 }
;; 4 succs { 3 5 }
;; 5 succs { 6 20 }
;; 6 succs { 8 }
;; 7 succs { 8 }
;; 8 succs { 7 9 }
;; 9 succs { 11 }
;; 10 succs { 11 }
;; 11 succs { 10 12 }
;; 12 succs { 14 }
;; 13 succs { 14 }
;; 14 succs { 13 15 }
;; 15 succs { 16 17 }
;; 16 succs { 17 }
;; 17 succs { 18 19 }
;; 18 succs { 19 }
;; 19 succs { 20 }
;; 20 succs { 1 }
FlexCAN_Init (struct FLEXCAN_Type * base)
{
uint32 databyte;
uint32 RAM_size;
volatile uint32 * RAM;
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
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 _26;
long unsigned int _52;
long unsigned int base.2_54;
long unsigned int _55;
long unsigned int _58;
volatile uint32 * _59;
long unsigned int _63;
volatile uint32 * _64;
long unsigned int _66;
long unsigned int _67;
volatile uint32 * _68;
long unsigned int _70;
long unsigned int _71;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_20 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_20
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
_2 ={v} base_22(D)->MCR;
_3 = _2 | 33554432;
base_22(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_26 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_27 = timeElapsed_9 + _26;
# DEBUG timeElapsed => timeElapsed_27
# DEBUG BEGIN_STMT
if (uS2Ticks_20 <= timeElapsed_27)
goto <bb 5>; [5.50%]
else
goto <bb 4>; [94.50%]
<bb 4> [local count: 1073741824]:
# timeElapsed_9 = PHI <0(2), timeElapsed_27(3)>
# DEBUG timeElapsed => timeElapsed_9
# DEBUG BEGIN_STMT
_4 ={v} base_22(D)->MCR;
_5 = _4 & 33554432;
if (_5 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnResult_10 = PHI <3(3), 0(4)>
# DEBUG returnResult => returnResult_10
# DEBUG BEGIN_STMT
if (returnResult_10 == 0)
goto <bb 6>; [33.00%]
else
goto <bb 20>; [67.00%]
<bb 6> [local count: 37904965]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
_6 ={v} base_22(D)->MCR;
_7 = _6 | 4096;
base_22(D)->MCR ={v} _7;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
# DEBUG base => base_22(D)
# DEBUG INLINE_ENTRY FlexCAN_ClearRAM
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_52 = FlexCAN_GetMaxMbNum (base_22(D));
RAM_size_53 = _52 * 4;
# DEBUG RAM_size => RAM_size_53
# DEBUG BEGIN_STMT
# DEBUG RXIMR_size => _52
# DEBUG BEGIN_STMT
base.2_54 = (long unsigned int) base_22(D);
_55 = base.2_54 + 128;
RAM_56 = (volatile uint32 *) _55;
# DEBUG RAM => RAM_56
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 8>; [100.00%]
<bb 7> [local count: 306685631]:
# DEBUG BEGIN_STMT
_58 = databyte_57 * 4;
_59 = RAM_56 + _58;
*_59 ={v} 0;
# DEBUG BEGIN_STMT
databyte_60 = databyte_57 + 1;
# DEBUG databyte => databyte_60
<bb 8> [local count: 344590597]:
# databyte_57 = PHI <0(6), databyte_60(7)>
# DEBUG databyte => databyte_57
# DEBUG BEGIN_STMT
if (RAM_size_53 > databyte_57)
goto <bb 7>; [89.00%]
else
goto <bb 9>; [11.00%]
<bb 9> [local count: 37904966]:
# DEBUG BEGIN_STMT
RAM_61 = &base_22(D)->RXIMR;
# DEBUG RAM => RAM_61
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 11>; [100.00%]
<bb 10> [local count: 306685632]:
# DEBUG BEGIN_STMT
_63 = databyte_62 * 4;
_64 = RAM_61 + _63;
*_64 ={v} 0;
# DEBUG BEGIN_STMT
databyte_65 = databyte_62 + 1;
# DEBUG databyte => databyte_65
<bb 11> [local count: 344590598]:
# databyte_62 = PHI <0(9), databyte_65(10)>
# DEBUG databyte => databyte_62
# DEBUG BEGIN_STMT
if (_52 > databyte_62)
goto <bb 10>; [89.00%]
else
goto <bb 12>; [11.00%]
<bb 12> [local count: 37904966]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_66 ={v} base_22(D)->CTRL2;
_67 = _66 | 268435456;
base_22(D)->CTRL2 ={v} _67;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
# DEBUG ram_addr => _55
# DEBUG BEGIN_STMT
# DEBUG RAM => RAM_56
# DEBUG BEGIN_STMT
base_22(D)->RXMGMASK ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->RXFGMASK ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->RX14MASK ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->RX15MASK ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 14>; [100.00%]
<bb 13> [local count: 37904966]:
# DEBUG BEGIN_STMT
_68 = RAM_56;
*_68 ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG databyte => 1
<bb 14> [local count: 75809932]:
# databyte_69 = PHI <0(12), 1(13)>
# DEBUG databyte => databyte_69
# DEBUG BEGIN_STMT
if (databyte_69 == 0)
goto <bb 13>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 37904966]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_70 ={v} base_22(D)->CTRL2;
_71 = _70 & 4026531839;
base_22(D)->CTRL2 ={v} _71;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG base => NULL
# DEBUG RAM => NULL
# DEBUG RAM_size => NULL
# DEBUG databyte => NULL
# DEBUG BEGIN_STMT
base_22(D)->RXMGMASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->RX14MASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->RX15MASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->IMASK1 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG1 ={v} 4294967295;
# DEBUG BEGIN_STMT
_8 = FlexCAN_GetMaxMbNum (base_22(D));
if (_8 > 32)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 18952483]:
# DEBUG BEGIN_STMT
base_22(D)->IMASK2 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG2 ={v} 4294967295;
<bb 17> [local count: 37904966]:
# DEBUG BEGIN_STMT
if (_8 > 64)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 18952483]:
# DEBUG BEGIN_STMT
base_22(D)->IMASK3 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG3 ={v} 4294967295;
<bb 19> [local count: 37904966]:
# DEBUG BEGIN_STMT
base_22(D)->ESR1 ={v} 3866630;
# DEBUG BEGIN_STMT
base_22(D)->CTRL1 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->CTRL2 ={v} 1048576;
# DEBUG BEGIN_STMT
base_22(D)->CBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->EPRS ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->ENCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->EDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->ETDC ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->FDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->FDCTRL ={v} 2147500288;
<bb 20> [local count: 114863532]:
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_10;
}
;; Function FlexCAN_EnableRxFifo (FlexCAN_EnableRxFifo, funcdef_no=61, decl_uid=4790, cgraph_uid=62, symbol_order=62)
FlexCAN_EnableRxFifo (struct FLEXCAN_Type * base, uint32 numOfFilters)
{
Flexcan_Ip_StatusType stat;
uint32 i;
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 _17;
<bb 2> [local count: 357913939]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = FlexCAN_GetMaxMbNum (base_15(D));
# DEBUG noOfMbx => (uint16) _1
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
_2 ={v} base_15(D)->MCR;
_3 = _2 & 2048;
if (_3 != 0)
goto <bb 6>; [67.00%]
else
goto <bb 3>; [33.00%]
<bb 3> [local count: 118111600]:
# DEBUG stat => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08 ();
# DEBUG BEGIN_STMT
_4 ={v} base_15(D)->MCR;
_5 = _4 | 536870912;
base_15(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
_6 ={v} base_15(D)->CTRL2;
_7 = _6 & 4043309055;
_8 = numOfFilters_20(D) << 24;
_9 = _8 & 251658240;
_10 = _7 | _9;
base_15(D)->CTRL2 ={v} _10;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08 ();
# DEBUG BEGIN_STMT
base_15(D)->RXFGMASK ={v} 4294967295;
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 4> [local count: 955630223]:
# DEBUG BEGIN_STMT
base_15(D)->RXIMR[i_11] ={v} 536870911;
# DEBUG BEGIN_STMT
i_25 = i_11 + 1;
# DEBUG i => i_25
<bb 5> [local count: 1073741824]:
# i_11 = PHI <0(3), i_25(4)>
# DEBUG i => i_11
# DEBUG BEGIN_STMT
_17 = _1 & 65535;
if (i_11 < _17)
goto <bb 4>; [89.00%]
else
goto <bb 6>; [11.00%]
<bb 6> [local count: 357913940]:
# stat_16 = PHI <1(2), 0(5)>
# DEBUG stat => NULL
# DEBUG BEGIN_STMT
return stat_16;
}
;; Function FlexCAN_SetPayloadSize (FlexCAN_SetPayloadSize, funcdef_no=62, decl_uid=4808, cgraph_uid=63, symbol_order=63)
FlexCAN_SetPayloadSize (struct FLEXCAN_Type * base, const struct Flexcan_Ip_PayloadSizeType * payloadSize)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
uint32 tmp;
<unnamed type> _1;
_Bool _2;
<unnamed type> _3;
_Bool _4;
<unnamed type> _5;
_Bool _6;
<unnamed type> _7;
long unsigned int _8;
long unsigned int _9;
<unnamed type> _10;
long unsigned int _11;
long unsigned int _12;
<unnamed type> _13;
long unsigned int _14;
long unsigned int _15;
int iftmp.4_16;
int iftmp.5_17;
int iftmp.6_18;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
_Bool x.7_37;
long unsigned int _38;
long unsigned int _39;
_Bool x.7_40;
long unsigned int _41;
long unsigned int _42;
_Bool x.7_43;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_33 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_34 = _33 & 2048;
# DEBUG base => NULL
if (_34 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 107374]:
_1 = payloadSize_22(D)->payloadBlock0;
if (_1 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 53687]:
<bb 5> [local count: 214748]:
# iftmp.4_16 = PHI <1(3), 0(4), 1(2)>
_2 = (_Bool) iftmp.4_16;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_37 ={v} x;
if (x.7_37 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 22> [local count: 107374]:
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 25> [local count: 1073741824]:
goto <bb 6>; [100.00%]
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_35 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_36 = _35 & 2048;
# DEBUG base => NULL
if (_36 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 53687]:
_3 = payloadSize_22(D)->payloadBlock1;
if (_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
<bb 10> [local count: 107374]:
# iftmp.5_17 = PHI <1(8), 0(9), 1(7)>
_4 = (_Bool) iftmp.5_17;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_40 ={v} x;
if (x.7_40 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 53687]:
<bb 11> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 24> [local count: 536870913]:
goto <bb 11>; [100.00%]
<bb 12> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_38 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_39 = _38 & 2048;
# DEBUG base => NULL
if (_39 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 26844]:
_5 = payloadSize_22(D)->payloadBlock2;
if (_5 == 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 13422]:
<bb 15> [local count: 53687]:
# iftmp.6_18 = PHI <1(13), 0(14), 1(12)>
_6 = (_Bool) iftmp.6_18;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_43 ={v} x;
if (x.7_43 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 26844]:
<bb 16> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 268435456]:
goto <bb 16>; [100.00%]
<bb 17> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_41 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_42 = _41 & 2048;
# DEBUG base => NULL
if (_42 != 0)
goto <bb 18>; [33.00%]
else
goto <bb 19>; [67.00%]
<bb 18> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09 ();
# DEBUG BEGIN_STMT
tmp_24 ={v} base_21(D)->FDCTRL;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
tmp_25 = tmp_24 & 4294770687;
# DEBUG tmp => tmp_25
# DEBUG BEGIN_STMT
_7 = payloadSize_22(D)->payloadBlock0;
_8 = (long unsigned int) _7;
_9 = _8 << 16;
tmp_26 = _9 | tmp_25;
# DEBUG tmp => tmp_26
# DEBUG BEGIN_STMT
tmp_27 = tmp_26 & 4293394431;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
_10 = payloadSize_22(D)->payloadBlock1;
_11 = (long unsigned int) _10;
_12 = _11 << 19;
tmp_28 = _12 | tmp_27;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
tmp_29 = tmp_28 & 4282384383;
# DEBUG tmp => tmp_29
# DEBUG BEGIN_STMT
_13 = payloadSize_22(D)->payloadBlock2;
_14 = (long unsigned int) _13;
_15 = _14 << 22;
tmp_30 = _15 | tmp_29;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
base_21(D)->FDCTRL ={v} tmp_30;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09 ();
<bb 19> [local count: 26844]:
return;
}
;; Function FlexCAN_GetPayloadSize (FlexCAN_GetPayloadSize, funcdef_no=63, decl_uid=4832, cgraph_uid=64, symbol_order=64)
FlexCAN_GetPayloadSize (const struct FLEXCAN_Type * base, uint8 mbdsrIdx)
{
uint32 payloadSize;
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 _21;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
switch (mbdsrIdx_14(D)) <default: <L3> [25.00%], case 0: <L0> [25.00%], case 1: <L1> [25.00%], case 2: <L2> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
_1 ={v} base_16(D)->FDCTRL;
_2 = _1 >> 16;
_3 = _2 & 3;
payloadSize_19 = 8 << _3;
# DEBUG payloadSize => payloadSize_19
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 4> [local count: 268435456]:
<L1>:
# DEBUG BEGIN_STMT
_4 ={v} base_16(D)->FDCTRL;
_5 = _4 >> 19;
_6 = _5 & 3;
payloadSize_18 = 8 << _6;
# DEBUG payloadSize => payloadSize_18
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 5> [local count: 268435456]:
<L2>:
# DEBUG BEGIN_STMT
_7 ={v} base_16(D)->FDCTRL;
_8 = _7 >> 22;
_9 = _8 & 3;
payloadSize_17 = 8 << _9;
# DEBUG payloadSize => payloadSize_17
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 6> [local count: 268435456]:
<L3>:
# DEBUG BEGIN_STMT
_10 ={v} base_16(D)->FDCTRL;
_11 = _10 >> 16;
_12 = _11 & 3;
payloadSize_20 = 8 << _12;
# DEBUG payloadSize => payloadSize_20
# DEBUG BEGIN_STMT
<bb 7> [local count: 1073741824]:
# payloadSize_13 = PHI <payloadSize_19(3), payloadSize_18(4), payloadSize_17(5), payloadSize_20(6)>
# DEBUG payloadSize => payloadSize_13
# DEBUG BEGIN_STMT
_21 = (uint8) payloadSize_13;
return _21;
}
;; Function FlexCAN_GetMsgBuffRegion (FlexCAN_GetMsgBuffRegion, funcdef_no=53, decl_uid=4947, cgraph_uid=54, symbol_order=54)
FlexCAN_GetMsgBuffRegion (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
volatile uint32 * pAddressRet;
volatile uint32 * RAM;
uint8 payload_size;
uint32 mb_index;
uint8 maxMbNum;
uint8 i;
uint32 msgBuffIdxBackup;
uint32 ramBlockOffset;
uint8 mb_size;
long unsigned int base.0_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _6;
long unsigned int _7;
unsigned char _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _21;
<bb 2> [local count: 312727306]:
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
# DEBUG mb_size => 0
# DEBUG BEGIN_STMT
# DEBUG ramBlockSize => 512
# DEBUG BEGIN_STMT
# DEBUG ramBlockOffset => 0
# DEBUG BEGIN_STMT
# DEBUG msgBuffIdxBackup => msgBuffIdx_23(D)
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG maxMbNum => 0
# DEBUG BEGIN_STMT
# DEBUG mb_index => 0
# DEBUG BEGIN_STMT
# DEBUG payload_size => 0
# DEBUG BEGIN_STMT
base.0_1 = (long unsigned int) base_24(D);
_2 = base.0_1 + 128;
RAM_25 = (volatile uint32 *) _2;
# DEBUG RAM => RAM_25
# DEBUG BEGIN_STMT
# DEBUG pAddressRet => 0B
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 3> [local count: 805306368]:
# DEBUG BEGIN_STMT
payload_size_28 = FlexCAN_GetPayloadSize (base_24(D), i_16);
# DEBUG payload_size => payload_size_28
# DEBUG BEGIN_STMT
mb_size_29 = payload_size_28 + 8;
# DEBUG mb_size => mb_size_29
# DEBUG BEGIN_STMT
_3 = (long unsigned int) mb_size_29;
_4 = 512 / _3;
maxMbNum_30 = (uint8) _4;
# DEBUG maxMbNum => maxMbNum_30
# DEBUG BEGIN_STMT
_21 = _4 & 255;
if (msgBuffIdxBackup_15 < _21)
goto <bb 6>; [5.50%]
else
goto <bb 4>; [94.50%]
<bb 4> [local count: 761014519]:
# DEBUG BEGIN_STMT
ramBlockOffset_31 = ramBlockOffset_14 + 128;
# DEBUG ramBlockOffset => ramBlockOffset_31
# DEBUG BEGIN_STMT
msgBuffIdxBackup_32 = msgBuffIdxBackup_15 - _21;
# DEBUG msgBuffIdxBackup => msgBuffIdxBackup_32
# DEBUG BEGIN_STMT
i_33 = i_16 + 1;
# DEBUG i => i_33
<bb 5> [local count: 1073741824]:
# mb_size_12 = PHI <0(2), mb_size_29(4)>
# ramBlockOffset_14 = PHI <0(2), ramBlockOffset_31(4)>
# msgBuffIdxBackup_15 = PHI <msgBuffIdx_23(D)(2), msgBuffIdxBackup_32(4)>
# i_16 = PHI <0(2), i_33(4)>
# maxMbNum_17 = PHI <0(2), maxMbNum_30(4)>
# DEBUG maxMbNum => maxMbNum_17
# DEBUG i => i_16
# DEBUG msgBuffIdxBackup => msgBuffIdxBackup_15
# DEBUG ramBlockOffset => ramBlockOffset_14
# DEBUG mb_size => mb_size_12
# DEBUG BEGIN_STMT
if (i_16 != 3)
goto <bb 3>; [75.00%]
else
goto <bb 6>; [25.00%]
<bb 6> [local count: 312727306]:
# mb_size_13 = PHI <mb_size_29(3), mb_size_12(5)>
# maxMbNum_18 = PHI <maxMbNum_30(3), maxMbNum_17(5)>
# ramBlockOffset_5 = PHI <ramBlockOffset_14(3), ramBlockOffset_14(5)>
# msgBuffIdxBackup_22 = PHI <msgBuffIdxBackup_15(3), msgBuffIdxBackup_15(5)>
# DEBUG maxMbNum => maxMbNum_18
# DEBUG mb_size => mb_size_13
# DEBUG BEGIN_STMT
_6 = (long unsigned int) maxMbNum_18;
_7 = msgBuffIdxBackup_22 % _6;
_8 = mb_size_13 >> 2;
_9 = (long unsigned int) _8;
_10 = _7 * _9;
mb_index_34 = ramBlockOffset_5 + _10;
# DEBUG mb_index => mb_index_34
# DEBUG BEGIN_STMT
_11 = mb_index_34 * 4;
pAddressRet_35 = RAM_25 + _11;
# DEBUG pAddressRet => pAddressRet_35
# DEBUG BEGIN_STMT
return pAddressRet_35;
}
;; Function FlexCAN_GetMbPayloadSize (FlexCAN_GetMbPayloadSize, funcdef_no=64, decl_uid=4835, cgraph_uid=65, symbol_order=65)
FlexCAN_GetMbPayloadSize (const struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
{
uint8 mb_size;
uint8 i;
uint8 maxMbBlockNum;
uint8 can_real_payload;
long unsigned int _1;
long unsigned int _2;
unsigned char _3;
long unsigned int _4;
<bb 2> [local count: 312727306]:
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
# DEBUG ramBlockSize => 512
# DEBUG BEGIN_STMT
# DEBUG can_real_payload => 8
# DEBUG BEGIN_STMT
# DEBUG maxMbBlockNum => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG mb_size => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 3> [local count: 805306368]:
# DEBUG BEGIN_STMT
can_real_payload_14 = FlexCAN_GetPayloadSize (base_12(D), i_8);
# DEBUG can_real_payload => can_real_payload_14
# DEBUG BEGIN_STMT
mb_size_15 = can_real_payload_14 + 8;
# DEBUG mb_size => mb_size_15
# DEBUG BEGIN_STMT
_1 = (long unsigned int) mb_size_15;
_2 = 512 / _1;
_3 = (unsigned char) _2;
maxMbBlockNum_16 = _3 + maxMbBlockNum_7;
# DEBUG maxMbBlockNum => maxMbBlockNum_16
# DEBUG BEGIN_STMT
_4 = (long unsigned int) maxMbBlockNum_16;
if (_4 > maxMsgBuffNum_17(D))
goto <bb 6>; [5.50%]
else
goto <bb 4>; [94.50%]
<bb 4> [local count: 761014519]:
# DEBUG BEGIN_STMT
i_18 = i_8 + 1;
# DEBUG i => i_18
<bb 5> [local count: 1073741824]:
# can_real_payload_5 = PHI <8(2), can_real_payload_14(4)>
# maxMbBlockNum_7 = PHI <0(2), maxMbBlockNum_16(4)>
# i_8 = PHI <0(2), i_18(4)>
# DEBUG i => i_8
# DEBUG maxMbBlockNum => maxMbBlockNum_7
# DEBUG can_real_payload => can_real_payload_5
# DEBUG BEGIN_STMT
if (i_8 != 3)
goto <bb 3>; [75.00%]
else
goto <bb 6>; [25.00%]
<bb 6> [local count: 312727306]:
# can_real_payload_6 = PHI <can_real_payload_14(3), can_real_payload_5(5)>
# DEBUG can_real_payload => can_real_payload_6
# DEBUG BEGIN_STMT
return can_real_payload_6;
}
;; Function FlexCAN_LockRxMsgBuff (FlexCAN_LockRxMsgBuff, funcdef_no=65, decl_uid=4769, cgraph_uid=66, symbol_order=66)
FlexCAN_LockRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
const uint32 * flexcan_mb;
long unsigned int vol.9_6;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
flexcan_mb_5 = FlexCAN_GetMsgBuffRegion (base_2(D), msgBuffIdx_3(D));
# DEBUG flexcan_mb => flexcan_mb_5
# DEBUG BEGIN_STMT
vol.9_6 ={v} *flexcan_mb_5;
return;
}
;; Function FlexCAN_SetMsgBuffIntCmd (FlexCAN_SetMsgBuffIntCmd, funcdef_no=66, decl_uid=4775, cgraph_uid=67, symbol_order=67)
FlexCAN_SetMsgBuffIntCmd (struct FLEXCAN_Type * base, uint8 u8Instance, uint32 msgBuffIdx, boolean enable, boolean bIsIntActive)
{
uint32 temp;
long unsigned int _1;
int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
_1 = msgBuffIdx_37(D) & 31;
temp_38 = 1 << _1;
# DEBUG temp => temp_38
# DEBUG BEGIN_STMT
if (msgBuffIdx_37(D) <= 31)
goto <bb 3>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_42(D);
_3 ={v} g_FlexCAN_u32ImaskBuff[_2][0];
_4 = _3 | temp_38;
g_FlexCAN_u32ImaskBuff[_2][0] ={v} _4;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
_5 ={v} g_FlexCAN_u32ImaskBuff[_2][0];
base_44(D)->IMASK1 ={v} _5;
<bb 6> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 8>; [100.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_6 = (int) u8Instance_42(D);
_7 ={v} g_FlexCAN_u32ImaskBuff[_6][0];
_8 = ~temp_38;
_9 = _7 & _8;
g_FlexCAN_u32ImaskBuff[_6][0] ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} g_FlexCAN_u32ImaskBuff[_6][0];
base_44(D)->IMASK1 ={v} _10;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 8> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_11 = msgBuffIdx_37(D) + 4294967264;
if (_11 <= 31)
goto <bb 9>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 10>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 10> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_12 = (int) u8Instance_42(D);
_13 ={v} g_FlexCAN_u32ImaskBuff[_12][1];
_14 = _13 | temp_38;
g_FlexCAN_u32ImaskBuff[_12][1] ={v} _14;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 134217728]:
# DEBUG BEGIN_STMT
_15 ={v} g_FlexCAN_u32ImaskBuff[_12][1];
base_44(D)->IMASK2 ={v} _15;
<bb 12> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 14>; [100.00%]
<bb 13> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_16 = (int) u8Instance_42(D);
_17 ={v} g_FlexCAN_u32ImaskBuff[_16][1];
_18 = ~temp_38;
_19 = _17 & _18;
g_FlexCAN_u32ImaskBuff[_16][1] ={v} _19;
# DEBUG BEGIN_STMT
_20 ={v} g_FlexCAN_u32ImaskBuff[_16][1];
base_44(D)->IMASK2 ={v} _20;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 14> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_21 = msgBuffIdx_37(D) + 4294967232;
if (_21 <= 31)
goto <bb 15>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 15> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 16>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 16> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_22 = (int) u8Instance_42(D);
_23 ={v} g_FlexCAN_u32ImaskBuff[_22][2];
_24 = _23 | temp_38;
g_FlexCAN_u32ImaskBuff[_22][2] ={v} _24;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 17>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 17> [local count: 134217728]:
# DEBUG BEGIN_STMT
_25 ={v} g_FlexCAN_u32ImaskBuff[_22][2];
base_44(D)->IMASK3 ={v} _25;
<bb 18> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 20>; [100.00%]
<bb 19> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_26 = (int) u8Instance_42(D);
_27 ={v} g_FlexCAN_u32ImaskBuff[_26][2];
_28 = ~temp_38;
_29 = _27 & _28;
g_FlexCAN_u32ImaskBuff[_26][2] ={v} _29;
# DEBUG BEGIN_STMT
_30 ={v} g_FlexCAN_u32ImaskBuff[_26][2];
base_44(D)->IMASK3 ={v} _30;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 20> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return 0;
}
;; Function FLEXCAN_ClearMsgBuffIntCmd (FLEXCAN_ClearMsgBuffIntCmd, funcdef_no=67, decl_uid=4736, cgraph_uid=68, symbol_order=68)
FLEXCAN_ClearMsgBuffIntCmd (struct FLEXCAN_Type * pBase, uint8 u8Instance, uint32 mb_idx, boolean bIsIntActive)
{
uint32 temp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
int _16;
long unsigned int _17;
long unsigned int _18;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = mb_idx_25(D) & 31;
temp_26 = 1 << _1;
# DEBUG temp => temp_26
# DEBUG BEGIN_STMT
if (mb_idx_25(D) <= 31)
goto <bb 3>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_2 ={v} pBase_29(D)->IMASK1;
_3 = ~temp_26;
_4 = (int) u8Instance_30(D);
_5 = _2 & _3;
g_FlexCAN_u32ImaskBuff[_4][0] ={v} _5;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 177167401]:
# DEBUG BEGIN_STMT
_6 ={v} g_FlexCAN_u32ImaskBuff[_4][0];
pBase_29(D)->IMASK1 ={v} _6;
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_7 = mb_idx_25(D) + 4294967264;
if (_7 <= 31)
goto <bb 7>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 7> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_8 ={v} pBase_29(D)->IMASK2;
_9 = ~temp_26;
_10 = (int) u8Instance_30(D);
_11 = _8 & _9;
g_FlexCAN_u32ImaskBuff[_10][1] ={v} _11;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 177167401]:
# DEBUG BEGIN_STMT
_12 ={v} g_FlexCAN_u32ImaskBuff[_10][1];
pBase_29(D)->IMASK2 ={v} _12;
<bb 9> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_13 = mb_idx_25(D) + 4294967232;
if (_13 <= 31)
goto <bb 11>; [33.00%]
else
goto <bb 14>; [67.00%]
<bb 11> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_14 ={v} pBase_29(D)->IMASK3;
_15 = ~temp_26;
_16 = (int) u8Instance_30(D);
_17 = _14 & _15;
g_FlexCAN_u32ImaskBuff[_16][2] ={v} _17;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 177167401]:
# DEBUG BEGIN_STMT
_18 ={v} g_FlexCAN_u32ImaskBuff[_16][2];
pBase_29(D)->IMASK3 ={v} _18;
<bb 13> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 14> [local count: 1073741824]:
return;
}
;; Function FlexCAN_DisableInterrupts (FlexCAN_DisableInterrupts, funcdef_no=68, decl_uid=4777, cgraph_uid=69, symbol_order=69)
FlexCAN_DisableInterrupts (struct FLEXCAN_Type * pBase)
{
uint32 u32MaxMbCrtlNum;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
u32MaxMbCrtlNum_5 = FlexCAN_GetMaxMbNum (pBase_4(D));
# DEBUG u32MaxMbCrtlNum => u32MaxMbCrtlNum_5
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK1 ={v} 0;
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_5 > 32)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK2 ={v} 0;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_5 > 64)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK3 ={v} 0;
<bb 6> [local count: 1073741824]:
return;
}
;; Function FlexCAN_EnableInterrupts (FlexCAN_EnableInterrupts, funcdef_no=69, decl_uid=4780, cgraph_uid=70, symbol_order=70)
FlexCAN_EnableInterrupts (struct FLEXCAN_Type * pBase, uint8 u8Instance)
{
uint32 u32MaxMbCrtlNum;
int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
u32MaxMbCrtlNum_9 = FlexCAN_GetMaxMbNum (pBase_8(D));
# DEBUG u32MaxMbCrtlNum => u32MaxMbCrtlNum_9
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_10(D);
_2 ={v} g_FlexCAN_u32ImaskBuff[_1][0];
pBase_8(D)->IMASK1 ={v} _2;
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_9 > 32)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_3 ={v} g_FlexCAN_u32ImaskBuff[_1][1];
pBase_8(D)->IMASK2 ={v} _3;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_9 > 64)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
_4 ={v} g_FlexCAN_u32ImaskBuff[_1][2];
pBase_8(D)->IMASK3 ={v} _4;
<bb 6> [local count: 1073741824]:
return;
}
;; Function FlexCAN_SetRxMsgBuff (FlexCAN_SetRxMsgBuff, funcdef_no=70, decl_uid=4798, cgraph_uid=71, symbol_order=71)
FlexCAN_SetRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId)
{
volatile boolean x;
volatile uint32 * flexcan_mb;
_Bool _1;
<unnamed type> _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;
<unnamed type> _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;
_Bool x.7_50;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
flexcan_mb_36 = FlexCAN_GetMsgBuffRegion (base_33(D), msgBuffIdx_34(D));
# DEBUG flexcan_mb => flexcan_mb_36
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_36 + 4
# DEBUG BEGIN_STMT
_1 = cs_37(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_50 ={v} x;
if (x.7_50 != 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
*flexcan_mb_36 ={v} 0;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
_2 = cs_37(D)->msgIdType;
if (_2 == 1)
goto <bb 5>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 5> [local count: 36507]:
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_36;
_4 = _3 | 2097152;
*flexcan_mb_36 ={v} _4;
# DEBUG BEGIN_STMT
_5 ={v} *flexcan_mb_36;
_6 = _5 & 4290772991;
*flexcan_mb_36 ={v} _6;
# DEBUG BEGIN_STMT
_7 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_8 = _7 & 3758096384;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_10 = msgId_43(D) & 536870911;
_11 = _9 | _10;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _11;
<bb 6> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 = cs_37(D)->msgIdType;
if (_12 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
# DEBUG BEGIN_STMT
_13 ={v} *flexcan_mb_36;
_14 = _13 & 4288675839;
*flexcan_mb_36 ={v} _14;
# DEBUG BEGIN_STMT
_15 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_16 = _15 & 3758358527;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _16;
# DEBUG BEGIN_STMT
_17 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_18 = msgId_43(D) << 18;
_19 = _18 & 536608768;
_20 = _17 | _19;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _20;
<bb 8> [local count: 107374]:
# DEBUG BEGIN_STMT
_21 = cs_37(D)->code;
if (_21 != 15)
goto <bb 9>; [66.00%]
else
goto <bb 10>; [34.00%]
<bb 9> [local count: 70867]:
# DEBUG BEGIN_STMT
_22 ={v} *flexcan_mb_36;
_23 = _22 & 4043309055;
*flexcan_mb_36 ={v} _23;
# DEBUG BEGIN_STMT
_24 ={v} *flexcan_mb_36;
_25 = cs_37(D)->code;
_26 = _25 << 24;
_27 = _26 & 251658240;
_28 = _24 | _27;
*flexcan_mb_36 ={v} _28;
<bb 10> [local count: 107374]:
return;
}
;; Function FlexCAN_GetMsgBuffTimestamp (FlexCAN_GetMsgBuffTimestamp, funcdef_no=71, decl_uid=4801, cgraph_uid=72, symbol_order=72)
FlexCAN_GetMsgBuffTimestamp (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
const uint32 * flexcan_mb;
uint32 timestamp;
long unsigned int _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG timestamp => 0
# DEBUG BEGIN_STMT
flexcan_mb_6 = FlexCAN_GetMsgBuffRegion (base_3(D), msgBuffIdx_4(D));
# DEBUG flexcan_mb => flexcan_mb_6
# DEBUG BEGIN_STMT
_1 ={v} *flexcan_mb_6;
timestamp_7 = _1 & 65535;
# DEBUG timestamp => timestamp_7
# DEBUG BEGIN_STMT
return timestamp_7;
}
;; Function FlexCAN_GetMsgBuff (FlexCAN_GetMsgBuff, funcdef_no=72, decl_uid=4805, cgraph_uid=73, symbol_order=73)
Merging blocks 3 and 17
Removing basic block 15
Removing basic block 16
FlexCAN_GetMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, struct Flexcan_Ip_MsgBuffType * msgBuff)
{
volatile boolean x;
uint8 payload_size;
uint8 flexcan_mb_dlc_value;
uint32 mbWord;
uint32 * msgBuff_data_32;
const uint32 * flexcan_mb;
uint8 i;
long unsigned int _1;
long unsigned int _2;
unsigned char _3;
_Bool _4;
unsigned char _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;
unsigned char _12;
unsigned int _13;
unsigned int _14;
const uint32 * _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;
uint32 * _24;
long unsigned int _25;
unsigned int _26;
unsigned int _27;
unsigned int _28;
unsigned char _29;
sizetype _30;
const uint8 * _31;
int _32;
unsigned char _33;
_Bool x.7_49;
sizetype _51;
sizetype _60;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
flexcan_mb_45 = FlexCAN_GetMsgBuffRegion (base_42(D), msgBuffIdx_43(D));
# DEBUG flexcan_mb => flexcan_mb_45
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_45 + 4
# DEBUG BEGIN_STMT
# DEBUG D#1 => flexcan_mb_45 + 8
# DEBUG flexcan_mb_data => D#1
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => D#1
# DEBUG BEGIN_STMT
msgBuff_data_32_47 = &msgBuff_46(D)->data;
# DEBUG msgBuff_data_32 => msgBuff_data_32_47
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 ={v} *flexcan_mb_45;
_2 = _1 >> 16;
_3 = (unsigned char) _2;
flexcan_mb_dlc_value_48 = _3 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_48
# DEBUG BEGIN_STMT
payload_size_50 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_48);
# DEBUG payload_size => payload_size_50
# DEBUG BEGIN_STMT
_4 = msgBuff_46(D) != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_49 ={v} x;
if (x.7_49 != 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
_5 = FlexCAN_GetMbPayloadSize (base_42(D), msgBuffIdx_43(D));
if (_5 < payload_size_50)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 35433]:
# DEBUG BEGIN_STMT
payload_size_54 = FlexCAN_GetMbPayloadSize (base_42(D), msgBuffIdx_43(D));
# DEBUG payload_size => payload_size_54
<bb 6> [local count: 107374]:
# payload_size_36 = PHI <payload_size_50(4), payload_size_54(5)>
# DEBUG payload_size => payload_size_36
# DEBUG BEGIN_STMT
msgBuff_46(D)->dataLen = payload_size_36;
# DEBUG BEGIN_STMT
_6 ={v} *flexcan_mb_45;
msgBuff_46(D)->cs = _6;
# DEBUG BEGIN_STMT
_7 = _6 & 2097152;
if (_7 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
# DEBUG BEGIN_STMT
_8 ={v} MEM[(const uint32 *)flexcan_mb_45 + 4B];
msgBuff_46(D)->msgId = _8;
goto <bb 9>; [100.00%]
<bb 8> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_45 + 4B];
_10 = _9 >> 18;
msgBuff_46(D)->msgId = _10;
<bb 9> [local count: 107374]:
# DEBUG BEGIN_STMT
_11 = _6 & 65535;
msgBuff_46(D)->time_stamp = _11;
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 11>; [100.00%]
<bb 10> [local count: 868753]:
# DEBUG BEGIN_STMT
_12 = i_34 >> 2;
_13 = (unsigned int) _12;
_14 = _13 * 4;
_51 = _14 + 8;
_15 = flexcan_mb_45 + _51;
mbWord_63 ={v} *_15;
# DEBUG mbWord => mbWord_63
# DEBUG BEGIN_STMT
_16 = mbWord_63 >> 24;
_17 = mbWord_63 >> 8;
_18 = _17 & 65280;
_19 = _16 | _18;
_20 = mbWord_63 << 8;
_21 = _20 & 16711680;
_22 = _19 | _21;
_23 = mbWord_63 << 24;
_24 = msgBuff_data_32_47 + _14;
_25 = _22 | _23;
*_24 = _25;
# DEBUG BEGIN_STMT
i_65 = i_34 + 4;
# DEBUG i => i_65
<bb 11> [local count: 976127]:
# i_34 = PHI <0(9), i_65(10)>
# DEBUG i => i_34
# DEBUG BEGIN_STMT
_26 = (unsigned int) i_34;
_27 = (unsigned int) payload_size_36;
_28 = _27 & 4294967292;
if (_26 < _28)
goto <bb 10>; [89.00%]
else
goto <bb 13>; [11.00%]
<bb 12> [local count: 868753]:
# DEBUG BEGIN_STMT
_29 = i_35 ^ 3;
_30 = (sizetype) _29;
_60 = _30 + 8;
_31 = flexcan_mb_45 + _60;
_32 = (int) i_35;
_33 ={v} *_31;
msgBuff_46(D)->data[_32] = _33;
# DEBUG BEGIN_STMT
i_62 = i_35 + 1;
# DEBUG i => i_62
<bb 13> [local count: 976127]:
# i_35 = PHI <i_62(12), i_34(11)>
# DEBUG i => i_35
# DEBUG BEGIN_STMT
if (i_35 < payload_size_36)
goto <bb 12>; [89.00%]
else
goto <bb 14>; [11.00%]
<bb 14> [local count: 107374]:
return;
}
;; Function FlexCAN_SetTxMsgBuff (FlexCAN_SetTxMsgBuff, funcdef_no=73, decl_uid=4787, cgraph_uid=74, symbol_order=74)
Merging blocks 3 and 37
Merging blocks 5 and 36
Removing basic block 32
Removing basic block 33
Removing basic block 34
Removing basic block 35
FlexCAN_SetTxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId, const uint8 * msgData, const boolean isRemote)
{
volatile boolean x;
volatile boolean x;
uint32 ret;
static const uint8 payload_code[65] = "\x00\x01\x02\x03\x04\x05\x06\x07\b\t\t\t\t\n\n\n\n\v\v\v\v\f\f\f\f\r\r\r\r\r\r\r\r\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f";
volatile uint8 * flexcan_mb_data;
volatile uint32 * flexcan_mb;
uint8 payload_size;
uint32 databyte;
uint32 flexcan_mb_config;
_Bool _1;
long unsigned int _2;
unsigned char _3;
unsigned char _4;
_Bool _5;
long unsigned int _6;
unsigned char _7;
long unsigned int _8;
long unsigned int _9;
const uint32 * _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;
volatile uint32 * _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
const uint8 * _24;
long unsigned int _25;
volatile uint8 * _26;
unsigned char _27;
long unsigned int _28;
long unsigned int _29;
volatile uint8 * _30;
unsigned char _31;
long unsigned int _32;
<unnamed type> _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
<unnamed type> _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;
_Bool _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
_Bool _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _73;
long unsigned int _80;
long unsigned int _82;
unsigned char _87;
int _88;
unsigned char _111;
_Bool x.7_112;
_Bool x.7_113;
sizetype _116;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
flexcan_mb_78 = FlexCAN_GetMsgBuffRegion (base_75(D), msgBuffIdx_76(D));
# DEBUG flexcan_mb => flexcan_mb_78
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_78 + 4
# DEBUG BEGIN_STMT
flexcan_mb_data_79 = flexcan_mb_78 + 8;
# DEBUG flexcan_mb_data => flexcan_mb_data_79
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => flexcan_mb_data_79
# DEBUG BEGIN_STMT
# DEBUG msgData_32 => msgData_81(D)
# DEBUG BEGIN_STMT
_1 = cs_83(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_113 ={v} x;
if (x.7_113 != 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
*flexcan_mb_78 ={v} 134217728;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
_2 = cs_83(D)->dataLen;
_3 = (unsigned char) _2;
_4 = FlexCAN_GetMbPayloadSize (base_75(D), msgBuffIdx_76(D));
_5 = _3 <= _4;
x ={v} _5;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_112 ={v} x;
if (x.7_112 != 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
_6 = cs_83(D)->dataLen;
_7 = (unsigned char) _6;
# DEBUG payloadSize => _7
# DEBUG INLINE_ENTRY FlexCAN_ComputeDLCValue
# DEBUG BEGIN_STMT
# DEBUG ret => 255
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (_7 <= 64)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
_73 = _6 & 255;
_88 = (int) _73;
_87 = payload_code[_88];
ret_109 = (uint32) _87;
# DEBUG ret => ret_109
<bb 8> [local count: 53687]:
# ret_110 = PHI <255(6), ret_109(7)>
# DEBUG ret => ret_110
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_111 = (unsigned char) ret_110;
# DEBUG payloadSize => NULL
# DEBUG ret => NULL
# DEBUG dlc_value => _111
# DEBUG BEGIN_STMT
if (msgData_81(D) != 0B)
goto <bb 10>; [70.00%]
else
goto <bb 16>; [30.00%]
<bb 9> [local count: 304064]:
# DEBUG BEGIN_STMT
_8 = databyte_63 >> 2;
_9 = _8 * 4;
_10 = msgData_81(D) + _9;
_11 = *_10;
_12 = _11 >> 24;
_13 = _11 >> 8;
_14 = _13 & 65280;
_15 = _12 | _14;
_16 = _11 << 8;
_17 = _16 & 16711680;
_18 = _15 | _17;
_19 = _11 << 24;
_116 = _9 + 8;
_20 = flexcan_mb_78 + _116;
_21 = _18 | _19;
*_20 ={v} _21;
# DEBUG BEGIN_STMT
databyte_95 = databyte_63 + 4;
# DEBUG databyte => databyte_95
<bb 10> [local count: 341645]:
# databyte_63 = PHI <databyte_95(9), 0(8)>
# DEBUG databyte => databyte_63
# DEBUG BEGIN_STMT
_22 = cs_83(D)->dataLen;
_23 = _22 & 4294967292;
if (_23 > databyte_63)
goto <bb 9>; [89.00%]
else
goto <bb 12>; [11.00%]
<bb 11> [local count: 304064]:
# DEBUG BEGIN_STMT
_24 = msgData_81(D) + databyte_64;
_25 = databyte_64 ^ 3;
_26 = flexcan_mb_data_79 + _25;
_27 = *_24;
*_26 ={v} _27;
# DEBUG BEGIN_STMT
databyte_93 = databyte_64 + 1;
# DEBUG databyte => databyte_93
<bb 12> [local count: 341645]:
# databyte_64 = PHI <databyte_93(11), databyte_63(10)>
# DEBUG databyte => databyte_64
# DEBUG BEGIN_STMT
_28 = cs_83(D)->dataLen;
if (_28 > databyte_64)
goto <bb 11>; [89.00%]
else
goto <bb 13>; [11.00%]
<bb 13> [local count: 37581]:
# _80 = PHI <_28(12)>
# DEBUG BEGIN_STMT
payload_size_89 = FlexCAN_ComputePayloadSize (_111);
# DEBUG payload_size => payload_size_89
# DEBUG BEGIN_STMT
# DEBUG databyte => _80
goto <bb 15>; [100.00%]
<bb 14> [local count: 304064]:
# DEBUG BEGIN_STMT
_29 = databyte_65 ^ 3;
_30 = flexcan_mb_data_79 + _29;
_31 = cs_83(D)->fd_padding;
*_30 ={v} _31;
# DEBUG BEGIN_STMT
databyte_91 = databyte_65 + 1;
# DEBUG databyte => databyte_91
<bb 15> [local count: 341645]:
# databyte_65 = PHI <_80(13), databyte_91(14)>
# DEBUG databyte => databyte_65
# DEBUG BEGIN_STMT
_32 = (long unsigned int) payload_size_89;
if (_32 > databyte_65)
goto <bb 14>; [89.00%]
else
goto <bb 16>; [11.00%]
<bb 16> [local count: 53687]:
# DEBUG BEGIN_STMT
_33 = cs_83(D)->msgIdType;
if (_33 == 1)
goto <bb 17>; [34.00%]
else
goto <bb 18>; [66.00%]
<bb 17> [local count: 18254]:
# DEBUG BEGIN_STMT
_34 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_35 = _34 & 3758096384;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _35;
# DEBUG BEGIN_STMT
_36 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_37 = msgId_97(D) & 536870911;
_38 = _36 | _37;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _38;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 6291456
<bb 18> [local count: 53687]:
# flexcan_mb_config_58 = PHI <0(16), 6291456(17)>
# DEBUG flexcan_mb_config => flexcan_mb_config_58
# DEBUG BEGIN_STMT
_39 = cs_83(D)->msgIdType;
if (_39 == 0)
goto <bb 19>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 19> [local count: 26844]:
# DEBUG BEGIN_STMT
_40 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_41 = _40 & 3758358527;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _41;
# DEBUG BEGIN_STMT
_42 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_43 = msgId_97(D) << 18;
_44 = _43 & 536608768;
_45 = _42 | _44;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _45;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
<bb 20> [local count: 53687]:
# flexcan_mb_config_59 = PHI <flexcan_mb_config_58(18), 0(19)>
# DEBUG flexcan_mb_config => flexcan_mb_config_59
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_59
# DEBUG BEGIN_STMT
_46 = ret_110 << 16;
_47 = _46 & 983040;
flexcan_mb_config_101 = _47 | flexcan_mb_config_59;
# DEBUG flexcan_mb_config => flexcan_mb_config_101
# DEBUG BEGIN_STMT
_48 = cs_83(D)->code;
if (_48 != 15)
goto <bb 21>; [66.00%]
else
goto <bb 31>; [34.00%]
<bb 21> [local count: 35433]:
# DEBUG BEGIN_STMT
if (_48 == 28)
goto <bb 22>; [34.00%]
else
goto <bb 23>; [66.00%]
<bb 22> [local count: 12047]:
# DEBUG BEGIN_STMT
flexcan_mb_config_104 = flexcan_mb_config_101 | 1048576;
# DEBUG flexcan_mb_config => flexcan_mb_config_104
goto <bb 25>; [100.00%]
<bb 23> [local count: 23386]:
# DEBUG BEGIN_STMT
if (isRemote_102(D) != 0)
goto <bb 24>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 24> [local count: 11693]:
# DEBUG BEGIN_STMT
flexcan_mb_config_103 = flexcan_mb_config_101 | 1048576;
# DEBUG flexcan_mb_config => flexcan_mb_config_103
<bb 25> [local count: 35433]:
# flexcan_mb_config_60 = PHI <flexcan_mb_config_104(22), flexcan_mb_config_101(23), flexcan_mb_config_103(24)>
# DEBUG flexcan_mb_config => flexcan_mb_config_60
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_60
# DEBUG BEGIN_STMT
_49 = cs_83(D)->fd_enable;
if (_49 != 0)
goto <bb 26>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 26> [local count: 17717]:
# DEBUG BEGIN_STMT
_50 = _48 << 24;
_51 = _50 & 251658240;
_52 = _51 | flexcan_mb_config_60;
# DEBUG flexcan_mb_config => _52 | 2147483648
# DEBUG BEGIN_STMT
_82 = _52 & 4293918719;
flexcan_mb_config_106 = _82 | 2147483648;
# DEBUG flexcan_mb_config => flexcan_mb_config_106
goto <bb 28>; [100.00%]
<bb 27> [local count: 17717]:
# DEBUG BEGIN_STMT
_53 = _48 << 24;
_54 = _53 & 251658240;
flexcan_mb_config_105 = _54 | flexcan_mb_config_60;
# DEBUG flexcan_mb_config => flexcan_mb_config_105
<bb 28> [local count: 35433]:
# flexcan_mb_config_61 = PHI <flexcan_mb_config_106(26), flexcan_mb_config_105(27)>
# DEBUG flexcan_mb_config => flexcan_mb_config_61
# DEBUG BEGIN_STMT
_55 = cs_83(D)->enable_brs;
if (_55 != 0)
goto <bb 29>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 29> [local count: 17717]:
# DEBUG BEGIN_STMT
flexcan_mb_config_107 = flexcan_mb_config_61 | 1073741824;
# DEBUG flexcan_mb_config => flexcan_mb_config_107
<bb 30> [local count: 35433]:
# flexcan_mb_config_62 = PHI <flexcan_mb_config_61(28), flexcan_mb_config_107(29)>
# DEBUG flexcan_mb_config => flexcan_mb_config_62
# DEBUG BEGIN_STMT
_56 ={v} *flexcan_mb_78;
_57 = _56 | flexcan_mb_config_62;
*flexcan_mb_78 ={v} _57;
<bb 31> [local count: 53687]:
return;
}
;; Function FlexCAN_SetMaxMsgBuffNum (FlexCAN_SetMaxMsgBuffNum, funcdef_no=74, decl_uid=4793, cgraph_uid=75, symbol_order=75)
Merging blocks 3 and 16
Removing basic block 14
Removing basic block 15
FlexCAN_SetMaxMsgBuffNum (struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
{
volatile boolean x;
Flexcan_Ip_StatusType status;
uint32 valEndRam;
uint32 valEndMb;
uint8 can_real_payload;
volatile uint32 * flexcan_mb;
const uint32 * valEndMbPointer;
const uint32 * RAM;
uint32 databyte;
uint8 msgBuffIdx;
long unsigned int base.11_1;
long unsigned int _2;
long unsigned int _3;
_Bool _4;
long unsigned int _5;
long unsigned int valEndMbPointer.12_6;
long unsigned int _7;
const uint32 * _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;
volatile uint8 * _16;
long unsigned int _17;
long unsigned int _18;
sizetype _27;
_Bool x.7_37;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.11_1 = (long unsigned int) base_25(D);
_2 = base.11_1 + 128;
RAM_26 = (const uint32 *) _2;
# DEBUG RAM => RAM_26
# DEBUG BEGIN_STMT
# DEBUG valEndMbPointer => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data => 0B
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
_3 = maxMsgBuffNum_29(D) + 4294967295;
can_real_payload_32 = FlexCAN_GetMbPayloadSize (base_25(D), _3);
# DEBUG can_real_payload => can_real_payload_32
# DEBUG BEGIN_STMT
# DEBUG valEndMb => 0
# DEBUG BEGIN_STMT
# DEBUG valEndRam => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_4 = maxMsgBuffNum_29(D) != 0;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_37 ={v} x;
if (x.7_37 != 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
valEndMbPointer_34 = FlexCAN_GetMsgBuffRegion (base_25(D), _3);
# DEBUG valEndMbPointer => valEndMbPointer_34
# DEBUG BEGIN_STMT
_5 = (long unsigned int) can_real_payload_32;
valEndMbPointer.12_6 = (long unsigned int) valEndMbPointer_34;
_7 = _5 + valEndMbPointer.12_6;
valEndMb_35 = _7 + 8;
# DEBUG valEndMb => valEndMb_35
# DEBUG BEGIN_STMT
_8 = RAM_26 + 1536;
valEndRam_36 = (uint32) _8;
# DEBUG valEndRam => valEndRam_36
# DEBUG BEGIN_STMT
if (valEndMb_35 > valEndRam_36)
goto <bb 13>; [35.00%]
else
goto <bb 5>; [65.00%]
<bb 5> [local count: 69793]:
_9 = FlexCAN_GetMaxMbNum (base_25(D));
if (_9 < maxMsgBuffNum_29(D))
goto <bb 13>; [52.23%]
else
goto <bb 6>; [47.77%]
<bb 6> [local count: 33340]:
# DEBUG status => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11 ();
# DEBUG BEGIN_STMT
_10 ={v} base_25(D)->MCR;
_11 = _10 & 4294967168;
_12 = _3 & 127;
_13 = _11 | _12;
base_25(D)->MCR ={v} _13;
# DEBUG BEGIN_STMT
_14 ={v} base_25(D)->MCR;
_15 = _14 & 536870912;
if (_15 == 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 7> [local count: 134876]:
# DEBUG BEGIN_STMT
flexcan_mb_41 = FlexCAN_GetMsgBuffRegion (base_25(D), _18);
# DEBUG flexcan_mb => flexcan_mb_41
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_41 + 4
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data => flexcan_mb_41 + 8
# DEBUG BEGIN_STMT
*flexcan_mb_41 ={v} 0;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_41 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
can_real_payload_45 = FlexCAN_GetMbPayloadSize (base_25(D), _18);
# DEBUG can_real_payload => can_real_payload_45
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 9>; [100.00%]
<bb 8> [local count: 1091270]:
# DEBUG BEGIN_STMT
_27 = databyte_20 + 8;
_16 = flexcan_mb_41 + _27;
*_16 ={v} 0;
# DEBUG BEGIN_STMT
databyte_48 = databyte_20 + 1;
# DEBUG databyte => databyte_48
<bb 9> [local count: 1226147]:
# databyte_20 = PHI <0(7), databyte_48(8)>
# DEBUG databyte => databyte_20
# DEBUG BEGIN_STMT
_17 = (long unsigned int) can_real_payload_45;
if (_17 > databyte_20)
goto <bb 8>; [89.00%]
else
goto <bb 10>; [11.00%]
<bb 10> [local count: 134876]:
# DEBUG BEGIN_STMT
msgBuffIdx_46 = msgBuffIdx_19 + 1;
# DEBUG msgBuffIdx => msgBuffIdx_46
<bb 11> [local count: 151546]:
# msgBuffIdx_19 = PHI <msgBuffIdx_46(10), 0(6)>
# DEBUG msgBuffIdx => msgBuffIdx_19
# DEBUG BEGIN_STMT
_18 = (long unsigned int) msgBuffIdx_19;
if (_18 < maxMsgBuffNum_29(D))
goto <bb 7>; [89.00%]
else
goto <bb 12>; [11.00%]
<bb 12> [local count: 33340]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11 ();
<bb 13> [local count: 107374]:
# status_28 = PHI <4(5), 0(12), 4(4)>
# DEBUG status => NULL
# DEBUG BEGIN_STMT
return status_28;
}
;; Function FlexCAN_SetOperationMode (FlexCAN_SetOperationMode, funcdef_no=75, decl_uid=4929, cgraph_uid=76, symbol_order=76)
FlexCAN_SetOperationMode (struct FLEXCAN_Type * base, Flexcan_Ip_ModesType mode)
{
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 _26;
long unsigned int _27;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
switch (mode_12(D)) <default: <L5> [25.00%], case 0: <L0> [25.00%], case 1: <L1> [25.00%], case 2: <L2> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_1 ={v} base_15(D)->CTRL1;
_2 = _1 & 4294967287;
base_15(D)->CTRL1 ={v} _2;
# DEBUG BEGIN_STMT
_3 ={v} base_15(D)->CTRL1;
_4 = _3 & 4294963199;
base_15(D)->CTRL1 ={v} _4;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 4> [local count: 268435456]:
<L1>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_5 ={v} base_15(D)->CTRL1;
_6 = _5 | 8;
base_15(D)->CTRL1 ={v} _6;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 5> [local count: 268435456]:
<L2>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_7 ={v} base_15(D)->CTRL1;
_8 = _7 | 4096;
base_15(D)->CTRL1 ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} base_15(D)->CTRL1;
_10 = _9 & 4294967287;
base_15(D)->CTRL1 ={v} _10;
# DEBUG BEGIN_STMT
# DEBUG base => base_15(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetSelfReception
# DEBUG BEGIN_STMT
_26 ={v} base_15(D)->MCR;
_27 = _26 & 4294836223;
base_15(D)->MCR ={v} _27;
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
<L5>:
return;
}
;; Function FlexCAN_SetRxFifoFilter (FlexCAN_SetRxFifoFilter, funcdef_no=76, decl_uid=4757, cgraph_uid=77, symbol_order=77)
FlexCAN_SetRxFifoFilter (struct FLEXCAN_Type * base, Flexcan_Ip_RxFifoIdElementFormatType idFormat, const struct Flexcan_Ip_IdTableType * idFilterTable)
{
volatile boolean x;
volatile uint32 * filterTable;
uint32 val;
uint32 val2;
uint32 val1;
uint32 numOfFilters;
uint32 j;
uint32 i;
long unsigned int base.15_1;
long unsigned int _2;
_Bool _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
const struct Flexcan_Ip_IdTableType * _9;
_Bool _10;
_Bool _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
volatile uint32 * _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
volatile uint32 * _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;
const struct Flexcan_Ip_IdTableType * _30;
_Bool _31;
sizetype _32;
sizetype _33;
const struct Flexcan_Ip_IdTableType * _34;
_Bool _35;
_Bool _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
volatile uint32 * _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
volatile uint32 * _48;
long unsigned int _49;
_Bool _50;
long unsigned int _51;
volatile uint32 * _52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _58;
long unsigned int _59;
volatile uint32 * _60;
long unsigned int _61;
long unsigned int _62;
long unsigned int _63;
long unsigned int _64;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
long unsigned int _68;
long unsigned int _69;
long unsigned int _70;
long unsigned int _71;
long unsigned int _72;
const struct Flexcan_Ip_IdTableType * _73;
_Bool _74;
long unsigned int _75;
long unsigned int _76;
long unsigned int _77;
long unsigned int _78;
volatile uint32 * _79;
long unsigned int _80;
long unsigned int _81;
long unsigned int _82;
long unsigned int _83;
volatile uint32 * _84;
sizetype _85;
sizetype _86;
const struct Flexcan_Ip_IdTableType * _87;
_Bool _88;
long unsigned int _89;
volatile uint32 * _90;
long unsigned int _91;
long unsigned int _92;
long unsigned int _93;
long unsigned int _94;
long unsigned int _95;
long unsigned int _96;
long unsigned int _97;
volatile uint32 * _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;
sizetype _105;
sizetype _106;
const struct Flexcan_Ip_IdTableType * _107;
_Bool _108;
long unsigned int _109;
volatile uint32 * _110;
long unsigned int _111;
long unsigned int _112;
long unsigned int _113;
long unsigned int _114;
long unsigned int _115;
long unsigned int _116;
long unsigned int _117;
volatile uint32 * _118;
long unsigned int _119;
long unsigned int _120;
long unsigned int _121;
long unsigned int _122;
long unsigned int _123;
long unsigned int _124;
sizetype _125;
sizetype _126;
const struct Flexcan_Ip_IdTableType * _127;
_Bool _128;
long unsigned int _129;
volatile uint32 * _130;
long unsigned int _131;
long unsigned int _132;
long unsigned int _133;
long unsigned int _134;
long unsigned int _135;
long unsigned int _136;
volatile uint32 * _137;
long unsigned int _138;
long unsigned int _139;
long unsigned int _140;
long unsigned int _141;
long unsigned int _142;
long unsigned int _143;
long unsigned int _144;
long unsigned int _145;
long unsigned int _146;
int iftmp.16_155;
_Bool x.7_207;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG val2 => 0
# DEBUG val => 0
# DEBUG BEGIN_STMT
base.15_1 = (long unsigned int) base_167(D);
_2 = base.15_1 + 224;
filterTable_168 = (volatile uint32 *) _2;
# DEBUG filterTable => filterTable_168
# DEBUG BEGIN_STMT
if (idFilterTable_169(D) != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 3>; [30.00%]
<bb 3> [local count: 64424]:
if (idFormat_170(D) == 3)
goto <bb 5>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 4> [local count: 42520]:
<bb 5> [local count: 214748]:
# iftmp.16_155 = PHI <1(3), 0(4), 1(2)>
_3 = (_Bool) iftmp.16_155;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_207 ={v} x;
if (x.7_207 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 46>; [50.00%]
<bb 46> [local count: 107374]:
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 47> [local count: 1073741824]:
goto <bb 6>; [100.00%]
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 ={v} base_167(D)->CTRL2;
_5 = _4 >> 24;
numOfFilters_172 = _5 & 15;
# DEBUG numOfFilters => numOfFilters_172
# DEBUG BEGIN_STMT
switch (idFormat_170(D)) <default: <L46> [20.00%], case 0: <L4> [20.00%], case 1: <L13> [20.00%], case 2: <L27> [20.00%], case 3: <L43> [20.00%]>
<bb 8> [local count: 21475]:
<L4>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_6 ={v} base_167(D)->MCR;
_7 = _6 & 4294966527;
base_167(D)->MCR ={v} _7;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 15>; [100.00%]
<bb 9> [local count: 173751]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
_8 = i_147 * 8;
_9 = idFilterTable_169(D) + _8;
_10 = _9->isRemoteFrame;
if (_10 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val => 2147483648
<bb 11> [local count: 173751]:
# val_154 = PHI <0(9), 2147483648(10)>
# DEBUG val => val_154
# DEBUG BEGIN_STMT
_11 = _9->isExtendedFrame;
if (_11 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 86875]:
# DEBUG BEGIN_STMT
val_204 = val_154 | 1073741824;
# DEBUG val => val_204
# DEBUG BEGIN_STMT
_12 = _9->id;
_13 = _12 << 1;
_14 = _13 & 1073741823;
_15 = i_147 * 4;
_16 = filterTable_168 + _15;
_17 = _14 + val_204;
*_16 ={v} _17;
goto <bb 14>; [100.00%]
<bb 13> [local count: 86875]:
# DEBUG BEGIN_STMT
_18 = _9->id;
_19 = _18 << 19;
_20 = _19 & 1073217536;
_21 = i_147 * 4;
_22 = filterTable_168 + _21;
_23 = _20 + val_154;
*_22 ={v} _23;
<bb 14> [local count: 173751]:
# DEBUG BEGIN_STMT
i_206 = i_147 + 1;
# DEBUG i => i_206
<bb 15> [local count: 195225]:
# i_147 = PHI <0(8), i_206(14)>
# DEBUG i => i_147
# DEBUG BEGIN_STMT
_24 = numOfFilters_172 + 1;
_25 = _24 * 8;
if (_25 > i_147)
goto <bb 9>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 16> [local count: 21475]:
<L13>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_26 ={v} base_167(D)->MCR;
_27 = _26 & 4294966527;
_28 = _27 | 256;
base_167(D)->MCR ={v} _28;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 28>; [100.00%]
<bb 17> [local count: 173751]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG BEGIN_STMT
_29 = j_150 * 8;
_30 = idFilterTable_169(D) + _29;
_31 = _30->isRemoteFrame;
if (_31 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 2147483648
<bb 19> [local count: 173751]:
# val1_152 = PHI <0(17), 2147483648(18)>
# DEBUG val1 => val1_152
# DEBUG BEGIN_STMT
_32 = j_150 + 1;
_33 = _32 * 8;
_34 = idFilterTable_169(D) + _33;
_35 = _34->isRemoteFrame;
if (_35 != 0)
goto <bb 20>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 20> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 32768
<bb 21> [local count: 173751]:
# val2_153 = PHI <0(19), 32768(20)>
# DEBUG val2 => val2_153
# DEBUG BEGIN_STMT
_36 = _30->isExtendedFrame;
if (_36 != 0)
goto <bb 22>; [50.00%]
else
goto <bb 23>; [50.00%]
<bb 22> [local count: 86875]:
# DEBUG BEGIN_STMT
val1_193 = val1_152 | 1073741824;
# DEBUG val1 => val1_193
# DEBUG BEGIN_STMT
_37 = _30->id;
_38 = _37 >> 15;
_39 = _38 << 16;
_40 = _39 & 1073676288;
_41 = i_148 * 4;
_42 = filterTable_168 + _41;
_43 = _40 + val1_193;
*_42 ={v} _43;
goto <bb 24>; [100.00%]
<bb 23> [local count: 86875]:
# DEBUG BEGIN_STMT
_44 = _30->id;
_45 = _44 << 19;
_46 = _45 & 1073217536;
_47 = i_148 * 4;
_48 = filterTable_168 + _47;
_49 = _46 + val1_152;
*_48 ={v} _49;
<bb 24> [local count: 173751]:
# DEBUG BEGIN_STMT
_50 = _34->isExtendedFrame;
if (_50 != 0)
goto <bb 25>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 25> [local count: 86875]:
# DEBUG BEGIN_STMT
val2_196 = val2_153 | 16384;
# DEBUG val2 => val2_196
# DEBUG BEGIN_STMT
_51 = i_148 * 4;
_52 = filterTable_168 + _51;
_53 ={v} *_52;
_54 = _34->id;
_55 = _54 >> 15;
_56 = _55 & 16383;
_57 = _56 + val2_196;
_58 = _53 | _57;
*_52 ={v} _58;
goto <bb 27>; [100.00%]
<bb 26> [local count: 86875]:
# DEBUG BEGIN_STMT
_59 = i_148 * 4;
_60 = filterTable_168 + _59;
_61 ={v} *_60;
_62 = _34->id;
_63 = _62 << 3;
_64 = _63 & 16376;
_65 = _64 + val2_153;
_66 = _61 | _65;
*_60 ={v} _66;
<bb 27> [local count: 173751]:
# DEBUG BEGIN_STMT
j_198 = j_150 + 2;
# DEBUG j => j_198
# DEBUG BEGIN_STMT
i_199 = i_148 + 1;
# DEBUG i => i_199
<bb 28> [local count: 195225]:
# i_148 = PHI <0(16), i_199(27)>
# j_150 = PHI <0(16), j_198(27)>
# DEBUG j => j_150
# DEBUG i => i_148
# DEBUG BEGIN_STMT
_67 = numOfFilters_172 + 1;
_68 = _67 * 8;
if (_68 > i_148)
goto <bb 17>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 29> [local count: 21475]:
<L27>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_69 ={v} base_167(D)->MCR;
_70 = _69 & 4294966527;
_71 = _70 | 512;
base_167(D)->MCR ={v} _71;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 43>; [100.00%]
<bb 30> [local count: 173751]:
# DEBUG BEGIN_STMT
_72 = j_151 * 8;
_73 = idFilterTable_169(D) + _72;
_74 = _73->isExtendedFrame;
if (_74 != 0)
goto <bb 31>; [50.00%]
else
goto <bb 32>; [50.00%]
<bb 31> [local count: 86875]:
# DEBUG BEGIN_STMT
_75 = _73->id;
_76 = _75 >> 21;
_77 = _76 << 24;
_78 = i_149 * 4;
_79 = filterTable_168 + _78;
*_79 ={v} _77;
goto <bb 33>; [100.00%]
<bb 32> [local count: 86875]:
# DEBUG BEGIN_STMT
_80 = _73->id;
_81 = _80 >> 3;
_82 = _81 << 24;
_83 = i_149 * 4;
_84 = filterTable_168 + _83;
*_84 ={v} _82;
<bb 33> [local count: 173751]:
# DEBUG BEGIN_STMT
_85 = j_151 + 1;
_86 = _85 * 8;
_87 = idFilterTable_169(D) + _86;
_88 = _87->isExtendedFrame;
if (_88 != 0)
goto <bb 34>; [50.00%]
else
goto <bb 35>; [50.00%]
<bb 34> [local count: 86875]:
# DEBUG BEGIN_STMT
_89 = i_149 * 4;
_90 = filterTable_168 + _89;
_91 ={v} *_90;
_92 = _87->id;
_93 = _92 >> 21;
_94 = _93 << 16;
_95 = _94 & 16711680;
_96 = _91 | _95;
*_90 ={v} _96;
goto <bb 36>; [100.00%]
<bb 35> [local count: 86875]:
# DEBUG BEGIN_STMT
_97 = i_149 * 4;
_98 = filterTable_168 + _97;
_99 ={v} *_98;
_100 = _87->id;
_101 = _100 >> 3;
_102 = _101 << 16;
_103 = _102 & 16711680;
_104 = _99 | _103;
*_98 ={v} _104;
<bb 36> [local count: 173751]:
# DEBUG BEGIN_STMT
_105 = j_151 + 2;
_106 = _105 * 8;
_107 = idFilterTable_169(D) + _106;
_108 = _107->isExtendedFrame;
if (_108 != 0)
goto <bb 37>; [50.00%]
else
goto <bb 38>; [50.00%]
<bb 37> [local count: 86875]:
# DEBUG BEGIN_STMT
_109 = i_149 * 4;
_110 = filterTable_168 + _109;
_111 ={v} *_110;
_112 = _107->id;
_113 = _112 >> 21;
_114 = _113 << 8;
_115 = _114 & 65535;
_116 = _111 | _115;
*_110 ={v} _116;
goto <bb 39>; [100.00%]
<bb 38> [local count: 86875]:
# DEBUG BEGIN_STMT
_117 = i_149 * 4;
_118 = filterTable_168 + _117;
_119 ={v} *_118;
_120 = _107->id;
_121 = _120 >> 3;
_122 = _121 << 8;
_123 = _122 & 65535;
_124 = _119 | _123;
*_118 ={v} _124;
<bb 39> [local count: 173751]:
# DEBUG BEGIN_STMT
_125 = j_151 + 3;
_126 = _125 * 8;
_127 = idFilterTable_169(D) + _126;
_128 = _127->isExtendedFrame;
if (_128 != 0)
goto <bb 40>; [50.00%]
else
goto <bb 41>; [50.00%]
<bb 40> [local count: 86875]:
# DEBUG BEGIN_STMT
_129 = i_149 * 4;
_130 = filterTable_168 + _129;
_131 ={v} *_130;
_132 = _127->id;
_133 = _132 >> 21;
_134 = _133 & 255;
_135 = _131 | _134;
*_130 ={v} _135;
goto <bb 42>; [100.00%]
<bb 41> [local count: 86875]:
# DEBUG BEGIN_STMT
_136 = i_149 * 4;
_137 = filterTable_168 + _136;
_138 ={v} *_137;
_139 = _127->id;
_140 = _139 >> 3;
_141 = _140 & 255;
_142 = _138 | _141;
*_137 ={v} _142;
<bb 42> [local count: 173751]:
# DEBUG BEGIN_STMT
j_187 = j_151 + 4;
# DEBUG j => j_187
# DEBUG BEGIN_STMT
i_188 = i_149 + 1;
# DEBUG i => i_188
<bb 43> [local count: 195225]:
# i_149 = PHI <0(29), i_188(42)>
# j_151 = PHI <0(29), j_187(42)>
# DEBUG j => j_151
# DEBUG i => i_149
# DEBUG BEGIN_STMT
_143 = numOfFilters_172 + 1;
_144 = _143 * 8;
if (_144 > i_149)
goto <bb 30>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 44> [local count: 21475]:
<L43>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_145 ={v} base_167(D)->MCR;
_146 = _145 | 768;
base_167(D)->MCR ={v} _146;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
<bb 45> [local count: 107374]:
<L46>:
return;
}
;; Function FlexCAN_ReadRxFifo (FlexCAN_ReadRxFifo, funcdef_no=77, decl_uid=4760, cgraph_uid=78, symbol_order=78)
Merging blocks 3 and 12
Removing basic block 11
FlexCAN_ReadRxFifo (const struct FLEXCAN_Type * base, struct Flexcan_Ip_MsgBuffType * rxFifo)
{
volatile boolean x;
uint8 can_real_payload;
uint8 flexcan_mb_dlc_value;
uint32 * msgData_32;
const uint32 * flexcan_mb;
uint32 mbWord;
uint32 databyte;
long unsigned int base.17_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
_Bool _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;
unsigned char _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
const uint32 * _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;
uint32 * _26;
long unsigned int _27;
long unsigned int _28;
_Bool x.7_39;
sizetype _41;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.17_1 = (long unsigned int) base_32(D);
_2 = base.17_1 + 128;
flexcan_mb_33 = (const uint32 *) _2;
# DEBUG flexcan_mb => flexcan_mb_33
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_33 + 4
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => flexcan_mb_33 + 8
# DEBUG BEGIN_STMT
msgData_32_36 = &rxFifo_35(D)->data;
# DEBUG msgData_32 => msgData_32_36
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_33;
_4 = _3 >> 16;
_5 = (unsigned char) _4;
flexcan_mb_dlc_value_38 = _5 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_38
# DEBUG BEGIN_STMT
can_real_payload_40 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_38);
# DEBUG can_real_payload => can_real_payload_40
# DEBUG BEGIN_STMT
_6 = rxFifo_35(D) != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_39 ={v} x;
if (x.7_39 != 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
can_real_payload_34 = MIN_EXPR <8, can_real_payload_40>;
# DEBUG can_real_payload => can_real_payload_34
# DEBUG BEGIN_STMT
rxFifo_35(D)->dataLen = can_real_payload_34;
# DEBUG BEGIN_STMT
_7 ={v} *flexcan_mb_33;
rxFifo_35(D)->cs = _7;
# DEBUG BEGIN_STMT
_8 = _7 & 2097152;
if (_8 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_33 + 4B];
rxFifo_35(D)->msgId = _9;
goto <bb 7>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
_10 ={v} MEM[(const uint32 *)flexcan_mb_33 + 4B];
_11 = _10 >> 18;
rxFifo_35(D)->msgId = _11;
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 ={v} base_32(D)->RXFIR;
_13 = (unsigned char) _12;
rxFifo_35(D)->id_hit = _13;
# DEBUG BEGIN_STMT
_14 = _7 & 65535;
rxFifo_35(D)->time_stamp = _14;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 9>; [100.00%]
<bb 8> [local count: 868753]:
# DEBUG BEGIN_STMT
_15 = databyte_29 >> 2;
_16 = _15 * 4;
_41 = _16 + 8;
_17 = flexcan_mb_33 + _41;
mbWord_48 ={v} *_17;
# DEBUG mbWord => mbWord_48
# DEBUG BEGIN_STMT
_18 = mbWord_48 >> 24;
_19 = mbWord_48 >> 8;
_20 = _19 & 65280;
_21 = _18 | _20;
_22 = mbWord_48 << 8;
_23 = _22 & 16711680;
_24 = _21 | _23;
_25 = mbWord_48 << 24;
_26 = msgData_32_36 + _16;
_27 = _24 | _25;
*_26 = _27;
# DEBUG BEGIN_STMT
databyte_50 = databyte_29 + 4;
# DEBUG databyte => databyte_50
<bb 9> [local count: 976127]:
# databyte_29 = PHI <0(7), databyte_50(8)>
# DEBUG databyte => databyte_29
# DEBUG BEGIN_STMT
_28 = (long unsigned int) can_real_payload_34;
if (_28 > databyte_29)
goto <bb 8>; [89.00%]
else
goto <bb 10>; [11.00%]
<bb 10> [local count: 107374]:
return;
}
;; Function FlexCAN_ReadEnhancedRxFifo (FlexCAN_ReadEnhancedRxFifo, funcdef_no=78, decl_uid=5043, cgraph_uid=79, symbol_order=79)
Merging blocks 3 and 16
Removing basic block 15
FlexCAN_ReadEnhancedRxFifo (const struct FLEXCAN_Type * base, struct Flexcan_Ip_MsgBuffType * rxFifo)
{
volatile boolean x;
uint8 can_real_payload;
uint8 flexcan_mb_dlc_value;
uint32 * msgData_32;
const uint32 * flexcan_mb_data_32;
const uint32 * flexcan_mb;
uint8 idhit_offset;
uint32 mbWord;
uint32 databyte;
long unsigned int base.18_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
_Bool _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;
unsigned char _13;
unsigned char _14;
unsigned int _15;
unsigned int _16;
const uint32 * _17;
long unsigned int _18;
unsigned char _19;
unsigned char _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
const uint32 * _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;
uint32 * _33;
long unsigned int _34;
long unsigned int _35;
uint8 iftmp.19_38;
_Bool x.7_46;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.18_1 = (long unsigned int) base_41(D);
_2 = base.18_1 + 8192;
flexcan_mb_42 = (const uint32 *) _2;
# DEBUG flexcan_mb => flexcan_mb_42
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_42 + 4
# DEBUG BEGIN_STMT
flexcan_mb_data_32_43 = flexcan_mb_42 + 8;
# DEBUG flexcan_mb_data_32 => flexcan_mb_data_32_43
# DEBUG BEGIN_STMT
# DEBUG msgData_32 => 0B
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_42;
_4 = _3 >> 16;
_5 = (unsigned char) _4;
flexcan_mb_dlc_value_45 = _5 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_45
# DEBUG BEGIN_STMT
can_real_payload_47 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_45);
# DEBUG can_real_payload => can_real_payload_47
# DEBUG BEGIN_STMT
_6 = rxFifo_48(D) != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_46 ={v} x;
if (x.7_46 != 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
msgData_32_49 = &rxFifo_48(D)->data;
# DEBUG msgData_32 => msgData_32_49
# DEBUG BEGIN_STMT
rxFifo_48(D)->dataLen = can_real_payload_47;
# DEBUG BEGIN_STMT
_7 ={v} *flexcan_mb_42;
rxFifo_48(D)->cs = _7;
# DEBUG BEGIN_STMT
_8 = _7 & 2097152;
if (_8 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_42 + 4B];
rxFifo_48(D)->msgId = _9;
goto <bb 7>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
_10 ={v} MEM[(const uint32 *)flexcan_mb_42 + 4B];
_11 = _10 >> 18;
rxFifo_48(D)->msgId = _11;
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 = _7 & 1048576;
if (_12 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG can_real_payload => 0
<bb 9> [local count: 107374]:
# can_real_payload_37 = PHI <can_real_payload_47(7), 0(8)>
# DEBUG can_real_payload => can_real_payload_37
# DEBUG BEGIN_STMT
_13 = can_real_payload_37 >> 2;
_14 = can_real_payload_37 & 3;
if (_14 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 11> [local count: 107374]:
# iftmp.19_38 = PHI <1(9), 0(10)>
idhit_offset_54 = _13 + iftmp.19_38;
# DEBUG idhit_offset => idhit_offset_54
# DEBUG BEGIN_STMT
_15 = (unsigned int) idhit_offset_54;
_16 = _15 * 4;
_17 = flexcan_mb_data_32_43 + _16;
_18 ={v} *_17;
_19 = (unsigned char) _18;
_20 = _19 & 127;
rxFifo_48(D)->id_hit = _20;
# DEBUG BEGIN_STMT
_21 = _7 & 65535;
rxFifo_48(D)->time_stamp = _21;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 13>; [100.00%]
<bb 12> [local count: 868753]:
# DEBUG BEGIN_STMT
_22 = databyte_36 >> 2;
_23 = _22 * 4;
_24 = flexcan_mb_data_32_43 + _23;
mbWord_57 ={v} *_24;
# DEBUG mbWord => mbWord_57
# DEBUG BEGIN_STMT
_25 = mbWord_57 >> 24;
_26 = mbWord_57 >> 8;
_27 = _26 & 65280;
_28 = _25 | _27;
_29 = mbWord_57 << 8;
_30 = _29 & 16711680;
_31 = _28 | _30;
_32 = mbWord_57 << 24;
_33 = msgData_32_49 + _23;
_34 = _31 | _32;
*_33 = _34;
# DEBUG BEGIN_STMT
databyte_59 = databyte_36 + 4;
# DEBUG databyte => databyte_59
<bb 13> [local count: 976127]:
# databyte_36 = PHI <0(11), databyte_59(12)>
# DEBUG databyte => databyte_36
# DEBUG BEGIN_STMT
_35 = (long unsigned int) can_real_payload_37;
if (_35 > databyte_36)
goto <bb 12>; [89.00%]
else
goto <bb 14>; [11.00%]
<bb 14> [local count: 107374]:
return;
}
;; Function FlexCAN_GetErrStatusFlag (FlexCAN_GetErrStatusFlag, funcdef_no=79, decl_uid=4746, cgraph_uid=80, symbol_order=80)
FlexCAN_GetErrStatusFlag (uint8 u8Instance)
{
boolean bErrStatus;
static struct FLEXCAN_Type * const flexcanBase[6];
int _1;
struct FLEXCAN_Type * _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bErrStatus => 0
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_6(D);
_2 = flexcanBase[_1];
_3 ={v} _2->ESR1;
_4 = _3 & 2;
if (_4 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG bErrStatus => 1
<bb 4> [local count: 1073741824]:
# bErrStatus_5 = PHI <0(2), 1(3)>
# DEBUG bErrStatus => bErrStatus_5
# DEBUG BEGIN_STMT
return bErrStatus_5;
}
;; Function FlexCAN_GetBusOffStatusFlag (FlexCAN_GetBusOffStatusFlag, funcdef_no=80, decl_uid=4748, cgraph_uid=81, symbol_order=81)
FlexCAN_GetBusOffStatusFlag (uint8 u8Instance)
{
boolean bBOffStatus;
static struct FLEXCAN_Type * const flexcanBase[6];
int _1;
struct FLEXCAN_Type * _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bBOffStatus => 0
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_6(D);
_2 = flexcanBase[_1];
_3 ={v} _2->ESR1;
_4 = _3 & 4;
if (_4 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG bBOffStatus => 1
<bb 4> [local count: 1073741824]:
# bBOffStatus_5 = PHI <0(2), 1(3)>
# DEBUG bBOffStatus => bBOffStatus_5
# DEBUG BEGIN_STMT
return bBOffStatus_5;
}
;; Function FlexCAN_AbortTxMsgBuff (FlexCAN_AbortTxMsgBuff, funcdef_no=81, decl_uid=4751, cgraph_uid=82, symbol_order=82)
FlexCAN_AbortTxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
volatile uint32 * flexcan_mb;
uint32 flexcan_mb_config;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG code => 9
# DEBUG BEGIN_STMT
flexcan_mb_5 = FlexCAN_GetMsgBuffRegion (base_2(D), msgBuffIdx_3(D));
# DEBUG flexcan_mb => flexcan_mb_5
# DEBUG BEGIN_STMT
flexcan_mb_config_6 ={v} *flexcan_mb_5;
# DEBUG flexcan_mb_config => flexcan_mb_config_6
# DEBUG BEGIN_STMT
flexcan_mb_config_7 = flexcan_mb_config_6 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_7
# DEBUG BEGIN_STMT
flexcan_mb_config_8 = flexcan_mb_config_7 | 150994944;
# DEBUG flexcan_mb_config => flexcan_mb_config_8
# DEBUG BEGIN_STMT
*flexcan_mb_5 ={v} flexcan_mb_config_8;
return;
}
;; Function FlexCAN_GetRxFifoMask (FlexCAN_GetRxFifoMask, funcdef_no=82, decl_uid=4744, cgraph_uid=83, symbol_order=83)
FlexCAN_GetRxFifoMask (Flexcan_Ip_MsgBuffIdType id_type, Flexcan_Ip_RxFifoIdElementFormatType formatType, uint32 mask)
{
uint32 val;
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;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
switch (formatType_11(D)) <default: <L22> [25.00%], case 0: <L0> [25.00%], case 1: <L7> [25.00%], case 2: <L14> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
val_17 = mask_13(D) & 3221225472;
# DEBUG val => val_17
# DEBUG BEGIN_STMT
if (id_type_12(D) == 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 134217728]:
# DEBUG BEGIN_STMT
_1 = mask_13(D) << 19;
_2 = _1 & 1073217536;
val_19 = _2 | val_17;
# DEBUG val => val_19
goto <bb 13>; [100.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
if (id_type_12(D) == 1)
goto <bb 6>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 6> [local count: 45634027]:
# DEBUG BEGIN_STMT
_3 = mask_13(D) << 1;
_4 = _3 & 1073741823;
val_18 = _4 | val_17;
# DEBUG val => val_18
goto <bb 13>; [100.00%]
<bb 7> [local count: 268435456]:
<L7>:
# DEBUG BEGIN_STMT
val_14 = mask_13(D) & 3221225472;
# DEBUG val => val_14
# DEBUG BEGIN_STMT
if (id_type_12(D) == 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 134217728]:
# DEBUG BEGIN_STMT
_5 = mask_13(D) << 19;
_6 = _5 & 1073217536;
val_16 = _6 | val_14;
# DEBUG val => val_16
goto <bb 13>; [100.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
if (id_type_12(D) == 1)
goto <bb 10>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 10> [local count: 45634027]:
# DEBUG BEGIN_STMT
_7 = mask_13(D) << 16;
_8 = _7 & 1073676288;
val_15 = _8 | val_14;
# DEBUG val => val_15
goto <bb 13>; [100.00%]
<bb 11> [local count: 268435456]:
<L14>:
# DEBUG BEGIN_STMT
if (id_type_12(D) <= 1)
goto <bb 12>; [41.00%]
else
goto <bb 13>; [59.00%]
<bb 12> [local count: 110058537]:
# DEBUG BEGIN_STMT
_9 = mask_13(D) << 24;
# DEBUG val => _9
<bb 13> [local count: 1073741824]:
# val_10 = PHI <val_17(5), val_14(9), _9(12), 0(2), 0(11), val_19(4), val_18(6), val_16(8), val_15(10)>
<L22>:
# DEBUG val => val_10
# DEBUG BEGIN_STMT
return val_10;
}
;; Function FlexCAN_IsMbOutOfRange (FlexCAN_IsMbOutOfRange, funcdef_no=83, decl_uid=4813, cgraph_uid=84, symbol_order=84)
FlexCAN_IsMbOutOfRange (const struct FLEXCAN_Type * pBase, uint8 u8MbIndex, boolean bIsLegacyFifoEn, uint32 u32MaxMbNum)
{
uint32 u32NumOfMbOccupiedByFiFo;
uint32 u32NumOfFiFoElement;
boolean returnValue;
unsigned char _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;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
# DEBUG u32NumOfFiFoElement => 0
# DEBUG BEGIN_STMT
# DEBUG u32NumOfMbOccupiedByFiFo => 0
# DEBUG BEGIN_STMT
_1 = (unsigned char) u32MaxMbNum_9(D);
if (_1 <= u8MbIndex_10(D))
goto <bb 6>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (bIsLegacyFifoEn_11(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
_2 ={v} pBase_13(D)->CTRL2;
_3 = _2 >> 24;
u32NumOfFiFoElement_14 = _3 & 15;
# DEBUG u32NumOfFiFoElement => u32NumOfFiFoElement_14
# DEBUG BEGIN_STMT
_4 = u32NumOfFiFoElement_14 + 1;
_5 = _4 * 8;
_6 = _5 >> 2;
u32NumOfMbOccupiedByFiFo_15 = _6 + 5;
# DEBUG u32NumOfMbOccupiedByFiFo => u32NumOfMbOccupiedByFiFo_15
# DEBUG BEGIN_STMT
_7 = (long unsigned int) u8MbIndex_10(D);
if (_7 <= u32NumOfMbOccupiedByFiFo_15)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG returnValue => 1
<bb 6> [local count: 1073741824]:
# returnValue_8 = PHI <1(2), 1(5), 0(3), 0(4)>
# DEBUG returnValue => returnValue_8
# DEBUG BEGIN_STMT
return returnValue_8;
}
;; Function FlexCAN_IsEnhancedRxFifoAvailable (FlexCAN_IsEnhancedRxFifoAvailable, funcdef_no=84, decl_uid=5032, cgraph_uid=85, symbol_order=85)
FlexCAN_IsEnhancedRxFifoAvailable (const struct FLEXCAN_Type * base)
{
boolean returnValue;
uint32 i;
<bb 2> [local count: 566398813]:
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 4>; [100.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (base_4(D) == 1076903936B)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 507343012]:
<bb 4> [local count: 1073741824]:
# i_1 = PHI <0(2), 1(6)>
# DEBUG i => i_1
# DEBUG BEGIN_STMT
if (i_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 566398813]:
# returnValue_2 = PHI <1(3), 0(4)>
# DEBUG returnValue => returnValue_2
# DEBUG BEGIN_STMT
return returnValue_2;
}
;; Function FlexCAN_EnableEnhancedRxFifo (FlexCAN_EnableEnhancedRxFifo, funcdef_no=85, decl_uid=5037, cgraph_uid=86, symbol_order=86)
FlexCAN_EnableEnhancedRxFifo (struct FLEXCAN_Type * base, uint32 numOfStdIDFilters, uint32 numOfExtIDFilters, uint32 numOfWatermark)
{
uint32 numOfEnhancedFilters;
Flexcan_Ip_StatusType stat;
_Bool _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
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;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
# DEBUG numOfEnhancedFilters => 0
# DEBUG BEGIN_STMT
_1 = FlexCAN_IsEnhancedRxFifoAvailable (base_32(D));
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_2 = numOfStdIDFilters_33(D) >> 1;
_3 = _2 + numOfExtIDFilters_34(D);
numOfEnhancedFilters_35 = _3 + 4294967295;
# DEBUG numOfEnhancedFilters => numOfEnhancedFilters_35
# DEBUG BEGIN_STMT
if (numOfStdIDFilters_33(D) == 0)
goto <bb 4>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 4> [local count: 268435456]:
if (numOfExtIDFilters_34(D) == 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG stat => 1
<bb 6> [local count: 536870913]:
# stat_27 = PHI <0(3), 0(4), 1(5)>
# DEBUG stat => stat_27
# DEBUG BEGIN_STMT
_4 = numOfStdIDFilters_33(D) & 1;
if (_4 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG stat => 1
<bb 8> [local count: 536870913]:
# stat_28 = PHI <stat_27(6), 1(7)>
# DEBUG stat => stat_28
# DEBUG BEGIN_STMT
_5 ={v} base_32(D)->MCR;
_6 = _5 & 536870912;
if (_6 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 268435456]:
# DEBUG stat => stat_28
# DEBUG BEGIN_STMT
if (stat_28 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 134217728]:
# DEBUG BEGIN_STMT
_7 ={v} base_32(D)->ERFCR;
_8 = _7 | 2147483648;
base_32(D)->ERFCR ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} base_32(D)->ERFSR;
_10 = _9 | 134217728;
base_32(D)->ERFSR ={v} _10;
# DEBUG BEGIN_STMT
_11 ={v} base_32(D)->ERFSR;
_12 = _11 & 268435455;
base_32(D)->ERFSR ={v} _12;
# DEBUG BEGIN_STMT
_13 ={v} base_32(D)->ERFCR;
_14 = _13 & 4294951167;
_15 = numOfEnhancedFilters_35 << 8;
_16 = _15 & 16128;
_17 = _14 | _16;
base_32(D)->ERFCR ={v} _17;
# DEBUG BEGIN_STMT
_18 ={v} base_32(D)->ERFCR;
_19 = _18 & 4286644223;
_20 = numOfExtIDFilters_34(D) << 16;
_21 = _20 & 8323072;
_22 = _19 | _21;
base_32(D)->ERFCR ={v} _22;
# DEBUG BEGIN_STMT
_23 ={v} base_32(D)->ERFCR;
_24 = _23 & 4294967264;
_25 = numOfWatermark_41(D) & 31;
_26 = _24 | _25;
base_32(D)->ERFCR ={v} _26;
<bb 11> [local count: 1073741824]:
# stat_29 = PHI <0(10), 1(2), stat_28(9), 1(8)>
# DEBUG stat => stat_29
# DEBUG BEGIN_STMT
return stat_29;
}
;; Function FlexCAN_SetEnhancedRxFifoFilter (FlexCAN_SetEnhancedRxFifoFilter, funcdef_no=86, decl_uid=5040, cgraph_uid=87, symbol_order=87)
FlexCAN_SetEnhancedRxFifoFilter (struct FLEXCAN_Type * base, const struct Flexcan_Ip_EnhancedIdTableType * idFilterTable)
{
volatile boolean x;
volatile boolean x;
volatile uint32 * filterStdIDTable;
volatile uint32 * filterExtIDTable;
uint32 val;
uint32 val1;
uint32 val2;
uint32 numOfStdIDFilter;
uint32 numOfExtIDFilter;
uint32 numOfEnhancedFilter;
uint32 n;
uint32 j;
uint32 i;
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;
const struct Flexcan_Ip_EnhancedIdTableType * _9;
_Bool _10;
_Bool _11;
_Bool _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;
volatile uint32 * _20;
long unsigned int _21;
<unnamed type> _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
_Bool _28;
_Bool _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
volatile uint32 * _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
sizetype _37;
sizetype _38;
volatile uint32 * _39;
long unsigned int _40;
<unnamed type> _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;
_Bool x.7_82;
_Bool x.7_83;
<bb 2> [local count: 280015]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG val1 => 0
# DEBUG val => 0
# DEBUG BEGIN_STMT
# DEBUG filterExtIDTable => 0B
# DEBUG BEGIN_STMT
# DEBUG filterStdIDTable => 0B
# DEBUG BEGIN_STMT
_1 ={v} base_62(D)->ERFCR;
_2 = _1 >> 8;
numOfEnhancedFilter_63 = _2 & 63;
# DEBUG numOfEnhancedFilter => numOfEnhancedFilter_63
# DEBUG BEGIN_STMT
_3 ={v} base_62(D)->ERFCR;
_4 = _3 >> 16;
numOfExtIDFilter_64 = _4 & 127;
# DEBUG numOfExtIDFilter => numOfExtIDFilter_64
# DEBUG BEGIN_STMT
_5 = numOfEnhancedFilter_63 - numOfExtIDFilter_64;
_6 = _5 + 1;
numOfStdIDFilter_65 = _6 * 2;
# DEBUG numOfStdIDFilter => numOfStdIDFilter_65
# DEBUG BEGIN_STMT
filterExtIDTable_66 = &base_62(D)->ERFFEL[0];
# DEBUG filterExtIDTable => filterExtIDTable_66
# DEBUG BEGIN_STMT
_7 = numOfExtIDFilter_64 * 2;
filterStdIDTable_67 = &base_62(D)->ERFFEL[_7];
# DEBUG filterStdIDTable => filterStdIDTable_67
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG n => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 27>; [100.00%]
<bb 3> [local count: 1717984]:
# DEBUG BEGIN_STMT
_8 = i_48 * 12;
_9 = idFilterTable_68(D) + _8;
_10 = _9->isExtendedFrame;
if (_10 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 858992]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
_11 = _9->rtr2;
if (_11 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val => 134217728
<bb 6> [local count: 858992]:
# val_55 = PHI <0(4), 134217728(5)>
# DEBUG val => val_55
# DEBUG BEGIN_STMT
_12 = _9->rtr1;
if (_12 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 429496]:
# DEBUG BEGIN_STMT
val_75 = val_55 | 2048;
# DEBUG val => val_75
<bb 8> [local count: 858992]:
# val_56 = PHI <val_55(6), val_75(7)>
# DEBUG val => val_56
# DEBUG BEGIN_STMT
_13 = _9->id2;
_14 = _13 << 16;
_15 = _14 & 134152192;
_16 = _9->id1;
_17 = _16 & 2047;
_18 = _15 | _17;
_19 = j_50 * 4;
_20 = filterStdIDTable_67 + _19;
_21 = _18 | val_56;
*_20 ={v} _21;
# DEBUG BEGIN_STMT
_22 = _9->filterType;
switch (_22) <default: <L9> [25.00%], case 0: <L6> [25.00%], case 1: <L7> [25.00%], case 2: <L8> [25.00%]>
<bb 9> [local count: 214748]:
<L6>:
# DEBUG BEGIN_STMT
_23 ={v} *_20;
*_20 ={v} _23;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 10> [local count: 214748]:
<L7>:
# DEBUG BEGIN_STMT
_24 ={v} *_20;
_25 = _24 | 1073741824;
*_20 ={v} _25;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 11> [local count: 214748]:
<L8>:
# DEBUG BEGIN_STMT
_26 ={v} *_20;
_27 = _26 | 2147483648;
*_20 ={v} _27;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 12> [local count: 214748]:
<L9>:
# DEBUG BEGIN_STMT
x ={v} 0;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_82 ={v} x;
if (x.7_82 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 29>; [50.00%]
<bb 29> [local count: 107374]:
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 31> [local count: 1073741824]:
goto <bb 13>; [100.00%]
<bb 14> [local count: 751618]:
# DEBUG x => NULL
# DEBUG BEGIN_STMT
j_80 = j_50 + 1;
# DEBUG j => j_80
goto <bb 26>; [100.00%]
<bb 15> [local count: 858992]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG BEGIN_STMT
_28 = _9->rtr2;
if (_28 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 536870912
<bb 17> [local count: 858992]:
# val2_53 = PHI <0(15), 536870912(16)>
# DEBUG val2 => val2_53
# DEBUG BEGIN_STMT
_29 = _9->rtr1;
if (_29 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 536870912
<bb 19> [local count: 858992]:
# val1_54 = PHI <0(17), 536870912(18)>
# DEBUG val1 => val1_54
# DEBUG BEGIN_STMT
_30 = _9->id2;
_31 = _30 & 536870911;
_32 = n_52 * 4;
_33 = filterExtIDTable_66 + _32;
_34 = _31 | val2_53;
*_33 ={v} _34;
# DEBUG BEGIN_STMT
_35 = _9->id1;
_36 = _35 & 536870911;
_37 = n_52 + 1;
_38 = _37 * 4;
_39 = filterExtIDTable_66 + _38;
_40 = _36 | val1_54;
*_39 ={v} _40;
# DEBUG BEGIN_STMT
_41 = _9->filterType;
switch (_41) <default: <L19> [25.00%], case 0: <L16> [25.00%], case 1: <L17> [25.00%], case 2: <L18> [25.00%]>
<bb 20> [local count: 214748]:
<L16>:
# DEBUG BEGIN_STMT
_42 ={v} *_33;
*_33 ={v} _42;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 21> [local count: 214748]:
<L17>:
# DEBUG BEGIN_STMT
_43 ={v} *_33;
_44 = _43 | 1073741824;
*_33 ={v} _44;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 22> [local count: 214748]:
<L18>:
# DEBUG BEGIN_STMT
_45 ={v} *_33;
_46 = _45 | 2147483648;
*_33 ={v} _46;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 23> [local count: 214748]:
<L19>:
# DEBUG BEGIN_STMT
x ={v} 0;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_83 ={v} x;
if (x.7_83 != 0)
goto <bb 25>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 30> [local count: 107374]:
<bb 24> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 32> [local count: 1073741824]:
goto <bb 24>; [100.00%]
<bb 25> [local count: 751618]:
# DEBUG x => NULL
# DEBUG BEGIN_STMT
n_74 = n_52 + 2;
# DEBUG n => n_74
<bb 26> [local count: 1503236]:
# j_49 = PHI <j_80(14), j_50(25)>
# n_51 = PHI <n_52(14), n_74(25)>
# DEBUG n => n_51
# DEBUG j => j_49
# DEBUG BEGIN_STMT
i_81 = i_48 + 1;
# DEBUG i => i_81
<bb 27> [local count: 1783251]:
# i_48 = PHI <0(2), i_81(26)>
# j_50 = PHI <0(2), j_49(26)>
# n_52 = PHI <0(2), n_51(26)>
# DEBUG n => n_52
# DEBUG j => j_50
# DEBUG i => i_48
# DEBUG BEGIN_STMT
_47 = numOfExtIDFilter_64 + numOfStdIDFilter_65;
if (_47 > i_48)
goto <bb 3>; [96.34%]
else
goto <bb 28>; [3.66%]
<bb 28> [local count: 65267]:
return;
}
;; Function FlexCAN_ConfigCtrlOptions (FlexCAN_ConfigCtrlOptions, funcdef_no=87, decl_uid=5046, cgraph_uid=88, symbol_order=88)
FlexCAN_ConfigCtrlOptions (struct FLEXCAN_Type * pBase, uint32 u32Options)
{
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 _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;
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;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = u32Options_15(D) & 32;
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetIsoCan
# DEBUG BEGIN_STMT
_18 ={v} pBase_17(D)->CTRL2;
_19 = _18 & 4294963199;
_20 = _19 | 4096;
pBase_17(D)->CTRL2 ={v} _20;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetIsoCan
# DEBUG BEGIN_STMT
_21 ={v} pBase_17(D)->CTRL2;
_22 = _21 & 4294963199;
pBase_17(D)->CTRL2 ={v} _22;
<bb 5> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_2 = u32Options_15(D) & 64;
if (_2 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEntireFrameArbitrationFieldComparison
# DEBUG BEGIN_STMT
_23 ={v} pBase_17(D)->CTRL2;
_24 = _23 & 4294901759;
_25 = _24 | 65536;
pBase_17(D)->CTRL2 ={v} _25;
goto <bb 8>; [100.00%]
<bb 7> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEntireFrameArbitrationFieldComparison
# DEBUG BEGIN_STMT
_26 ={v} pBase_17(D)->CTRL2;
_27 = _26 & 4294901759;
pBase_17(D)->CTRL2 ={v} _27;
<bb 8> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_3 = u32Options_15(D) & 8;
if (_3 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetProtocolException
# DEBUG BEGIN_STMT
_28 ={v} pBase_17(D)->CTRL2;
_29 = _28 & 4294950911;
_30 = _29 | 16384;
pBase_17(D)->CTRL2 ={v} _30;
goto <bb 11>; [100.00%]
<bb 10> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetProtocolException
# DEBUG BEGIN_STMT
_31 ={v} pBase_17(D)->CTRL2;
_32 = _31 & 4294950911;
pBase_17(D)->CTRL2 ={v} _32;
<bb 11> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_4 = u32Options_15(D) & 2;
if (_4 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 12> [local count: 536870913]:
_5 ={v} pBase_17(D)->MCR;
_6 = _5 & 2048;
if (_6 == 0)
goto <bb 13>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 13> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_CanBitSampling
# DEBUG BEGIN_STMT
_33 ={v} pBase_17(D)->CTRL1;
_34 = _33 & 4294967167;
_35 = _34 | 128;
pBase_17(D)->CTRL1 ={v} _35;
goto <bb 15>; [100.00%]
<bb 14> [local count: 805306369]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_CanBitSampling
# DEBUG BEGIN_STMT
_36 ={v} pBase_17(D)->CTRL1;
_37 = _36 & 4294967167;
pBase_17(D)->CTRL1 ={v} _37;
<bb 15> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_7 = u32Options_15(D) & 4;
if (_7 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetBusOffAutorecovery
# DEBUG BEGIN_STMT
_38 ={v} pBase_17(D)->CTRL1;
_39 = _38 & 4294967231;
pBase_17(D)->CTRL1 ={v} _39;
goto <bb 18>; [100.00%]
<bb 17> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetBusOffAutorecovery
# DEBUG BEGIN_STMT
_40 ={v} pBase_17(D)->CTRL1;
_41 = _40 & 4294967231;
_42 = _41 | 64;
pBase_17(D)->CTRL1 ={v} _42;
<bb 18> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_8 = u32Options_15(D) & 16;
if (_8 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 19> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEdgeFilter
# DEBUG BEGIN_STMT
_43 ={v} pBase_17(D)->CTRL2;
_44 = _43 & 4294965247;
pBase_17(D)->CTRL2 ={v} _44;
goto <bb 21>; [100.00%]
<bb 20> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEdgeFilter
# DEBUG BEGIN_STMT
_45 ={v} pBase_17(D)->CTRL2;
_46 = _45 & 4294965247;
_47 = _46 | 2048;
pBase_17(D)->CTRL2 ={v} _47;
<bb 21> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
return;
}