IPA function summary for FlexCAN_StartRxMessageFifoData.part.0/179 inlinable global time: 16.140750 self size: 41 global size: 41 min size: 36 self stack: 0 global stack: 0 size:20.000000, time:9.314500 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.11 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.11 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.11 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 864] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 864] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 928] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 928] changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed || op1 changed) calls: IPA function summary for FlexCAN_SetEnhancedDataTimeSegments.part.0/172 inlinable global time: 29.000000 self size: 30 global size: 30 min size: 0 self stack: 0 global stack: 0 size:6.500000, time:6.500000 size:6.500000, time:5.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24512] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24512] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed) size:2.000000, time:2.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed) calls: IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 inlinable global time: 29.000000 self size: 30 global size: 30 min size: 0 self stack: 0 global stack: 0 size:6.500000, time:6.500000 size:6.500000, time:5.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24480] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24480] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op1[ref offset: 0] changed) size:3.000000, time:3.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 96] changed) calls: IPA function summary for FlexCAN_SetExtendedTimeSegments.part.0/168 inlinable global time: 26.000000 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:4.500000, time:3.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 640] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: IPA function summary for FlexCAN_SetTimeSegments.part.0/166 inlinable global time: 25.000000 self size: 26 global size: 26 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:4.500000, time:3.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: IPA function summary for FlexCAN_SetFDTimeSegments.part.0/164 inlinable global time: 26.000000 self size: 27 global size: 27 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:4.500000, time:3.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24608] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24608] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 0] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 64] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 32] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 96] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 128] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:1.000000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: IPA function summary for FlexCAN_Ip_GetListenOnlyMode/120 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_SetListenOnlyMode_Privileged/119 inlinable global time: 17.049956 self size: 33 global size: 33 min size: 18 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetListenOnlyMode/7 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMb15Mask_Privileged/118 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMb14Mask_Privileged/117 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_AbortTransfer/116 inlinable global time: 11.431054 self size: 40 global size: 40 min size: 0 self stack: 0 global stack: 0 size:10.000000, time:6.500000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:10.000000, time:0.792990, executed if:(op1 <= 95) array index:(op1 changed) && (op0 changed) calls: FlexCAN_AbortRxTransfer/68 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:23 stack: 0 predicate: (op1 <= 95) FlexCAN_AbortTxTransfer/67 function not considered for inlining loop depth: 0 freq:0.01 size: 4 time: 13callee size:24 stack: 4 predicate: (op1 <= 95) FLEXCAN_ClearMsgBuffIntCmd/162 function body not available loop depth: 0 freq:0.06 size: 5 time: 14 predicate: (op1 <= 95) IPA function summary for FlexCAN_Ip_SetErrorInt_Privileged/115 inlinable global time: 18.373233 self size: 68 global size: 68 min size: 12 self stack: 0 global stack: 0 size:18.000000, time:7.709837 size:3.000000, time:0.927450, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:12.000000, time:1.745003, nonconst if:(op1 changed) size:4.000000, time:0.290890, executed if:(op1 == 1) size:4.000000, time:0.290890, executed if:(op1 == 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.12 size: 3 time: 12 FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 1) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 0) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 3) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 2) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 4) op1 is compile time invariant FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_DisableInterrupts_Privileged/114 inlinable global time: 15.331072 self size: 27 global size: 27 min size: 10 self stack: 0 global stack: 0 size:18.000000, time:8.560843 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.21 size: 3 time: 12 FlexCAN_DisableInterrupts/160 function body not available loop depth: 0 freq:0.21 size: 2 time: 11 IPA function summary for FlexCAN_Ip_EnableInterrupts_Privileged/113 inlinable global time: 13.921378 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:8.611247 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.07 size: 3 time: 12 FlexCAN_EnableInterrupts/159 function body not available loop depth: 0 freq:0.21 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ClearBuffStatusFlag/112 inlinable global time: 10.688379 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, nonconst if:(op1 changed) size:1.000000, time:0.255602, executed if:(op1 == 255) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.24 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 != 255) IPA function summary for FlexCAN_Ip_GetBuffStatusFlag/111 inlinable global time: 11.432777 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, nonconst if:(op1 changed) size:1.000000, time:0.244398, executed if:(op1 != 255) size:2.000000, time:0.511204, executed if:(op1 == 255) array index:(op0 changed) calls: FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 0 freq:0.24 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255) IPA function summary for FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 inlinable global time: 19.524950 self size: 35 global size: 35 min size: 22 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_SetTxArbitrationStartDelay/42 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetTDCOffset_Privileged/109 inlinable global time: 20.143759 self size: 44 global size: 44 min size: 32 self stack: 0 global stack: 0 size:24.000000, time:11.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_SetTDCOffset/2 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0 FlexCAN_SetEnhancedTDCOffset/3 function not considered for inlining loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetBitrateFD/108 inlinable global time: 12.500056 self size: 25 global size: 25 min size: 12 self stack: 0 global stack: 0 size:14.000000, time:7.500000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_GetFDTimeSegments/21 function not considered for inlining loop depth: 0 freq:0.13 size: 3 time: 12callee size:11 stack: 0 FlexCAN_GetEnhancedDataTimeSegments/18 function not considered for inlining loop depth: 0 freq:0.13 size: 3 time: 12callee size:12 stack: 0 IPA function summary for FlexCAN_Ip_SetBitrateCbt_Privileged/107 inlinable global time: 14.985979 self size: 56 global size: 56 min size: 36 self stack: 0 global stack: 0 size:33.000000, time:10.063763 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 FlexCAN_SetFDTimeSegments/12 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_SetEnhancedDataTimeSegments/17 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_SetFDEnabled/6 function not considered for inlining loop depth: 0 freq:0.03 size: 4 time: 13callee size: 9 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetTDCValue_Privileged/106 inlinable global time: 14.586837 self size: 28 global size: 28 min size: 10 self stack: 0 global stack: 0 size:19.000000, time:9.654376 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetTDCFail_Privileged/105 inlinable global time: 15.241213 self size: 31 global size: 31 min size: 10 self stack: 0 global stack: 0 size:22.000000, time:10.308753 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ClearTDCFail_Privileged/104 inlinable global time: 15.241213 self size: 31 global size: 31 min size: 10 self stack: 0 global stack: 0 size:22.000000, time:10.308753 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetBitrate/103 inlinable global time: 13.002496 self size: 31 global size: 31 min size: 18 self stack: 0 global stack: 0 size:17.000000, time:8.002496 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_GetTimeSegments/20 function not considered for inlining loop depth: 0 freq:0.10 size: 3 time: 12callee size:10 stack: 0 FlexCAN_GetExtendedTimeSegments/19 function not considered for inlining loop depth: 0 freq:0.07 size: 3 time: 12callee size:11 stack: 0 FlexCAN_GetEnhancedNominalTimeSegments/16 function not considered for inlining loop depth: 0 freq:0.08 size: 3 time: 12callee size: 9 stack: 0 IPA function summary for FlexCAN_Ip_SetBitrate_Privileged/102 inlinable global time: 15.753204 self size: 54 global size: 54 min size: 22 self stack: 0 global stack: 0 size:24.000000, time:9.252501 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) size:2.000000, time:0.123754, nonconst if:(op2 changed) size:3.000000, time:0.124374, executed if:(op2 == 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 function body not available loop depth: 0 freq:0.06 size: 1 time: 10 FlexCAN_SetTimeSegments/13 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 == 0) FlexCAN_SetExtendedTimeSegments/14 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 == 0) FlexCAN_SetEnhancedNominalTimeSegments/15 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 predicate: (op2 != 0) FlexCAN_EnhCbtEnable/25 function not considered for inlining loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 function body not available loop depth: 0 freq:0.06 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMaskType_Privileged/101 inlinable global time: 17.049956 self size: 33 global size: 33 min size: 18 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetRxMaskType/43 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetStopMode_Privileged/100 inlinable global time: 15.479977 self size: 17 global size: 17 min size: 12 self stack: 0 global stack: 0 size:7.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetStartMode_Privileged/99 inlinable global time: 14.000000 self size: 15 global size: 15 min size: 6 self stack: 0 global stack: 0 size:8.000000, time:6.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_ExitFreezeMode/149 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetStartMode_Privileged/98 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetStopMode_Privileged/97 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_MainFunctionWrite/96 inlinable global time: 20.119945 self size: 26 global size: 26 min size: 22 self stack: 0 global stack: 0 size:11.000000, time:7.494994 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.16 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffTimestamp/147 function body not available loop depth: 0 freq:0.16 size: 4 time: 13 FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 0 freq:0.50 size: 4 time: 13callee size:11 stack: 0 IPA function summary for FlexCAN_Ip_MainFunctionBusOff_Privileged/95 inlinable global time: 14.325009 self size: 25 global size: 25 min size: 14 self stack: 0 global stack: 0 size:14.000000, time:9.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: indirect call loop depth: 0 freq:0.18 size: 7 time: 19 IPA function summary for FlexCAN_Ip_MainFunctionRead/94 inlinable global time: 15.524457 self size: 61 global size: 61 min size: 0 self stack: 0 global stack: 0 size:10.000000, time:8.000000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:8.000000, time:1.062310, executed if:(op1 != 255) size:2.000000, time:0.267197, executed if:(op1 != 255), nonconst if:(op1 changed) && (op1 != 255) size:2.000000, time:0.133598, executed if:(op1 <= 7) && (op1 != 255), nonconst if:(op1 changed) && (op1 <= 7) && (op1 != 255) size:5.000000, time:0.166986, executed if:(op1 == 0) && (op1 <= 7) && (op1 != 255) size:10.000000, time:0.228971, executed if:(op1 == 255) array index:(op1 changed) && (op0 changed) calls: FlexCAN_IRQHandlerRxMB/61 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 predicate: (op1 != 255) FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 0 freq:0.13 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255) FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:35 stack:80 predicate: (op1 == 0) && (op1 <= 7) && (op1 != 255) op1 is compile time invariant FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining loop depth: 0 freq:0.00 size: 3 time: 12callee size:41 stack:80 predicate: (op1 == 255) op1 is compile time invariant FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 255) IPA function summary for FlexCAN_Ip_Deinit_Privileged/93 inlinable global time: 17.794955 self size: 19 global size: 19 min size: 14 self stack: 0 global stack: 0 size:8.000000, time:6.164998 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.16 size: 2 time: 11 FlexCAN_SetRegDefaultVal/49 function not considered for inlining loop depth: 0 freq:0.16 size: 2 time: 11callee size:28 stack: 0 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxIndividualMask_Privileged/91 inlinable global time: 13.559176 self size: 37 global size: 37 min size: 0 self stack: 0 global stack: 0 size:9.000000, time:7.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.649999, nonconst if:(op1 changed) size:16.000000, time:2.616350, executed if:(op1 <= 95) array index:(op1 changed) && (op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95) FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95) IPA function summary for FlexCAN_Ip_ExitFreezeMode_Privileged/90 inlinable global time: 15.000000 self size: 7 global size: 7 min size: 6 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_ExitFreezeMode/149 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 IPA function summary for FlexCAN_Ip_EnterFreezeMode_Privileged/89 inlinable global time: 15.000000 self size: 7 global size: 7 min size: 6 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 inlinable global time: 16.252459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:11.192500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SendBlocking/87 inlinable global time: 83.516070 self size: 94 global size: 94 min size: 94 self stack: 4 global stack: 4 size:41.000000, time:16.454379 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op5 changed) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 1 freq:0.13 size: 4 time: 13callee size:11 stack: 0 op1 change 95.340000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:0.12 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 1 freq:1.17 size: 4 time: 13callee size:11 stack: 0 op0 change 85.580000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:1.10 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_StartSendData/59 function not considered for inlining loop depth: 0 freq:0.25 size: 7 time: 16callee size:29 stack:16 OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant IPA function summary for FlexCAN_Busoff_Error_IRQHandler/86 inlinable global time: 26.261395 self size: 109 global size: 109 min size: 70 self stack: 0 global stack: 0 size:70.000000, time:18.652206 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.05 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 IPA function summary for FlexCAN_Ip_GetControllerRxErrorCounter/85 inlinable global time: 8.000000 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:6.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetControllerTxErrorCounter/84 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetErrorStatus/83 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_ClearErrorStatus/82 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_IRQHandler/81 inlinable global time: 51.613459 self size: 94 global size: 94 min size: 62 self stack: 0 global stack: 0 size:40.000000, time:18.936912 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) size:4.000000, time:0.500000, nonconst if:(op3 changed) size:10.000000, time:0.515367, executed if:(op3 != 0) loop iterations:(op2 changed || op1 changed) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 1 freq:0.94 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_ProcessSpuriousInterruptMB/64 function not considered for inlining loop depth: 0 freq:0.04 size: 4 time: 13callee size:18 stack: 0 FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 function not considered for inlining loop depth: 0 freq:0.01 size: 4 time: 13callee size:15 stack: 0 predicate: (op3 != 0) FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining loop depth: 0 freq:0.07 size: 4 time: 13callee size:12 stack: 0 FlexCAN_IRQHandlerTxMB/62 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:36 stack:80 FlexCAN_IRQHandlerRxMB/61 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size:35 stack:80 FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining loop depth: 1 freq:1.12 size: 4 time: 13callee size:12 stack: 0 op0 change 89.610000% of time FlexCAN_GetMsgBuffIntStatusFlag/36 function not considered for inlining loop depth: 0 freq:0.13 size: 4 time: 13callee size:12 stack: 0 IPA function summary for FlexCAN_CompleteRxMessageFifoData/80 inlinable global time: 18.419906 self size: 36 global size: 36 min size: 36 self stack: 0 global stack: 0 size:14.000000, time:8.994994 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.16 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.16 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.16 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant IPA function summary for FlexCAN_Ip_GetTransferStatus/79 inlinable global time: 10.750014 self size: 23 global size: 23 min size: 0 self stack: 0 global stack: 0 size:9.000000, time:7.000000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:3.000000, time:0.375007, executed if:(op1 > 95) size:3.000000, time:0.375007, executed if:(op1 <= 95) array index:(op1 changed) && (op0 changed) calls: IPA function summary for FlexCAN_Ip_ConfigRemoteResponseMb/78 inlinable global time: 19.958053 self size: 53 global size: 53 min size: 46 self stack: 16 global stack: 16 size:23.000000, time:9.994799 size:5.000000, time:0.738847, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.04 size: 7 time: 16 op3 is compile time invariant FlexCAN_SetTxMsgBuff/134 function body not available loop depth: 0 freq:0.12 size: 7 time: 16 op2 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 inlinable global time: 19.012512 self size: 45 global size: 45 min size: 24 self stack: 0 global stack: 0 size:28.000000, time:10.376264 size:3.000000, time:0.249995, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.250000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_SetEnhancedRxFifoFilter/146 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ConfigRxFifo_Privileged/76 inlinable global time: 17.173706 self size: 34 global size: 34 min size: 20 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetRxFifoFilter/145 function body not available loop depth: 0 freq:0.12 size: 4 time: 13 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_RxFifoBlocking/75 inlinable global time: 24.650041 self size: 47 global size: 47 min size: 54 self stack: 0 global stack: 0 size:16.000000, time:8.005006 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_ProccessLegacyRxFIFO/57 function not considered for inlining loop depth: 0 freq:0.05 size: 4 time: 13callee size:37 stack: 4 FlexCAN_StartRxMessageFifoData/60 function not considered for inlining loop depth: 0 freq:0.16 size: 4 time: 13callee size: 6 stack: 0 FlexCAN_ProccessLegacyRxFIFO/57 function not considered for inlining loop depth: 0 freq:0.07 size: 4 time: 13callee size:37 stack: 4 FlexCAN_StartRxMessageFifoData/60 function not considered for inlining loop depth: 0 freq:0.20 size: 4 time: 13callee size: 6 stack: 0 FlexCAN_ProccessEnhancedRxFifo/56 function not considered for inlining loop depth: 0 freq:0.05 size: 4 time: 13callee size:28 stack: 4 FlexCAN_StartRxMessageEnhancedFifoData/55 function not considered for inlining loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_RxFifo/74 inlinable global time: 21.005006 self size: 29 global size: 29 min size: 30 self stack: 0 global stack: 0 size:10.000000, time:6.505006 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_StartRxMessageFifoData/60 function not considered for inlining loop depth: 0 freq:0.16 size: 4 time: 13callee size: 6 stack: 0 FlexCAN_StartRxMessageFifoData/60 function not considered for inlining loop depth: 0 freq:0.20 size: 4 time: 13callee size: 6 stack: 0 FlexCAN_StartRxMessageEnhancedFifoData/55 function not considered for inlining loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ReceiveBlocking/73 inlinable global time: 80.158218 self size: 80 global size: 80 min size: 34 self stack: 4 global stack: 4 size:28.000000, time:20.554627 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op4 changed) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:6.000000, time:3.755164, nonconst if:(op3 changed) size:2.000000, time:0.138600, executed if:(op3 == 0) size:2.000000, time:0.962002, executed if:(op3 != 0) array index:(op1 changed) && (op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.06 size: 6 time: 15 predicate: (op3 == 0) op3 is compile time invariant OsIf_GetElapsed/138 function body not available loop depth: 1 freq:1.46 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerRxMB/61 function not considered for inlining loop depth: 1 freq:0.16 size: 3 time: 12callee size:29 stack:80 predicate: (op3 != 0) FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 1 freq:0.48 size: 4 time: 13callee size:11 stack: 0 predicate: (op3 != 0) OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 op0 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0) op3 is compile time invariant FlexCAN_StartRxMessageBufferData/58 function not considered for inlining loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0 OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant IPA function summary for FlexCAN_Ip_Receive/72 inlinable global time: 18.402523 self size: 28 global size: 28 min size: 12 self stack: 0 global stack: 0 size:8.000000, time:7.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.500000, nonconst if:(op3 changed) size:1.000000, time:0.082501, executed if:(op3 == 0) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0) op3 is compile time invariant FlexCAN_StartRxMessageBufferData/58 function not considered for inlining loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0 IPA function summary for FlexCAN_Ip_ConfigRxMb/71 inlinable global time: 22.273693 self size: 52 global size: 52 min size: 48 self stack: 16 global stack: 16 size:21.500000, time:9.895678 size:4.500000, time:0.679136, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_Ip_Send/70 inlinable global time: 12.840162 self size: 39 global size: 39 min size: 28 self stack: 0 global stack: 0 size:19.500000, time:9.281735 size:3.500000, time:0.520624, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.01 size: 7 time: 16 op3 is compile time invariant FlexCAN_StartSendData/59 function not considered for inlining loop depth: 0 freq:0.08 size: 7 time: 16callee size:29 stack:16 IPA function summary for FlexCAN_Ip_Init_Privileged/69 inlinable global time: 48.330965 self size: 90 global size: 90 min size: 64 self stack: 0 global stack: 0 size:41.000000, time:28.658625 size:15.000000, time:8.901571, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 FlexCAN_SetOperationMode/123 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_SetTimeSegments/13 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_SetFDTimeSegments/12 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_SetExtendedTimeSegments/14 function not considered for inlining loop depth: 0 freq:0.02 size: 3 time: 12callee size: 5 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_SetEnhancedDataTimeSegments/17 function not considered for inlining loop depth: 0 freq:0.01 size: 3 time: 12callee size: 5 stack: 0 FlexCAN_SetEnhancedNominalTimeSegments/15 function not considered for inlining loop depth: 0 freq:0.04 size: 3 time: 12callee size: 5 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_EnableExtCbt/24 function not considered for inlining loop depth: 0 freq:0.08 size: 3 time: 12callee size: 4 stack: 0 FlexCAN_InitController/53 function not considered for inlining loop depth: 0 freq:0.25 size: 4 time: 13callee size:36 stack: 0 IPA function summary for FlexCAN_AbortRxTransfer/68 inlinable global time: 45.966300 self size: 46 global size: 46 min size: 28 self stack: 0 global stack: 0 size:21.000000, time:12.105500 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:1.340000, nonconst if:(op1 changed) size:1.000000, time:0.221100, executed if:(op1 == 0) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0 op0 change 99.990000% of time op1 change 99.990000% of time FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 FLEXCAN_ClearMsgBuffIntCmd/162 function body not available loop depth: 0 freq:0.22 size: 5 time: 14 predicate: (op1 == 0) op2 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.22 size: 4 time: 13 RxFifoOcuppiedLastMsgBuff/29 function not considered for inlining loop depth: 0 freq:0.67 size: 3 time: 12callee size: 3 stack: 0 IPA function summary for FlexCAN_AbortTxTransfer/67 inlinable global time: 349.181112 self size: 48 global size: 48 min size: 44 self stack: 4 global stack: 4 size:23.000000, time:60.817476 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 1 freq:9.35 size: 4 time: 13callee size:11 stack: 0 op0 change 10.690000% of time op1 change 10.690000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:8.83 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 IPA function summary for FlexCAN_IRQHandlerEnhancedRxFIFO/66 inlinable global time: 22.587640 self size: 82 global size: 82 min size: 0 self stack: 80 global stack: 80 size:2.000000, time:2.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:10.000000, time:4.000000, nonconst if:(op1 changed) size:1.000000, time:0.200000, executed if:(op1 == 31), nonconst if:(op1 changed) && (op1 == 31) size:4.000000, time:0.800000, executed if:(op1 == 31) size:1.000000, time:0.200000, executed if:(op1 == 30), nonconst if:(op1 changed) && (op1 == 30) size:4.000000, time:0.800000, executed if:(op1 == 30) size:1.000000, time:0.200000, executed if:(op1 == 29), nonconst if:(op1 changed) && (op1 == 29) size:4.000000, time:0.800000, executed if:(op1 == 29) size:18.000000, time:1.572400, executed if:(op1 == 28) size:1.000000, time:0.068000, executed if:(op1 == 28), nonconst if:(op1 changed) && (op1 == 28) array index:(op0 changed) calls: FlexCAN_CompleteRxMessageEnhancedFifoData/54 function not considered for inlining loop depth: 0 freq:0.02 size: 2 time: 11callee size:13 stack: 0 predicate: (op1 == 28) FlexCAN_ReadEnhancedRxFifo/142 function body not available loop depth: 0 freq:0.07 size: 3 time: 12 predicate: (op1 == 28) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 31) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 30) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 29) indirect call loop depth: 0 freq:0.05 size: 7 time: 19predicate: (op1 == 28) IPA function summary for FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 inlinable global time: 106.564801 self size: 30 global size: 30 min size: 22 self stack: 0 global stack: 0 size:16.000000, time:30.177600 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining loop depth: 1 freq:0.44 size: 3 time: 12callee size:41 stack:80 FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 function not considered for inlining loop depth: 1 freq:1.32 size: 4 time: 13callee size: 4 stack: 0 op0 change 75.750000% of time FlexCAN_GetEnhancedRxFIFOStatusFlag/46 function not considered for inlining loop depth: 1 freq:4.00 size: 4 time: 13callee size: 4 stack: 0 op0 change 24.990000% of time IPA function summary for FlexCAN_ProcessSpuriousInterruptMB/64 inlinable global time: 207.939185 self size: 36 global size: 36 min size: 22 self stack: 0 global stack: 0 size:22.000000, time:60.760769 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 1 freq:0.44 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusImask/11 function not considered for inlining loop depth: 1 freq:2.67 size: 4 time: 13callee size:11 stack: 0 op0 change 37.450000% of time FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 1 freq:8.09 size: 4 time: 13callee size:11 stack: 0 op0 change 12.350000% of time IPA function summary for FlexCAN_IRQHandlerRxFIFO/63 inlinable global time: 28.692556 self size: 70 global size: 70 min size: 0 self stack: 80 global stack: 80 size:6.000000, time:5.300000 size:3.000000, time:2.000000, executed if:(not inlined) size:8.000000, time:4.000000, nonconst if:(op1 changed) size:3.000000, time:0.750000, executed if:(op1 == 7) size:3.000000, time:0.750000, executed if:(op1 == 6) size:12.000000, time:1.171498, executed if:(op1 == 5) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 7) FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 6) FlexCAN_CompleteRxMessageFifoData/80 function not considered for inlining loop depth: 0 freq:0.02 size: 2 time: 11callee size:18 stack: 0 predicate: (op1 == 5) FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.05 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 5) FlexCAN_ReadRxFifo/143 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 5) indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 7) indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 6) indirect call loop depth: 0 freq:0.04 size: 7 time: 19predicate: (op1 == 5) IPA function summary for FlexCAN_IRQHandlerTxMB/62 inlinable global time: 68.946300 self size: 73 global size: 73 min size: 72 self stack: 80 global stack: 80 size:34.000000, time:22.890275 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.14 size: 6 time: 15 op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op3 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffTimestamp/147 function body not available loop depth: 0 freq:0.50 size: 4 time: 13 FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.10 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuff/140 function body not available loop depth: 0 freq:0.50 size: 4 time: 13 op2 is compile time invariant FlexCAN_LockRxMsgBuff/139 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 indirect call loop depth: 0 freq:0.70 size: 7 time: 19 IPA function summary for FlexCAN_IRQHandlerRxMB/61 inlinable global time: 77.031900 self size: 59 global size: 59 min size: 58 self stack: 80 global stack: 80 size:27.000000, time:20.190275 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.14 size: 6 time: 15 op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op3 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuff/140 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 FlexCAN_LockRxMsgBuff/139 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 indirect call loop depth: 0 freq:0.70 size: 7 time: 19 IPA function summary for FlexCAN_StartRxMessageFifoData/60 inlinable global time: 12.500000 self size: 12 global size: 12 min size: 8 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) calls: FlexCAN_StartRxMessageFifoData.part.0/179 function not considered for inlining loop depth: 0 freq:0.50 size: 4 time: 13callee size:20 stack: 0 IPA function summary for FlexCAN_StartSendData/59 inlinable global time: 18.885922 self size: 58 global size: 58 min size: 32 self stack: 16 global stack: 16 size:33.500000, time:10.690707 size:6.500000, time:0.771691, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_SetTxMsgBuff/134 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 op2 is compile time invariant op5 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 function not considered for inlining loop depth: 0 freq:0.08 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_StartRxMessageBufferData/58 inlinable global time: 19.108755 self size: 26 global size: 26 min size: 12 self stack: 0 global stack: 0 size:16.000000, time:9.608755 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.50 size: 6 time: 15 IPA function summary for FlexCAN_ProccessLegacyRxFIFO/57 inlinable global time: 338.159771 self size: 74 global size: 74 min size: 72 self stack: 4 global stack: 4 size:34.000000, time:115.926893 size:3.000000, time:1.999800, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant OsIf_GetElapsed/138 function body not available loop depth: 1 freq:8.83 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerRxFIFO/63 function not considered for inlining loop depth: 2 freq:1.40 size: 3 time: 12callee size:35 stack:80 op0 change 71.460000% of time FlexCAN_GetBuffStatusFlag/10 function not considered for inlining loop depth: 2 freq:4.24 size: 4 time: 13callee size:11 stack: 0 op0 change 23.580000% of time OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant IPA function summary for FlexCAN_ProccessEnhancedRxFifo/56 inlinable global time: 361.894335 self size: 56 global size: 56 min size: 36 self stack: 4 global stack: 4 size:34.000000, time:123.168589 size:3.000000, time:1.999800, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) array index:(op0 changed) calls: OsIf_GetElapsed/138 function body not available loop depth: 1 freq:8.83 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerEnhancedRxFIFO/66 function not considered for inlining loop depth: 2 freq:1.87 size: 3 time: 12callee size:41 stack:80 op0 change 53.590000% of time FlexCAN_GetEnhancedRxFIFOStatusFlag/46 function not considered for inlining loop depth: 2 freq:5.65 size: 4 time: 13callee size: 4 stack: 0 op0 change 17.680000% of time OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant IPA function summary for FlexCAN_StartRxMessageEnhancedFifoData/55 inlinable global time: 13.449210 self size: 28 global size: 28 min size: 0 self stack: 0 global stack: 0 size:24.000000, time:11.449210 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_CompleteRxMessageEnhancedFifoData/54 inlinable global time: 17.250009 self size: 26 global size: 26 min size: 6 self stack: 0 global stack: 0 size:19.000000, time:9.750009 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_InitController/53 inlinable global time: 81.731575 self size: 73 global size: 73 min size: 86 self stack: 0 global stack: 0 size:19.500000, time:8.433575 size:7.500000, time:3.730775, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 0] changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.06 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.06 size: 2 time: 11 FlexCAN_SetMaxMsgBuffNum/129 function body not available loop depth: 0 freq:0.18 size: 4 time: 13 FlexCAN_SetPayloadSize/128 function body not available loop depth: 0 freq:0.18 size: 3 time: 12 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.18 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.18 size: 2 time: 11 FlexCAN_InitRxFifo/52 function not considered for inlining loop depth: 0 freq:0.35 size: 4 time: 13callee size:12 stack: 0 FlexCAN_ConfigCtrlOptions/127 function body not available loop depth: 0 freq:0.35 size: 3 time: 12 FlexCAN_SetFDEnabled/6 function not considered for inlining loop depth: 0 freq:0.35 size: 4 time: 13callee size: 9 stack: 0 FlexCAN_DisableMemErrorDetection/5 function not considered for inlining loop depth: 0 freq:0.35 size: 2 time: 11callee size: 6 stack: 0 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.35 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.35 size: 2 time: 11 FlexCAN_Init/126 function body not available loop depth: 0 freq:0.71 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.71 size: 1 time: 10 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.71 size: 1 time: 10 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.19 size: 3 time: 12 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.59 size: 3 time: 12 IPA function summary for FlexCAN_InitRxFifo/52 inlinable global time: 17.744900 self size: 25 global size: 25 min size: 12 self stack: 0 global stack: 0 size:4.000000, time:2.500825 size:5.000000, time:2.830825, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op1[ref offset: 40] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op1[ref offset: 40] changed) size:0.500000, time:0.165000, executed if:(op1[ref offset: 40] != 0) && (not inlined), nonconst if:(op1[ref offset: 32] changed) && (op1[ref offset: 40] != 0) && (not inlined) size:0.500000, time:0.165000, executed if:(op1[ref offset: 40] != 0), nonconst if:(op1[ref offset: 32] changed) && (op1[ref offset: 40] != 0) size:2.000000, time:0.660000, executed if:(op1[ref offset: 40] != 0) calls: FlexCAN_EnableEnhancedRxFifo/131 function body not available loop depth: 0 freq:0.28 size: 6 time: 15 FlexCAN_EnableRxFifo/130 function body not available loop depth: 0 freq:0.33 size: 4 time: 13 predicate: (op1[ref offset: 40] != 0) IPA function summary for FlexCAN_SetRegDefaultVal/49 inlinable global time: 79.500000 self size: 57 global size: 57 min size: 18 self stack: 0 global stack: 0 size:27.500000, time:25.750000 size:20.500000, time:17.750000, executed if:(not inlined) calls: FlexCAN_GetMaxMbNum/150 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 FlexCAN_GetMaxMbNum/150 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 IPA function summary for FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24704] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 24704] changed) size:3.000000, time:3.000000, nonconst if:(op1 changed) size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 24704] changed || op1 changed) calls: IPA function summary for FlexCAN_GetEnhancedRxFIFOStatusFlag/46 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24736] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 24736] changed) size:3.000000, time:3.000000, nonconst if:(op1 changed) size:2.000000, time:2.000000, nonconst if:(op0[ref offset: 24736] changed || op1 changed) calls: IPA function summary for FlexCAN_SetRxMaskType/43 inlinable global time: 7.000000 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op1 != 0) && (not inlined) size:1.500000, time:0.750000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 0] changed) && (op1 != 0) size:0.500000, time:0.250000, executed if:(op1 != 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 != 0) size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined), nonconst if:(op0[ref offset: 0] changed) && (op1 == 0) && (not inlined) size:1.500000, time:0.750000, executed if:(op1 == 0), nonconst if:(op0[ref offset: 0] changed) && (op1 == 0) size:0.500000, time:0.250000, executed if:(op1 == 0) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 == 0) calls: IPA function summary for FlexCAN_SetTxArbitrationStartDelay/42 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 416] changed || op1 changed) calls: IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag/36 inlinable global time: 11.125000 self size: 24 global size: 24 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31) size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31) calls: FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 function not considered for inlining loop depth: 0 freq:0.12 size: 4 time: 13callee size: 4 stack: 0 predicate: (op1 <= 95) && (op1 > 63) && (op1 > 31) IPA function summary for RxFifoOcuppiedLastMsgBuff/29 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:4.000000, time:4.000000, nonconst if:(op0 changed) calls: IPA function summary for FlexCAN_EnhCbtEnable/25 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 416] changed || op1 changed) calls: IPA function summary for FlexCAN_EnableExtCbt/24 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 640] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 640] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 640] changed || op1 changed) calls: IPA function summary for FlexCAN_GetFDTimeSegments/21 inlinable global time: 21.000000 self size: 22 global size: 22 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:5.500000, time:4.500000, executed if:(not inlined) size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24608] changed) && (not inlined) size:11.500000, time:11.500000, nonconst if:(op0[ref offset: 24608] changed) calls: IPA function summary for FlexCAN_GetTimeSegments/20 inlinable global time: 20.000000 self size: 21 global size: 21 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:5.500000, time:4.500000, executed if:(not inlined) size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:10.500000, time:10.500000, nonconst if:(op0[ref offset: 32] changed) calls: IPA function summary for FlexCAN_GetExtendedTimeSegments/19 inlinable global time: 21.000000 self size: 22 global size: 22 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:5.500000, time:4.500000, executed if:(not inlined) size:2.500000, time:2.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 640] changed) && (not inlined) size:11.500000, time:11.500000, nonconst if:(op0[ref offset: 640] changed) calls: IPA function summary for FlexCAN_GetEnhancedDataTimeSegments/18 inlinable global time: 14.000000 self size: 24 global size: 24 min size: 0 self stack: 0 global stack: 0 size:15.500000, time:9.750000 size:7.500000, time:3.250000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: IPA function summary for FlexCAN_SetEnhancedDataTimeSegments/17 inlinable global time: 12.000000 self size: 11 global size: 11 min size: 6 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: FlexCAN_SetEnhancedDataTimeSegments.part.0/172 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0 IPA function summary for FlexCAN_GetEnhancedNominalTimeSegments/16 inlinable global time: 17.000000 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:2.500000, time:2.500000 size:5.500000, time:4.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24448] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24448] changed) size:1.500000, time:1.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24480] changed) && (not inlined) size:6.500000, time:6.500000, nonconst if:(op0[ref offset: 24480] changed) calls: IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments/15 inlinable global time: 12.000000 self size: 11 global size: 11 min size: 6 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0 IPA function summary for FlexCAN_SetExtendedTimeSegments/14 inlinable global time: 12.000000 self size: 11 global size: 11 min size: 6 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: FlexCAN_SetExtendedTimeSegments.part.0/168 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 IPA function summary for FlexCAN_SetTimeSegments/13 inlinable global time: 12.000000 self size: 11 global size: 11 min size: 6 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: FlexCAN_SetTimeSegments.part.0/166 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 IPA function summary for FlexCAN_SetFDTimeSegments/12 inlinable global time: 12.000000 self size: 11 global size: 11 min size: 6 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) calls: FlexCAN_SetFDTimeSegments.part.0/164 function not considered for inlining loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 IPA function summary for FlexCAN_GetBuffStatusImask/11 inlinable global time: 9.375000 self size: 23 global size: 23 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31) size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed) && (op1 <= 31) calls: IPA function summary for FlexCAN_GetBuffStatusFlag/10 inlinable global time: 9.375000 self size: 23 global size: 23 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31) size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 384] changed) && (op1 <= 31) calls: IPA function summary for FlexCAN_ClearMsgBuffIntStatusFlag/9 inlinable global time: 8.375000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:4.000000, time:4.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31) calls: IPA function summary for FlexCAN_SetListenOnlyMode/7 inlinable global time: 8.000000 self size: 9 global size: 9 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 32] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 32] changed || op1 changed) calls: IPA function summary for FlexCAN_SetFDEnabled/6 inlinable global time: 17.000000 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:5.500000, time:5.500000 size:5.500000, time:4.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 0] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 0] changed || op1 changed) size:2.000000, time:2.000000, nonconst if:(op2 changed) calls: IPA function summary for FlexCAN_DisableMemErrorDetection/5 inlinable global time: 12.000000 self size: 13 global size: 13 min size: 0 self stack: 0 global stack: 0 size:4.500000, time:4.500000 size:6.500000, time:5.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 416] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 416] changed) calls: IPA function summary for FlexCAN_SetEnhancedTDCOffset/3 inlinable global time: 9.000000 self size: 12 global size: 12 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24544] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24544] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24544] changed) && (op1 != 0) size:2.000000, time:1.000000, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0) size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24544] changed || op2 changed) && (op1 != 0) calls: IPA function summary for FlexCAN_SetTDCOffset/2 inlinable global time: 9.000000 self size: 12 global size: 12 min size: 0 self stack: 0 global stack: 0 size:0.500000, time:0.500000 size:3.500000, time:2.500000, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 24576] changed) && (not inlined) size:1.500000, time:1.500000, nonconst if:(op0[ref offset: 24576] changed) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24576] changed) && (op1 != 0) size:2.000000, time:1.000000, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0) size:1.000000, time:0.500000, executed if:(op1 != 0), nonconst if:(op0[ref offset: 24576] changed || op2 changed) && (op1 != 0) calls: Flattening functions: Overall time estimate: 3308.961620 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in FlexCAN_StartRxMessageFifoData.part.0/179. Enqueueing calls in FlexCAN_GetMsgBuffIntStatusFlag.part.0/174. Enqueueing calls in FlexCAN_SetEnhancedDataTimeSegments.part.0/172. Enqueueing calls in FlexCAN_SetEnhancedNominalTimeSegments.part.0/170. Enqueueing calls in FlexCAN_SetExtendedTimeSegments.part.0/168. Enqueueing calls in FlexCAN_SetTimeSegments.part.0/166. Enqueueing calls in FlexCAN_SetFDTimeSegments.part.0/164. Enqueueing calls in FlexCAN_Ip_GetListenOnlyMode/120. Enqueueing calls in FlexCAN_Ip_SetListenOnlyMode_Privileged/119. Enqueueing calls in FlexCAN_Ip_SetRxMb15Mask_Privileged/118. Enqueueing calls in FlexCAN_Ip_SetRxMb14Mask_Privileged/117. Enqueueing calls in FlexCAN_Ip_AbortTransfer/116. Enqueueing calls in FlexCAN_Ip_SetErrorInt_Privileged/115. Enqueueing calls in FlexCAN_Ip_DisableInterrupts_Privileged/114. Enqueueing calls in FlexCAN_Ip_EnableInterrupts_Privileged/113. Enqueueing calls in FlexCAN_Ip_ClearBuffStatusFlag/112. Enqueueing calls in FlexCAN_Ip_GetBuffStatusFlag/111. Enqueueing calls in FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110. Enqueueing calls in FlexCAN_Ip_SetTDCOffset_Privileged/109. Enqueueing calls in FlexCAN_Ip_GetBitrateFD/108. Enqueueing calls in FlexCAN_Ip_SetBitrateCbt_Privileged/107. Enqueueing calls in FlexCAN_Ip_GetTDCValue_Privileged/106. Enqueueing calls in FlexCAN_Ip_GetTDCFail_Privileged/105. Enqueueing calls in FlexCAN_Ip_ClearTDCFail_Privileged/104. Enqueueing calls in FlexCAN_Ip_GetBitrate/103. Enqueueing calls in FlexCAN_Ip_SetBitrate_Privileged/102. Enqueueing calls in FlexCAN_Ip_SetRxMaskType_Privileged/101. Enqueueing calls in FlexCAN_Ip_SetStopMode_Privileged/100. Enqueueing calls in FlexCAN_Ip_SetStartMode_Privileged/99. Enqueueing calls in FlexCAN_Ip_GetStartMode_Privileged/98. Enqueueing calls in FlexCAN_Ip_GetStopMode_Privileged/97. Enqueueing calls in FlexCAN_Ip_MainFunctionWrite/96. Enqueueing calls in FlexCAN_Ip_MainFunctionBusOff_Privileged/95. Enqueueing calls in FlexCAN_Ip_MainFunctionRead/94. Enqueueing calls in FlexCAN_Ip_Deinit_Privileged/93. Enqueueing calls in FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92. Enqueueing calls in FlexCAN_Ip_SetRxIndividualMask_Privileged/91. Enqueueing calls in FlexCAN_Ip_ExitFreezeMode_Privileged/90. Enqueueing calls in FlexCAN_Ip_EnterFreezeMode_Privileged/89. Enqueueing calls in FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88. Enqueueing calls in FlexCAN_Ip_SendBlocking/87. Enqueueing calls in FlexCAN_Busoff_Error_IRQHandler/86. Enqueueing calls in FlexCAN_Ip_GetControllerRxErrorCounter/85. Enqueueing calls in FlexCAN_Ip_GetControllerTxErrorCounter/84. Enqueueing calls in FlexCAN_Ip_GetErrorStatus/83. Enqueueing calls in FlexCAN_Ip_ClearErrorStatus/82. Enqueueing calls in FlexCAN_IRQHandler/81. Enqueueing calls in FlexCAN_CompleteRxMessageFifoData/80. Enqueueing calls in FlexCAN_Ip_GetTransferStatus/79. Enqueueing calls in FlexCAN_Ip_ConfigRemoteResponseMb/78. Enqueueing calls in FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77. Enqueueing calls in FlexCAN_Ip_ConfigRxFifo_Privileged/76. Enqueueing calls in FlexCAN_Ip_RxFifoBlocking/75. Enqueueing calls in FlexCAN_Ip_RxFifo/74. Enqueueing calls in FlexCAN_Ip_ReceiveBlocking/73. Enqueueing calls in FlexCAN_Ip_Receive/72. Enqueueing calls in FlexCAN_Ip_ConfigRxMb/71. Enqueueing calls in FlexCAN_Ip_Send/70. Enqueueing calls in FlexCAN_Ip_Init_Privileged/69. Enqueueing calls in FlexCAN_AbortRxTransfer/68. Enqueueing calls in FlexCAN_AbortTxTransfer/67. Enqueueing calls in FlexCAN_IRQHandlerEnhancedRxFIFO/66. Enqueueing calls in FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65. Enqueueing calls in FlexCAN_ProcessSpuriousInterruptMB/64. Enqueueing calls in FlexCAN_IRQHandlerRxFIFO/63. Enqueueing calls in FlexCAN_IRQHandlerTxMB/62. Enqueueing calls in FlexCAN_IRQHandlerRxMB/61. Enqueueing calls in FlexCAN_StartRxMessageFifoData/60. Enqueueing calls in FlexCAN_StartSendData/59. Enqueueing calls in FlexCAN_StartRxMessageBufferData/58. Enqueueing calls in FlexCAN_ProccessLegacyRxFIFO/57. Enqueueing calls in FlexCAN_ProccessEnhancedRxFifo/56. Enqueueing calls in FlexCAN_StartRxMessageEnhancedFifoData/55. Enqueueing calls in FlexCAN_CompleteRxMessageEnhancedFifoData/54. Enqueueing calls in FlexCAN_InitController/53. Enqueueing calls in FlexCAN_InitRxFifo/52. Enqueueing calls in FlexCAN_SetRegDefaultVal/49. Enqueueing calls in FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48. Enqueueing calls in FlexCAN_GetEnhancedRxFIFOStatusFlag/46. Enqueueing calls in FlexCAN_SetRxMaskType/43. Enqueueing calls in FlexCAN_SetTxArbitrationStartDelay/42. Enqueueing calls in FlexCAN_GetMsgBuffIntStatusFlag/36. Enqueueing calls in RxFifoOcuppiedLastMsgBuff/29. Enqueueing calls in FlexCAN_EnhCbtEnable/25. Enqueueing calls in FlexCAN_EnableExtCbt/24. Enqueueing calls in FlexCAN_GetFDTimeSegments/21. Enqueueing calls in FlexCAN_GetTimeSegments/20. Enqueueing calls in FlexCAN_GetExtendedTimeSegments/19. Enqueueing calls in FlexCAN_GetEnhancedDataTimeSegments/18. Enqueueing calls in FlexCAN_SetEnhancedDataTimeSegments/17. Enqueueing calls in FlexCAN_GetEnhancedNominalTimeSegments/16. Enqueueing calls in FlexCAN_SetEnhancedNominalTimeSegments/15. Enqueueing calls in FlexCAN_SetExtendedTimeSegments/14. Enqueueing calls in FlexCAN_SetTimeSegments/13. Enqueueing calls in FlexCAN_SetFDTimeSegments/12. Enqueueing calls in FlexCAN_GetBuffStatusImask/11. Enqueueing calls in FlexCAN_GetBuffStatusFlag/10. Enqueueing calls in FlexCAN_ClearMsgBuffIntStatusFlag/9. Enqueueing calls in FlexCAN_SetListenOnlyMode/7. Enqueueing calls in FlexCAN_SetFDEnabled/6. Enqueueing calls in FlexCAN_DisableMemErrorDetection/5. Enqueueing calls in FlexCAN_SetEnhancedTDCOffset/3. Enqueueing calls in FlexCAN_SetTDCOffset/2. Considering FlexCAN_GetEnhancedRxFIFOStatusFlag/46 with 9 size to be inlined into FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 in ../RTD/src/FlexCAN_Ip.c:1373 Estimated badness is -31.750100, frequency 4.00. Considering FlexCAN_GetEnhancedRxFIFOStatusFlag/46 with 9 size to be inlined into FlexCAN_ProccessEnhancedRxFifo/56 in ../RTD/src/FlexCAN_Ip.c:713 Estimated badness is -24.816203, frequency 5.65. Considering FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 with 9 size to be inlined into FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 in ../RTD/src/FlexCAN_Ip.c:1375 Estimated badness is -10.310025, frequency 1.32. Considering RxFifoOcuppiedLastMsgBuff/29 with 7 size to be inlined into FlexCAN_AbortRxTransfer/68 in ../RTD/src/FlexCAN_Ip.c:1622 Estimated badness is -6.386383, frequency 0.67. Considering FlexCAN_GetBuffStatusImask/11 with 23 size to be inlined into FlexCAN_ProcessSpuriousInterruptMB/64 in ../RTD/src/FlexCAN_Ip.c:1334 Estimated badness is -1.754720, frequency 2.67. Considering FlexCAN_SetListenOnlyMode/7 with 9 size to be inlined into FlexCAN_Ip_SetListenOnlyMode_Privileged/119 in ../RTD/src/FlexCAN_Ip.c:4311 Estimated badness is -0.848569, frequency 0.12. Considering FlexCAN_SetTxArbitrationStartDelay/42 with 9 size to be inlined into FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 in ../RTD/src/FlexCAN_Ip.c:3889 Estimated badness is -0.802701, frequency 0.12. Considering FlexCAN_SetTimeSegments.part.0/166 with 26 size to be inlined into FlexCAN_SetTimeSegments/13 in unknown:0 Estimated badness is -0.685185, frequency 0.50. Considering FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 with 30 size to be inlined into FlexCAN_SetEnhancedNominalTimeSegments/15 in unknown:0 Estimated badness is -0.628352, frequency 0.50. Considering FlexCAN_SetEnhancedDataTimeSegments.part.0/172 with 30 size to be inlined into FlexCAN_SetEnhancedDataTimeSegments/17 in unknown:0 Estimated badness is -0.628352, frequency 0.50. Considering FlexCAN_DisableMemErrorDetection/5 with 13 size to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:367 Estimated badness is -0.622597, frequency 0.35. Considering FlexCAN_SetExtendedTimeSegments.part.0/168 with 27 size to be inlined into FlexCAN_SetExtendedTimeSegments/14 in unknown:0 Estimated badness is -0.621849, frequency 0.50. Considering FlexCAN_SetFDTimeSegments.part.0/164 with 27 size to be inlined into FlexCAN_SetFDTimeSegments/12 in unknown:0 Estimated badness is -0.621849, frequency 0.50. Considering FlexCAN_SetRxMaskType/43 with 11 size to be inlined into FlexCAN_Ip_SetRxMaskType_Privileged/101 in ../RTD/src/FlexCAN_Ip.c:3441 Estimated badness is -0.549999, frequency 0.12. Considering FlexCAN_SetFDEnabled/6 with 18 size to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:372 Estimated badness is -0.313333, frequency 0.35. Considering FlexCAN_EnhCbtEnable/25 with 9 size to be inlined into FlexCAN_Ip_SetBitrate_Privileged/102 in ../RTD/src/FlexCAN_Ip.c:3496 Estimated badness is -0.265188, frequency 0.06. Considering FlexCAN_EnableExtCbt/24 with 9 size to be inlined into FlexCAN_Ip_Init_Privileged/69 in ../RTD/src/FlexCAN_Ip.c:1694 Estimated badness is -0.215221, frequency 0.08. Considering FlexCAN_GetFDTimeSegments/21 with 22 size to be inlined into FlexCAN_Ip_GetBitrateFD/108 in ../RTD/src/FlexCAN_Ip.c:3784 Estimated badness is -0.191923, frequency 0.13. Considering FlexCAN_SetEnhancedTDCOffset/3 with 12 size to be inlined into FlexCAN_Ip_SetTDCOffset_Privileged/109 in ../RTD/src/FlexCAN_Ip.c:3830 Estimated badness is -0.165006, frequency 0.06. Considering FlexCAN_SetTDCOffset/2 with 12 size to be inlined into FlexCAN_Ip_SetTDCOffset_Privileged/109 in ../RTD/src/FlexCAN_Ip.c:3835 Estimated badness is -0.165006, frequency 0.06. Considering FlexCAN_GetEnhancedNominalTimeSegments/16 with 18 size to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3551 Estimated badness is -0.156541, frequency 0.08. Considering FlexCAN_GetTimeSegments/20 with 21 size to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3563 Estimated badness is -0.146547, frequency 0.10. Considering FlexCAN_GetEnhancedDataTimeSegments/18 with 24 size to be inlined into FlexCAN_Ip_GetBitrateFD/108 in ../RTD/src/FlexCAN_Ip.c:3779 Estimated badness is -0.111724, frequency 0.13. Considering FlexCAN_GetExtendedTimeSegments/19 with 22 size to be inlined into FlexCAN_Ip_GetBitrate/103 in ../RTD/src/FlexCAN_Ip.c:3558 Estimated badness is -0.090379, frequency 0.07. Considering FlexCAN_SetRegDefaultVal/49 with 57 size to be inlined into FlexCAN_Ip_Deinit_Privileged/93 in ../RTD/src/FlexCAN_Ip.c:3186 Estimated badness is -0.080317, frequency 0.16. Considering FlexCAN_SetFDEnabled/6 with 18 size to be inlined into FlexCAN_Ip_SetBitrateCbt_Privileged/107 in ../RTD/src/FlexCAN_Ip.c:3731 Estimated badness is -0.034806, frequency 0.03. Considering FlexCAN_InitRxFifo/52 with 25 size to be inlined into FlexCAN_InitController/53 in ../RTD/src/FlexCAN_Ip.c:389 Estimated badness is -0.017621, frequency 0.35. Considering FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 with 9 size to be inlined into FlexCAN_GetMsgBuffIntStatusFlag/36 in unknown:0 Estimated badness is -0.005805, frequency 0.12. Considering FlexCAN_ProcessSpuriousInterruptMB/64 with 51 size to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2562 Estimated badness is -0.003487, frequency 0.04. Considering FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 with 33 size to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2553 Estimated badness is -0.001391, frequency 0.01. Considering FlexCAN_InitController/53 with 100 size to be inlined into FlexCAN_Ip_Init_Privileged/69 in ../RTD/src/FlexCAN_Ip.c:1690 Estimated badness is -0.001100, frequency 0.25. Considering FlexCAN_ProccessEnhancedRxFifo/56 with 58 size to be inlined into FlexCAN_Ip_RxFifoBlocking/75 in ../RTD/src/FlexCAN_Ip.c:2117 Estimated badness is -0.000544, frequency 0.05. Considering FlexCAN_CompleteRxMessageEnhancedFifoData/54 with 26 size to be inlined into FlexCAN_IRQHandlerEnhancedRxFIFO/66 in ../RTD/src/FlexCAN_Ip.c:1438 Estimated badness is -0.000477, frequency 0.02. Considering FlexCAN_StartRxMessageFifoData.part.0/179 with 41 size to be inlined into FlexCAN_StartRxMessageFifoData/60 in unknown:0 Estimated badness is -0.000300, frequency 0.50. Considering FlexCAN_AbortTxTransfer/67 with 48 size to be inlined into FlexCAN_Ip_AbortTransfer/116 in ../RTD/src/FlexCAN_Ip.c:4154 Estimated badness is -0.000218, frequency 0.01. Considering FlexCAN_AbortRxTransfer/68 with 47 size to be inlined into FlexCAN_Ip_AbortTransfer/116 in ../RTD/src/FlexCAN_Ip.c:4159 Estimated badness is -0.000204, frequency 0.01. Considering FlexCAN_IRQHandlerTxMB/62 with 73 size to be inlined into FlexCAN_IRQHandler/81 in ../RTD/src/FlexCAN_Ip.c:2533 Estimated badness is -0.000070, frequency 0.01. Considering FlexCAN_CompleteRxMessageFifoData/80 with 36 size to be inlined into FlexCAN_IRQHandlerRxFIFO/63 in ../RTD/src/FlexCAN_Ip.c:1288 Estimated badness is -0.000000, frequency 0.02. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 1650.036266 weighted by profile: 0.000000 Why inlining failed? function body not available : 149 calls, 35.776769 freq, 0 count --param max-inline-insns-auto limit reached : 14 calls, 1.452852 freq, 0 count call is unlikely and code size would grow : 47 calls, 15.009144 freq, 0 count IPA function summary for FlexCAN_Ip_GetListenOnlyMode/120 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_SetListenOnlyMode_Privileged/119 inlinable global time: 16.183708 self size: 33 global size: 35 min size: 30 self stack: 0 global stack: 0 size:23.000000, time:10.876250 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.247499, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetListenOnlyMode/7 inlined loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMb15Mask_Privileged/118 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMb14Mask_Privileged/117 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_AbortTransfer/116 inlinable global time: 15.790805 self size: 40 global size: 122 min size: 0 self stack: 0 global stack: 4 size:10.000000, time:6.500000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:58.000000, time:1.706571, executed if:(op1 <= 95) size:2.000000, time:0.016192, executed if:(op1 <= 95), nonconst if:(op1 changed) && (op1 <= 95) size:1.000000, time:0.002672, executed if:(op1 == 0) && (op1 <= 95) array index:(op1 changed) && (op0 changed) calls: FlexCAN_AbortRxTransfer/68 inlined loop depth: 0 freq:0.01 size: 3 time: 12callee size:23 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 <= 95) op0 change 99.990000% of time op1 change 99.990000% of time FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.00 size: 4 time: 13 predicate: (op1 <= 95) FLEXCAN_ClearMsgBuffIntCmd/162 function body not available loop depth: 0 freq:0.00 size: 5 time: 14 predicate: (op1 == 0) && (op1 <= 95) op2 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.00 size: 4 time: 13 predicate: (op1 <= 95) RxFifoOcuppiedLastMsgBuff/29 inlined loop depth: 0 freq:0.01 size: 3 time: 12callee size: 3 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_AbortTxTransfer/67 inlined loop depth: 0 freq:0.01 size: 4 time: 13callee size:24 stack: 4 Stack frame offset 0, callee self size 4, callee size 4 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 <= 95) FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 1 freq:0.11 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 <= 95) op0 change 10.690000% of time op1 change 10.690000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:0.11 size: 4 time: 13 predicate: (op1 <= 95) op0 is compile time invariant op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op1 <= 95) op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 predicate: (op1 <= 95) op0 is compile time invariant op1 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 predicate: (op1 <= 95) FLEXCAN_ClearMsgBuffIntCmd/162 function body not available loop depth: 0 freq:0.06 size: 5 time: 14 predicate: (op1 <= 95) IPA function summary for FlexCAN_Ip_SetErrorInt_Privileged/115 inlinable global time: 18.373233 self size: 68 global size: 68 min size: 12 self stack: 0 global stack: 0 size:18.000000, time:7.709837 size:3.000000, time:0.927450, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:12.000000, time:1.745003, nonconst if:(op1 changed) size:4.000000, time:0.290890, executed if:(op1 == 1) size:4.000000, time:0.290890, executed if:(op1 == 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.12 size: 3 time: 12 FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 1) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.02 size: 4 time: 13 predicate: (op1 == 0) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 3) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 2) op1 is compile time invariant FlexCAN_SetErrIntCmd/161 function body not available loop depth: 0 freq:0.07 size: 4 time: 13 predicate: (op1 == 4) op1 is compile time invariant FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_DisableInterrupts_Privileged/114 inlinable global time: 15.331072 self size: 27 global size: 27 min size: 10 self stack: 0 global stack: 0 size:18.000000, time:8.560843 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.21 size: 3 time: 12 FlexCAN_DisableInterrupts/160 function body not available loop depth: 0 freq:0.21 size: 2 time: 11 IPA function summary for FlexCAN_Ip_EnableInterrupts_Privileged/113 inlinable global time: 13.921378 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:8.611247 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.07 size: 3 time: 12 FlexCAN_EnableInterrupts/159 function body not available loop depth: 0 freq:0.21 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ClearBuffStatusFlag/112 inlinable global time: 10.688379 self size: 15 global size: 15 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, nonconst if:(op1 changed) size:1.000000, time:0.255602, executed if:(op1 == 255) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.24 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 != 255) IPA function summary for FlexCAN_Ip_GetBuffStatusFlag/111 inlinable global time: 11.432777 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:5.000000, time:4.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, nonconst if:(op1 changed) size:1.000000, time:0.244398, executed if:(op1 != 255) size:2.000000, time:0.511204, executed if:(op1 == 255) array index:(op0 changed) calls: FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 0 freq:0.24 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255) IPA function summary for FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 inlinable global time: 18.658702 self size: 35 global size: 37 min size: 38 self stack: 0 global stack: 0 size:23.000000, time:10.876250 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.247499, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_SetTxArbitrationStartDelay/42 inlined loop depth: 0 freq:0.12 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetTDCOffset_Privileged/109 inlinable global time: 19.277479 self size: 44 global size: 52 min size: 72 self stack: 0 global stack: 0 size:28.000000, time:11.247509 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:0.247509, nonconst if:(op1 changed) size:4.000000, time:0.123754, executed if:(op1 != 0) size:4.000000, time:0.123754, executed if:(op1 != 0), nonconst if:(op2 changed) && (op1 != 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_SetTDCOffset/2 inlined loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_SetEnhancedTDCOffset/3 inlined loop depth: 0 freq:0.06 size: 4 time: 13callee size: 6 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 function body not available loop depth: 0 freq:0.12 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetBitrateFD/108 inlinable global time: 12.593808 self size: 25 global size: 50 min size: 18 self stack: 0 global stack: 0 size:43.500000, time:10.468805 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.625002, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_GetFDTimeSegments/21 inlined loop depth: 0 freq:0.13 size: 3 time: 12callee size:11 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetEnhancedDataTimeSegments/18 inlined loop depth: 0 freq:0.13 size: 3 time: 12callee size:12 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_Ip_SetBitrateCbt_Privileged/107 inlinable global time: 14.955040 self size: 56 global size: 64 min size: 64 self stack: 0 global stack: 0 size:43.000000, time:10.373149 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) size:2.000000, time:0.061877, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 FlexCAN_SetFDTimeSegments/12 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 FlexCAN_SetEnhancedDataTimeSegments/17 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 FlexCAN_SetFDEnabled/6 inlined loop depth: 0 freq:0.03 size: 4 time: 13callee size: 9 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 function body not available loop depth: 0 freq:0.03 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetTDCValue_Privileged/106 inlinable global time: 14.586837 self size: 28 global size: 28 min size: 10 self stack: 0 global stack: 0 size:19.000000, time:9.654376 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetTDCFail_Privileged/105 inlinable global time: 15.241213 self size: 31 global size: 31 min size: 10 self stack: 0 global stack: 0 size:22.000000, time:10.308753 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ClearTDCFail_Privileged/104 inlinable global time: 15.241213 self size: 31 global size: 31 min size: 10 self stack: 0 global stack: 0 size:22.000000, time:10.308753 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 2 time: 11 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetBitrate/103 inlinable global time: 13.114918 self size: 31 global size: 60 min size: 36 self stack: 0 global stack: 0 size:54.500000, time:11.114918 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_GetTimeSegments/20 inlined loop depth: 0 freq:0.10 size: 3 time: 12callee size:10 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetExtendedTimeSegments/19 inlined loop depth: 0 freq:0.07 size: 3 time: 12callee size:11 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetEnhancedNominalTimeSegments/16 inlined loop depth: 0 freq:0.08 size: 3 time: 12callee size: 9 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_Ip_SetBitrate_Privileged/102 inlinable global time: 15.320064 self size: 54 global size: 56 min size: 38 self stack: 0 global stack: 0 size:27.000000, time:9.438132 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op1 changed) size:4.000000, time:0.247509, nonconst if:(op2 changed) size:3.000000, time:0.124374, executed if:(op2 == 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 function body not available loop depth: 0 freq:0.06 size: 1 time: 10 FlexCAN_SetTimeSegments/13 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:13 stack: 0 predicate: (op2 == 0) FlexCAN_SetExtendedTimeSegments/14 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 predicate: (op2 == 0) FlexCAN_SetEnhancedNominalTimeSegments/15 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 predicate: (op2 != 0) FlexCAN_EnhCbtEnable/25 inlined loop depth: 0 freq:0.06 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 function body not available loop depth: 0 freq:0.06 size: 1 time: 10 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.06 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMaskType_Privileged/101 inlinable global time: 16.059959 self size: 33 global size: 36 min size: 30 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.247499, nonconst if:(op1 changed) size:2.000000, time:0.123750, executed if:(op1 != 0) size:2.000000, time:0.123750, executed if:(op1 == 0) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetRxMaskType/43 inlined loop depth: 0 freq:0.12 size: 3 time: 12callee size: 5 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetStopMode_Privileged/100 inlinable global time: 15.479977 self size: 17 global size: 17 min size: 12 self stack: 0 global stack: 0 size:7.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetStartMode_Privileged/99 inlinable global time: 14.000000 self size: 15 global size: 15 min size: 6 self stack: 0 global stack: 0 size:8.000000, time:6.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_ExitFreezeMode/149 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_GetStartMode_Privileged/98 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetStopMode_Privileged/97 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_MainFunctionWrite/96 inlinable global time: 20.119945 self size: 26 global size: 26 min size: 22 self stack: 0 global stack: 0 size:11.000000, time:7.494994 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.16 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffTimestamp/147 function body not available loop depth: 0 freq:0.16 size: 4 time: 13 FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 0 freq:0.50 size: 4 time: 13callee size:11 stack: 0 IPA function summary for FlexCAN_Ip_MainFunctionBusOff_Privileged/95 inlinable global time: 14.325009 self size: 25 global size: 25 min size: 14 self stack: 0 global stack: 0 size:14.000000, time:9.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: indirect call loop depth: 0 freq:0.18 size: 7 time: 19 IPA function summary for FlexCAN_Ip_MainFunctionRead/94 inlinable global time: 15.524457 self size: 61 global size: 61 min size: 0 self stack: 0 global stack: 0 size:10.000000, time:8.000000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:8.000000, time:1.062310, executed if:(op1 != 255) size:2.000000, time:0.267197, executed if:(op1 != 255), nonconst if:(op1 changed) && (op1 != 255) size:2.000000, time:0.133598, executed if:(op1 <= 7) && (op1 != 255), nonconst if:(op1 changed) && (op1 <= 7) && (op1 != 255) size:5.000000, time:0.166986, executed if:(op1 == 0) && (op1 <= 7) && (op1 != 255) size:10.000000, time:0.228971, executed if:(op1 == 255) array index:(op1 changed) && (op0 changed) calls: FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 predicate: (op1 != 255) FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 0 freq:0.13 size: 4 time: 13callee size:11 stack: 0 predicate: (op1 != 255) FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size:50 stack:80 predicate: (op1 == 0) && (op1 <= 7) && (op1 != 255) op1 is compile time invariant FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.00 size: 3 time: 12callee size:51 stack:80 predicate: (op1 == 255) op1 is compile time invariant FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 255) IPA function summary for FlexCAN_Ip_Deinit_Privileged/93 inlinable global time: 26.168606 self size: 19 global size: 54 min size: 42 self stack: 0 global stack: 0 size:35.500000, time:10.413698 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.16 size: 2 time: 11 FlexCAN_SetRegDefaultVal/49 inlined loop depth: 0 freq:0.16 size: 2 time: 11callee size:28 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetMaxMbNum/150 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 FlexCAN_GetMaxMbNum/150 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 inlinable global time: 15.752459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:10.692500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxIndividualMask_Privileged/91 inlinable global time: 13.559176 self size: 37 global size: 37 min size: 0 self stack: 0 global stack: 0 size:9.000000, time:7.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.649999, nonconst if:(op1 changed) size:16.000000, time:2.616350, executed if:(op1 <= 95) array index:(op1 changed) && (op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95) FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 <= 95) IPA function summary for FlexCAN_Ip_ExitFreezeMode_Privileged/90 inlinable global time: 15.000000 self size: 7 global size: 7 min size: 6 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_ExitFreezeMode/149 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 IPA function summary for FlexCAN_Ip_EnterFreezeMode_Privileged/89 inlinable global time: 15.000000 self size: 7 global size: 7 min size: 6 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 inlinable global time: 16.252459 self size: 31 global size: 31 min size: 12 self stack: 0 global stack: 0 size:21.000000, time:11.192500 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_SendBlocking/87 inlinable global time: 83.516070 self size: 94 global size: 94 min size: 94 self stack: 4 global stack: 4 size:41.000000, time:16.454379 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op5 changed) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 1 freq:0.13 size: 4 time: 13callee size:11 stack: 0 op1 change 95.340000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:0.12 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_GetMsgBuffRegion/148 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 1 freq:1.17 size: 4 time: 13callee size:11 stack: 0 op0 change 85.580000% of time OsIf_GetElapsed/138 function body not available loop depth: 1 freq:1.10 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_StartSendData/59 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.25 size: 7 time: 16callee size:29 stack:16 OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant IPA function summary for FlexCAN_Busoff_Error_IRQHandler/86 inlinable global time: 26.261395 self size: 109 global size: 109 min size: 70 self stack: 0 global stack: 0 size:70.000000, time:18.652206 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 indirect call loop depth: 0 freq:0.05 size: 7 time: 19 indirect call loop depth: 0 freq:0.06 size: 7 time: 19 IPA function summary for FlexCAN_Ip_GetControllerRxErrorCounter/85 inlinable global time: 8.000000 self size: 11 global size: 11 min size: 0 self stack: 0 global stack: 0 size:7.000000, time:6.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetControllerTxErrorCounter/84 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_GetErrorStatus/83 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_Ip_ClearErrorStatus/82 inlinable global time: 7.500000 self size: 10 global size: 10 min size: 0 self stack: 0 global stack: 0 size:6.000000, time:5.500000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_IRQHandler/81 inlinable global time: 60.573503 self size: 94 global size: 231 min size: 332 self stack: 0 global stack: 80 size:114.500000, time:22.711713 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) size:4.000000, time:0.500000, nonconst if:(op3 changed) size:37.000000, time:1.037857, executed if:(op3 != 0) loop iterations:(op2 changed || op1 changed) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 1 freq:0.94 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_ProcessSpuriousInterruptMB/64 inlined loop depth: 0 freq:0.04 size: 4 time: 13callee size:25 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 1 freq:0.02 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetBuffStatusImask/11 inlined loop depth: 1 freq:0.12 size: 4 time: 13callee size:11 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 1 freq:0.36 size: 4 time: 13callee size:11 stack: 0 op0 change 12.350000% of time FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 inlined loop depth: 0 freq:0.01 size: 4 time: 13callee size:16 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached loop depth: 1 freq:0.00 size: 3 time: 12callee size:51 stack:80 predicate: (op3 != 0) FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 inlined loop depth: 1 freq:0.01 size: 4 time: 13callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_GetEnhancedRxFIFOStatusFlag/311 inlined loop depth: 1 freq:0.04 size: 4 time: 13callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow loop depth: 0 freq:0.07 size: 4 time: 13callee size:12 stack: 0 FlexCAN_IRQHandlerTxMB/62 inlined loop depth: 0 freq:0.01 size: 3 time: 12callee size:36 stack:80 Stack frame offset 0, callee self size 80, callee size 80 FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.00 size: 6 time: 15 op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.00 size: 6 time: 15 op3 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuffTimestamp/147 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.00 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuff/140 function body not available loop depth: 0 freq:0.01 size: 4 time: 13 op2 is compile time invariant FlexCAN_LockRxMsgBuff/139 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 indirect call loop depth: 0 freq:0.01 size: 7 time: 19 FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.01 size: 3 time: 12callee size:29 stack:80 FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size:50 stack:80 FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow loop depth: 1 freq:1.12 size: 4 time: 13callee size:12 stack: 0 op0 change 89.610000% of time FlexCAN_GetMsgBuffIntStatusFlag/36 call is unlikely and code size would grow loop depth: 0 freq:0.13 size: 4 time: 13callee size:12 stack: 0 IPA function summary for FlexCAN_Ip_GetTransferStatus/79 inlinable global time: 10.750014 self size: 23 global size: 23 min size: 0 self stack: 0 global stack: 0 size:9.000000, time:7.000000 size:3.000000, time:0.500000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:4.000000, time:1.500000, nonconst if:(op1 changed) size:3.000000, time:0.375007, executed if:(op1 > 95) size:3.000000, time:0.375007, executed if:(op1 <= 95) array index:(op1 changed) && (op0 changed) calls: IPA function summary for FlexCAN_Ip_ConfigRemoteResponseMb/78 inlinable global time: 19.958053 self size: 53 global size: 53 min size: 46 self stack: 16 global stack: 16 size:23.000000, time:9.994799 size:5.000000, time:0.738847, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.04 size: 7 time: 16 op3 is compile time invariant FlexCAN_SetTxMsgBuff/134 function body not available loop depth: 0 freq:0.12 size: 7 time: 16 op2 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 inlinable global time: 19.012512 self size: 45 global size: 45 min size: 24 self stack: 0 global stack: 0 size:28.000000, time:10.376264 size:3.000000, time:0.249995, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.250000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_SetEnhancedRxFifoFilter/146 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.03 size: 3 time: 12 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ConfigRxFifo_Privileged/76 inlinable global time: 17.173706 self size: 34 global size: 34 min size: 20 self stack: 0 global stack: 0 size:20.000000, time:10.505001 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 FlexCAN_SetRxFifoFilter/145 function body not available loop depth: 0 freq:0.12 size: 4 time: 13 FlexCAN_Enable/144 function body not available loop depth: 0 freq:0.13 size: 3 time: 12 IPA function summary for FlexCAN_Ip_RxFifoBlocking/75 inlinable global time: 38.346478 self size: 47 global size: 98 min size: 128 self stack: 0 global stack: 4 size:55.500000, time:14.891922 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.045328, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_ProccessLegacyRxFIFO/57 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.05 size: 4 time: 13callee size:37 stack: 4 FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.16 size: 4 time: 13callee size:23 stack: 0 FlexCAN_ProccessLegacyRxFIFO/57 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.07 size: 4 time: 13callee size:37 stack: 4 FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.20 size: 4 time: 13callee size:23 stack: 0 FlexCAN_ProccessEnhancedRxFifo/56 inlined loop depth: 0 freq:0.05 size: 4 time: 13callee size:29 stack: 4 Stack frame offset 0, callee self size 4, callee size 4 OsIf_GetElapsed/138 function body not available loop depth: 1 freq:0.40 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerEnhancedRxFIFO/66 --param max-inline-insns-auto limit reached loop depth: 2 freq:0.08 size: 3 time: 12callee size:51 stack:80 op0 change 53.590000% of time FlexCAN_GetEnhancedRxFIFOStatusFlag/46 inlined loop depth: 2 freq:0.26 size: 4 time: 13callee size: 4 stack: 0 Stack frame offset 4, callee self size 0, callee size 0 OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:0.05 size: 4 time: 13 op1 is compile time invariant FlexCAN_StartRxMessageEnhancedFifoData/55 call is unlikely and code size would grow loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_RxFifo/74 inlinable global time: 21.005006 self size: 29 global size: 29 min size: 30 self stack: 0 global stack: 0 size:10.000000, time:6.505006 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.16 size: 4 time: 13callee size:23 stack: 0 FlexCAN_StartRxMessageFifoData/60 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.20 size: 4 time: 13callee size:23 stack: 0 FlexCAN_StartRxMessageEnhancedFifoData/55 call is unlikely and code size would grow loop depth: 0 freq:0.14 size: 4 time: 13callee size:14 stack: 0 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 IPA function summary for FlexCAN_Ip_ReceiveBlocking/73 inlinable global time: 80.158218 self size: 80 global size: 80 min size: 34 self stack: 4 global stack: 4 size:28.000000, time:20.554627 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op4 changed) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:6.000000, time:3.755164, nonconst if:(op3 changed) size:2.000000, time:0.138600, executed if:(op3 == 0) size:2.000000, time:0.962002, executed if:(op3 != 0) array index:(op1 changed) && (op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.06 size: 6 time: 15 predicate: (op3 == 0) op3 is compile time invariant OsIf_GetElapsed/138 function body not available loop depth: 1 freq:1.46 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerRxMB/61 --param max-inline-insns-auto limit reached loop depth: 1 freq:0.16 size: 3 time: 12callee size:29 stack:80 predicate: (op3 != 0) FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 1 freq:0.48 size: 4 time: 13callee size:11 stack: 0 predicate: (op3 != 0) OsIf_GetCounter/137 function body not available loop depth: 0 freq:0.16 size: 3 time: 12 op0 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0) op3 is compile time invariant FlexCAN_StartRxMessageBufferData/58 call is unlikely and code size would grow loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0 OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant IPA function summary for FlexCAN_Ip_Receive/72 inlinable global time: 18.402523 self size: 28 global size: 28 min size: 12 self stack: 0 global stack: 0 size:8.000000, time:7.000000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:2.000000, time:0.500000, nonconst if:(op3 changed) size:1.000000, time:0.082501, executed if:(op3 == 0) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 predicate: (op3 == 0) op3 is compile time invariant FlexCAN_StartRxMessageBufferData/58 call is unlikely and code size would grow loop depth: 0 freq:0.50 size: 6 time: 15callee size:13 stack: 0 IPA function summary for FlexCAN_Ip_ConfigRxMb/71 inlinable global time: 22.273693 self size: 52 global size: 52 min size: 48 self stack: 16 global stack: 16 size:21.500000, time:9.895678 size:4.500000, time:0.679136, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_SetRxMsgBuff/135 function body not available loop depth: 0 freq:0.12 size: 5 time: 14 op2 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.12 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_Ip_Send/70 inlinable global time: 12.840162 self size: 39 global size: 39 min size: 28 self stack: 0 global stack: 0 size:19.500000, time:9.281735 size:3.500000, time:0.520624, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.01 size: 7 time: 16 op3 is compile time invariant FlexCAN_StartSendData/59 --param max-inline-insns-auto limit reached loop depth: 0 freq:0.08 size: 7 time: 16callee size:29 stack:16 IPA function summary for FlexCAN_Ip_Init_Privileged/69 inlinable global time: 63.459956 self size: 90 global size: 180 min size: 258 self stack: 0 global stack: 0 size:95.000000, time:33.904177 size:15.000000, time:8.901571, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op0 changed) calls: FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 FlexCAN_SetOperationMode/123 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_SetTimeSegments/13 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:13 stack: 0 FlexCAN_SetFDTimeSegments/12 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 FlexCAN_SetExtendedTimeSegments/14 call is unlikely and code size would grow loop depth: 0 freq:0.02 size: 3 time: 12callee size:14 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_SetEnhancedDataTimeSegments/17 call is unlikely and code size would grow loop depth: 0 freq:0.01 size: 3 time: 12callee size:14 stack: 0 FlexCAN_SetEnhancedNominalTimeSegments/15 call is unlikely and code size would grow loop depth: 0 freq:0.04 size: 3 time: 12callee size:14 stack: 0 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.04 size: 1 time: 10 FlexCAN_EnableExtCbt/24 inlined loop depth: 0 freq:0.08 size: 3 time: 12callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_InitController/53 inlined loop depth: 0 freq:0.25 size: 4 time: 13callee size:50 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.01 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.01 size: 2 time: 11 FlexCAN_SetMaxMsgBuffNum/129 function body not available loop depth: 0 freq:0.04 size: 4 time: 13 FlexCAN_SetPayloadSize/128 function body not available loop depth: 0 freq:0.04 size: 3 time: 12 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.04 size: 2 time: 11 FlexCAN_InitRxFifo/52 inlined loop depth: 0 freq:0.09 size: 4 time: 13callee size:12 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_EnableEnhancedRxFifo/131 function body not available loop depth: 0 freq:0.02 size: 6 time: 15 FlexCAN_EnableRxFifo/130 function body not available loop depth: 0 freq:0.03 size: 4 time: 13 FlexCAN_ConfigCtrlOptions/127 function body not available loop depth: 0 freq:0.09 size: 3 time: 12 FlexCAN_SetFDEnabled/312 inlined loop depth: 0 freq:0.09 size: 4 time: 13callee size: 9 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_DisableMemErrorDetection/5 inlined loop depth: 0 freq:0.09 size: 2 time: 11callee size: 6 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.09 size: 2 time: 11 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.09 size: 2 time: 11 FlexCAN_Init/126 function body not available loop depth: 0 freq:0.18 size: 3 time: 12 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 function body not available loop depth: 0 freq:0.18 size: 1 time: 10 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 function body not available loop depth: 0 freq:0.18 size: 1 time: 10 FlexCAN_Disable/125 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 FlexCAN_EnterFreezeMode/124 function body not available loop depth: 0 freq:0.15 size: 3 time: 12 IPA function summary for FlexCAN_IRQHandlerEnhancedRxFIFO/66 inlinable global time: 22.716670 self size: 82 global size: 103 min size: 2 self stack: 80 global stack: 80 estimated growth:99 size:2.000000, time:2.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:10.000000, time:4.000000, nonconst if:(op1 changed) size:1.000000, time:0.200000, executed if:(op1 == 31), nonconst if:(op1 changed) && (op1 == 31) size:4.000000, time:0.800000, executed if:(op1 == 31) size:1.000000, time:0.200000, executed if:(op1 == 30), nonconst if:(op1 changed) && (op1 == 30) size:4.000000, time:0.800000, executed if:(op1 == 30) size:1.000000, time:0.200000, executed if:(op1 == 29), nonconst if:(op1 changed) && (op1 == 29) size:4.000000, time:0.800000, executed if:(op1 == 29) size:37.000000, time:1.791190, executed if:(op1 == 28) size:1.000000, time:0.068000, executed if:(op1 == 28), nonconst if:(op1 changed) && (op1 == 28) size:1.000000, time:0.022440, executed if:(op1 == 28), nonconst if:(op0 changed) && (op1 == 28) array index:(op0 changed) calls: FlexCAN_CompleteRxMessageEnhancedFifoData/54 inlined loop depth: 0 freq:0.02 size: 2 time: 11callee size:13 stack: 0 Stack frame offset 80, callee self size 0, callee size 0 FlexCAN_IsEnhancedRxFifoAvailable/141 function body not available loop depth: 0 freq:0.01 size: 3 time: 12 predicate: (op1 == 28) FlexCAN_ReadEnhancedRxFifo/142 function body not available loop depth: 0 freq:0.07 size: 3 time: 12 predicate: (op1 == 28) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 31) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 30) indirect call loop depth: 0 freq:0.14 size: 7 time: 19predicate: (op1 == 29) indirect call loop depth: 0 freq:0.05 size: 7 time: 19predicate: (op1 == 28) IPA function summary for FlexCAN_IRQHandlerRxFIFO/63 inlinable global time: 28.799756 self size: 70 global size: 101 min size: 6 self stack: 80 global stack: 80 estimated growth:88 size:6.000000, time:5.300000 size:3.000000, time:2.000000, executed if:(not inlined) size:8.000000, time:4.000000, nonconst if:(op1 changed) size:3.000000, time:0.750000, executed if:(op1 == 7) size:3.000000, time:0.750000, executed if:(op1 == 6) size:26.000000, time:1.321696, executed if:(op1 == 5) size:1.000000, time:0.016698, executed if:(op1 == 5), nonconst if:(op0 changed) && (op1 == 5) array index:(op0 changed) calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 7) FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.25 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 6) FlexCAN_CompleteRxMessageFifoData/80 inlined loop depth: 0 freq:0.02 size: 2 time: 11callee size:18 stack: 0 Stack frame offset 80, callee self size 0, callee size 0 FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5) op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5) op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.00 size: 6 time: 15 predicate: (op1 == 5) op2 is compile time invariant op3 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.05 size: 3 time: 12callee size: 7 stack: 0 predicate: (op1 == 5) FlexCAN_ReadRxFifo/143 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op1 == 5) indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 7) indirect call loop depth: 0 freq:0.18 size: 7 time: 19predicate: (op1 == 6) indirect call loop depth: 0 freq:0.04 size: 7 time: 19predicate: (op1 == 5) IPA function summary for FlexCAN_IRQHandlerRxMB/61 inlinable global time: 77.031900 self size: 59 global size: 59 min size: 27 self stack: 80 global stack: 80 estimated growth:100 size:27.000000, time:20.190275 size:3.000000, time:2.000000, executed if:(not inlined) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.14 size: 6 time: 15 op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op3 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:1.00 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_GetMsgBuff/140 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 FlexCAN_LockRxMsgBuff/139 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 indirect call loop depth: 0 freq:0.70 size: 7 time: 19 IPA function summary for FlexCAN_StartRxMessageFifoData/60 inlinable global time: 13.070404 self size: 12 global size: 46 min size: 24 self stack: 0 global stack: 0 estimated growth:8 size:24.000000, time:8.657250 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) calls: FlexCAN_StartRxMessageFifoData.part.0/179 inlined loop depth: 0 freq:0.50 size: 4 time: 13callee size:20 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.05 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.05 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.05 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant IPA function summary for FlexCAN_StartSendData/59 inlinable global time: 18.885922 self size: 58 global size: 58 min size: 34 self stack: 16 global stack: 16 estimated growth:32 size:33.500000, time:10.690707 size:6.500000, time:0.771691, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) size:1.000000, time:0.500000, nonconst if:(op2 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_SetTxMsgBuff/134 function body not available loop depth: 0 freq:0.08 size: 7 time: 16 op2 is compile time invariant op5 is compile time invariant FlexCAN_ClearMsgBuffIntStatusFlag/9 call is unlikely and code size would grow loop depth: 0 freq:0.08 size: 3 time: 12callee size: 7 stack: 0 FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.25 size: 6 time: 15 IPA function summary for FlexCAN_StartRxMessageBufferData/58 inlinable global time: 19.108755 self size: 26 global size: 26 min size: 16 self stack: 0 global stack: 0 estimated growth:8 size:16.000000, time:9.608755 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op1 changed) && (op0 changed) calls: FlexCAN_IsMbOutOfRange/133 function body not available loop depth: 0 freq:0.50 size: 6 time: 15 IPA function summary for FlexCAN_ProccessLegacyRxFIFO/57 inlinable global time: 338.159771 self size: 74 global size: 74 min size: 34 self stack: 4 global stack: 4 estimated growth:60 size:34.000000, time:115.926893 size:3.000000, time:1.999800, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) array index:(op0 changed) calls: FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant FlexCAN_SetMsgBuffIntCmd/132 function body not available loop depth: 0 freq:0.17 size: 6 time: 15 op2 is compile time invariant op3 is compile time invariant OsIf_GetElapsed/138 function body not available loop depth: 1 freq:8.83 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant FlexCAN_IRQHandlerRxFIFO/63 call is unlikely and code size would grow loop depth: 2 freq:1.40 size: 3 time: 12callee size:50 stack:80 op0 change 71.460000% of time FlexCAN_GetBuffStatusFlag/10 call is unlikely and code size would grow loop depth: 2 freq:4.24 size: 4 time: 13callee size:11 stack: 0 op0 change 23.580000% of time OsIf_GetCounter/137 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant OsIf_MicrosToTicks/136 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op1 is compile time invariant IPA function summary for FlexCAN_StartRxMessageEnhancedFifoData/55 inlinable global time: 13.449210 self size: 28 global size: 28 min size: 24 self stack: 0 global stack: 0 estimated growth:14 size:24.000000, time:11.449210 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for FlexCAN_GetMsgBuffIntStatusFlag/36 inlinable global time: 10.125000 self size: 24 global size: 25 min size: 0 self stack: 0 global stack: 0 estimated growth:21 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:1.000000, time:0.250000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 288] changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed) && (op1 <= 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31) size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 320] changed || op0[ref offset: 384] changed) && (op1 <= 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:1.000000, time:0.125000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 864] changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:1.000000, time:0.125000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 864] changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) calls: FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 inlined loop depth: 0 freq:0.12 size: 4 time: 13callee size: 4 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_SetEnhancedDataTimeSegments/17 inlinable global time: 16.250000 self size: 11 global size: 29 min size: 11 self stack: 0 global stack: 0 estimated growth:-1 size:10.500000, time:7.250000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24512] changed) size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 32] changed) size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 0] changed) size:2.000000, time:1.000000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed) calls: FlexCAN_SetEnhancedDataTimeSegments.part.0/172 inlined loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_SetEnhancedNominalTimeSegments/15 inlinable global time: 16.250000 self size: 11 global size: 29 min size: 11 self stack: 0 global stack: 0 estimated growth:-1 size:10.500000, time:7.250000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24480] changed) size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 32] changed) size:0.500000, time:0.250000, nonconst if:(op1[ref offset: 0] changed) size:3.000000, time:1.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 32] changed || op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 128] changed) size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 96] changed) calls: FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 inlined loop depth: 0 freq:0.50 size: 3 time: 12callee size:15 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_SetExtendedTimeSegments/14 inlinable global time: 15.750000 self size: 11 global size: 28 min size: 7 self stack: 0 global stack: 0 estimated growth:-1 size:6.500000, time:5.250000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 640] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed) size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: FlexCAN_SetExtendedTimeSegments.part.0/168 inlined loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_SetTimeSegments/13 inlinable global time: 15.250000 self size: 11 global size: 27 min size: 7 self stack: 0 global stack: 0 estimated growth:-1 size:6.500000, time:5.250000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 32] changed) size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 0] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: FlexCAN_SetTimeSegments.part.0/166 inlined loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_SetFDTimeSegments/12 inlinable global time: 15.750000 self size: 11 global size: 28 min size: 7 self stack: 0 global stack: 0 estimated growth:-1 size:6.500000, time:5.250000 size:3.000000, time:1.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) size:1.500000, time:0.750000, nonconst if:(op0[ref offset: 24608] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 0] changed) size:1.500000, time:0.750000, nonconst if:(op1[ref offset: 64] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 32] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 96] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed) size:2.500000, time:1.250000, nonconst if:(op1[ref offset: 128] changed) size:1.000000, time:0.500000, nonconst if:(op1[ref offset: 0] changed || op1[ref offset: 64] changed || op1[ref offset: 32] changed || op1[ref offset: 96] changed || op1[ref offset: 128] changed) calls: FlexCAN_SetFDTimeSegments.part.0/164 inlined loop depth: 0 freq:0.50 size: 3 time: 12callee size:13 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 IPA function summary for FlexCAN_GetBuffStatusFlag/10 inlinable global time: 9.375000 self size: 23 global size: 23 min size: 0 self stack: 0 global stack: 0 estimated growth:112 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:2.000000, time:0.250000, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 928] changed) && (op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 <= 63) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 <= 63) && (op1 > 31), nonconst if:(op1 changed || op0[ref offset: 352] changed) && (op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31), nonconst if:(op0[ref offset: 384] changed) && (op1 <= 31) size:1.000000, time:0.500000, executed if:(op1 <= 31), nonconst if:(op1 changed) && (op1 <= 31) size:2.000000, time:1.000000, executed if:(op1 <= 31), nonconst if:(op1 changed || op0[ref offset: 384] changed) && (op1 <= 31) calls: IPA function summary for FlexCAN_ClearMsgBuffIntStatusFlag/9 inlinable global time: 8.375000 self size: 14 global size: 14 min size: 0 self stack: 0 global stack: 0 estimated growth:112 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:4.000000, time:4.000000, nonconst if:(op1 changed) size:2.000000, time:1.000000, executed if:(op1 > 31), nonconst if:(op1 changed) && (op1 > 31) size:2.000000, time:0.500000, executed if:(op1 > 63) && (op1 > 31), nonconst if:(op1 changed) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.062500, executed if:(op1 <= 95) && (op1 > 63) && (op1 > 31) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) && (not inlined) size:0.500000, time:0.125000, executed if:(op1 <= 63) && (op1 > 31) size:0.500000, time:0.250000, executed if:(op1 <= 31) && (not inlined) size:0.500000, time:0.250000, executed if:(op1 <= 31) calls: Symbol table: FlexCAN_SetFDEnabled/312 (FlexCAN_SetFDEnabled) @06c679a0 Type: function definition analyzed Visibility: next sharing asm name: 6 References: Referring: Function FlexCAN_SetFDEnabled/312 is inline copy in FlexCAN_Ip_Init_Privileged/69 Clone of FlexCAN_SetFDEnabled/6 Availability: local Function flags: count:18925 (estimated locally) body local optimize_size Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call) Calls: FlexCAN_GetEnhancedRxFIFOStatusFlag/311 (FlexCAN_GetEnhancedRxFIFOStatusFlag) @06ba1000 Type: function definition analyzed Visibility: next sharing asm name: 46 References: Referring: Function FlexCAN_GetEnhancedRxFIFOStatusFlag/311 is inline copy in FlexCAN_IRQHandler/81 Clone of FlexCAN_GetEnhancedRxFIFOStatusFlag/46 Availability: local Function flags: count:7768 (estimated locally) body local optimize_size Called by: FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (7768 (estimated locally),0.04 per call) Calls: FlexCAN_StartRxMessageFifoData.part.0/179 (FlexCAN_StartRxMessageFifoData.part.0) @06b9fa80 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_StartRxMessageFifoData.part.0/179 is inline copy in FlexCAN_StartRxMessageFifoData/60 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_StartRxMessageFifoData/60 (inlined) (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call) FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call) FlexCAN_SetMsgBuffIntCmd/132 (11516 (estimated locally),0.05 per call) FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 (FlexCAN_GetMsgBuffIntStatusFlag.part.0) @06c5f9a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 is inline copy in FlexCAN_GetMsgBuffIntStatusFlag/36 Availability: local Function flags: count:134217728 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_GetMsgBuffIntStatusFlag/36 (inlined) (134217728 (estimated locally),0.12 per call) Calls: FlexCAN_SetEnhancedDataTimeSegments.part.0/172 (FlexCAN_SetEnhancedDataTimeSegments.part.0) @06c5f620 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_SetEnhancedDataTimeSegments.part.0/172 is inline copy in FlexCAN_SetEnhancedDataTimeSegments/17 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_SetEnhancedDataTimeSegments/17 (inlined) (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 (FlexCAN_SetEnhancedNominalTimeSegments.part.0) @06c5f2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 is inline copy in FlexCAN_SetEnhancedNominalTimeSegments/15 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_SetEnhancedNominalTimeSegments/15 (inlined) (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetExtendedTimeSegments.part.0/168 (FlexCAN_SetExtendedTimeSegments.part.0) @06ba1ee0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_SetExtendedTimeSegments.part.0/168 is inline copy in FlexCAN_SetExtendedTimeSegments/14 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_SetExtendedTimeSegments/14 (inlined) (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetTimeSegments.part.0/166 (FlexCAN_SetTimeSegments.part.0) @06ba1b60 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_SetTimeSegments.part.0/166 is inline copy in FlexCAN_SetTimeSegments/13 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_SetTimeSegments/13 (inlined) (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetFDTimeSegments.part.0/164 (FlexCAN_SetFDTimeSegments.part.0) @06ba17e0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Function FlexCAN_SetFDTimeSegments.part.0/164 is inline copy in FlexCAN_SetFDTimeSegments/12 Availability: local Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size Called by: FlexCAN_SetFDTimeSegments/12 (inlined) (107374 (estimated locally),0.50 per call) Calls: FLEXCAN_ClearMsgBuffIntCmd/162 (FLEXCAN_ClearMsgBuffIntCmd) @0707e7e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_AbortTransfer/116 (12823 (estimated locally),0.06 per call) FlexCAN_AbortRxTransfer/68 (574 (estimated locally),0.00 per call) Calls: FlexCAN_SetErrIntCmd/161 (FlexCAN_SetErrIntCmd) @0707e620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetErrorInt_Privileged/115 (5154 (estimated locally),0.02 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (5154 (estimated locally),0.02 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (15617 (estimated locally),0.07 per call) Calls: FlexCAN_DisableInterrupts/160 (FlexCAN_DisableInterrupts) @0707e380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_DisableInterrupts_Privileged/114 (44539 (estimated locally),0.21 per call) Calls: FlexCAN_EnableInterrupts/159 (FlexCAN_EnableInterrupts) @0707e1c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_EnableInterrupts_Privileged/113 (44539 (estimated locally),0.21 per call) Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17) @07069d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (26575 (estimated locally),0.12 per call) Calls: SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17) @07069c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (26575 (estimated locally),0.12 per call) Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16) @070698c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (26575 (estimated locally),0.12 per call) Calls: SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16) @070697e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (26575 (estimated locally),0.12 per call) Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15) @070692a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (6644 (estimated locally),0.03 per call) Calls: SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15) @070691c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (6644 (estimated locally),0.03 per call) Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14) @07055700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (13288 (estimated locally),0.06 per call) Calls: SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14) @07055620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (13288 (estimated locally),0.06 per call) Calls: FlexCAN_GetMaxMbNum/150 (FlexCAN_GetMaxMbNum) @0703db60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call) FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call) Calls: FlexCAN_ExitFreezeMode/149 (FlexCAN_ExitFreezeMode) @0703d540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetStartMode_Privileged/99 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_ExitFreezeMode_Privileged/90 (1073741824 (estimated locally),1.00 per call) Calls: FlexCAN_GetMsgBuffRegion/148 (FlexCAN_GetMsgBuffRegion) @0703d0e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_AbortRxTransfer/68 (856 (estimated locally),0.00 per call) FlexCAN_AbortRxTransfer/68 (574 (estimated locally),0.00 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) Calls: FlexCAN_GetMsgBuffTimestamp/147 (FlexCAN_GetMsgBuffTimestamp) @0701c380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_MainFunctionWrite/96 (35433 (estimated locally),0.16 per call) FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) Calls: FlexCAN_SetEnhancedRxFifoFilter/146 (FlexCAN_SetEnhancedRxFifoFilter) @07002d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6644 (estimated locally),0.03 per call) Calls: FlexCAN_SetRxFifoFilter/145 (FlexCAN_SetRxFifoFilter) @07002a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigRxFifo_Privileged/76 (26575 (estimated locally),0.12 per call) Calls: FlexCAN_Enable/144 (FlexCAN_Enable) @070029a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTDCOffset_Privileged/109 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrateCbt_Privileged/107 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_GetTDCValue_Privileged/106 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetTDCFail_Privileged/105 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ClearTDCFail_Privileged/104 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrate_Privileged/102 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_SetRxMaskType_Privileged/101 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (11568 (estimated locally),0.05 per call) FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6845 (estimated locally),0.03 per call) FlexCAN_Ip_ConfigRxFifo_Privileged/76 (27380 (estimated locally),0.13 per call) Calls: FlexCAN_ReadRxFifo/143 (FlexCAN_ReadRxFifo) @07002700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_IRQHandlerRxFIFO/63 (54331336 (estimated locally),0.05 per call) Calls: FlexCAN_ReadEnhancedRxFifo/142 (FlexCAN_ReadEnhancedRxFifo) @070021c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (73014444 (estimated locally),0.07 per call) Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (FlexCAN_IsEnhancedRxFifoAvailable) @06fe97e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_DisableInterrupts_Privileged/114 (44539 (estimated locally),0.21 per call) FlexCAN_Ip_EnableInterrupts_Privileged/113 (14698 (estimated locally),0.07 per call) FlexCAN_Ip_MainFunctionRead/94 (10866 (estimated locally),0.05 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_RxFifoBlocking/75 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_RxFifo/74 (107374 (estimated locally),0.50 per call) FlexCAN_SetRegDefaultVal/49 (35433 (estimated locally),0.16 per call) FlexCAN_CompleteRxMessageEnhancedFifoData/54 (12047384 (estimated locally),0.01 per call) Calls: FlexCAN_GetMsgBuff/140 (FlexCAN_GetMsgBuff) @06fe9540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call) Calls: FlexCAN_LockRxMsgBuff/139 (FlexCAN_LockRxMsgBuff) @06fe9460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call) Calls: OsIf_GetElapsed/138 (OsIf_GetElapsed) @06fe91c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SendBlocking/87 (26606 (estimated locally),0.12 per call) FlexCAN_Ip_SendBlocking/87 (237131 (estimated locally),1.10 per call) FlexCAN_Ip_ReceiveBlocking/73 (313013 (estimated locally),1.46 per call) FlexCAN_AbortTxTransfer/67 (22924 (estimated locally),0.11 per call) FlexCAN_ProccessLegacyRxFIFO/57 (1014686025 (estimated locally),8.83 per call) FlexCAN_ProccessEnhancedRxFifo/56 (85989 (estimated locally),0.40 per call) Calls: OsIf_GetCounter/137 (OsIf_GetCounter) @06fe90e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_Ip_SendBlocking/87 (214748 (estimated locally),1.00 per call) FlexCAN_Ip_ReceiveBlocking/73 (35433 (estimated locally),0.16 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (114863532 (estimated locally),1.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (9734 (estimated locally),0.05 per call) Calls: OsIf_MicrosToTicks/136 (OsIf_MicrosToTicks) @06fe9000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_Ip_SendBlocking/87 (214748 (estimated locally),1.00 per call) FlexCAN_Ip_ReceiveBlocking/73 (214748 (estimated locally),1.00 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (114863532 (estimated locally),1.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (9734 (estimated locally),0.05 per call) Calls: FlexCAN_SetRxMsgBuff/135 (FlexCAN_SetRxMsgBuff) @06fd1b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) Calls: FlexCAN_SetTxMsgBuff/134 (FlexCAN_SetTxMsgBuff) @06fd18c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (25646 (estimated locally),0.12 per call) FlexCAN_StartSendData/59 (16670 (estimated locally),0.08 per call) Calls: FlexCAN_IsMbOutOfRange/133 (FlexCAN_IsMbOutOfRange) @06fd17e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_ConfigRxMb/71 (53687 (estimated locally),0.25 per call) FlexCAN_StartSendData/59 (53687 (estimated locally),0.25 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (FlexCAN_SetMsgBuffIntCmd) @06fd1540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_ConfigRemoteResponseMb/78 (8463 (estimated locally),0.04 per call) FlexCAN_Ip_ReceiveBlocking/73 (12047 (estimated locally),0.06 per call) FlexCAN_Ip_ReceiveBlocking/73 (17717 (estimated locally),0.08 per call) FlexCAN_Ip_Receive/72 (17717 (estimated locally),0.08 per call) FlexCAN_Ip_Send/70 (2923 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (400 (estimated locally),0.00 per call) FlexCAN_IRQHandlerTxMB/62 (479 (estimated locally),0.00 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_ProccessLegacyRxFIFO/57 (19089400 (estimated locally),0.17 per call) FlexCAN_IRQHandlerRxMB/61 (147934780 (estimated locally),0.14 per call) FlexCAN_IRQHandlerRxMB/61 (177167401 (estimated locally),0.17 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_CompleteRxMessageFifoData/80 (2958306 (estimated locally),0.00 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData.part.0/179 (11516 (estimated locally),0.05 per call) Calls: FlexCAN_EnableEnhancedRxFifo/131 (FlexCAN_EnableEnhancedRxFifo) @06685e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitRxFifo/52 (5215 (estimated locally),0.02 per call) Calls: FlexCAN_EnableRxFifo/130 (FlexCAN_EnableRxFifo) @06685d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitRxFifo/52 (6245 (estimated locally),0.03 per call) Calls: FlexCAN_SetMaxMsgBuffNum/129 (FlexCAN_SetMaxMsgBuffNum) @066857e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) Calls: FlexCAN_SetPayloadSize/128 (FlexCAN_SetPayloadSize) @06685700 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) Calls: FlexCAN_ConfigCtrlOptions/127 (FlexCAN_ConfigCtrlOptions) @06685620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call) Calls: FlexCAN_Init/126 (FlexCAN_Init) @06685540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call) Calls: FlexCAN_Disable/125 (FlexCAN_Disable) @06685460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (25394 (estimated locally),0.12 per call) FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTDCOffset_Privileged/109 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrateCbt_Privileged/107 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_GetTDCValue_Privileged/106 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetTDCFail_Privileged/105 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ClearTDCFail_Privileged/104 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrate_Privileged/102 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_SetRxMaskType_Privileged/101 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetStopMode_Privileged/100 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_Deinit_Privileged/93 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (11568 (estimated locally),0.05 per call) FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (6845 (estimated locally),0.03 per call) FlexCAN_Ip_ConfigRxFifo_Privileged/76 (27380 (estimated locally),0.13 per call) FlexCAN_InitController/53 (3123 (estimated locally),0.01 per call) FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call) FlexCAN_InitController/53 (10453 (estimated locally),0.05 per call) Calls: FlexCAN_EnterFreezeMode/124 (FlexCAN_EnterFreezeMode) @066851c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_SetStopMode_Privileged/100 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_Deinit_Privileged/93 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_EnterFreezeMode_Privileged/89 (1073741824 (estimated locally),1.00 per call) FlexCAN_Ip_Init_Privileged/69 (17717 (estimated locally),0.08 per call) FlexCAN_InitController/53 (3123 (estimated locally),0.01 per call) FlexCAN_InitController/53 (9462 (estimated locally),0.04 per call) FlexCAN_InitController/53 (18925 (estimated locally),0.09 per call) FlexCAN_InitController/53 (31675 (estimated locally),0.15 per call) Calls: FlexCAN_SetOperationMode/123 (FlexCAN_SetOperationMode) @066850e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_Init_Privileged/69 (17717 (estimated locally),0.08 per call) Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00) @06685000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call) Calls: SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00) @06fb5e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) FlexCAN_InitController/53 (37849 (estimated locally),0.18 per call) Calls: FlexCAN_Ip_GetListenOnlyMode/120 (FlexCAN_Ip_GetListenOnlyMode) @06fb50e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (FlexCAN_Ip_SetListenOnlyMode_Privileged) @06fb5d20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetListenOnlyMode/7 (inlined) (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (FlexCAN_Ip_SetRxMb15Mask_Privileged) @06fb5a80 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (FlexCAN_Ip_SetRxMb14Mask_Privileged) @06fb57e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_AbortTransfer/116 (FlexCAN_Ip_AbortTransfer) @06fb5540 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_AbortRxTransfer/68 (inlined) (2595 (estimated locally),0.01 per call) FlexCAN_AbortTxTransfer/67 (inlined) (2595 (estimated locally),0.01 per call) FLEXCAN_ClearMsgBuffIntCmd/162 (12823 (estimated locally),0.06 per call) FlexCAN_Ip_SetErrorInt_Privileged/115 (FlexCAN_Ip_SetErrorInt_Privileged) @06fb52a0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (25394 (estimated locally),0.12 per call) FlexCAN_SetErrIntCmd/161 (5154 (estimated locally),0.02 per call) FlexCAN_SetErrIntCmd/161 (5154 (estimated locally),0.02 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_SetErrIntCmd/161 (15617 (estimated locally),0.07 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_DisableInterrupts_Privileged/114 (FlexCAN_Ip_DisableInterrupts_Privileged) @06fb5000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (44539 (estimated locally),0.21 per call) FlexCAN_DisableInterrupts/160 (44539 (estimated locally),0.21 per call) FlexCAN_Ip_EnableInterrupts_Privileged/113 (FlexCAN_Ip_EnableInterrupts_Privileged) @06fa8b60 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (14698 (estimated locally),0.07 per call) FlexCAN_EnableInterrupts/159 (44539 (estimated locally),0.21 per call) FlexCAN_Ip_ClearBuffStatusFlag/112 (FlexCAN_Ip_ClearBuffStatusFlag) @06fa8620 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_GetBuffStatusFlag/111 (FlexCAN_Ip_GetBuffStatusFlag) @06fa80e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_GetBuffStatusFlag/10 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged) @06fa8d20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/158 (26575 (estimated locally),0.12 per call) FlexCAN_SetTxArbitrationStartDelay/42 (inlined) (26575 (estimated locally),0.12 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/157 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetTDCOffset_Privileged/109 (FlexCAN_Ip_SetTDCOffset_Privileged) @06fa8a80 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/156 (26575 (estimated locally),0.12 per call) FlexCAN_SetTDCOffset/2 (inlined) (13288 (estimated locally),0.06 per call) FlexCAN_SetEnhancedTDCOffset/3 (inlined) (13288 (estimated locally),0.06 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/155 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetBitrateFD/108 (FlexCAN_Ip_GetBitrateFD) @06fa87e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_GetFDTimeSegments/21 (inlined) (26844 (estimated locally),0.13 per call) FlexCAN_GetEnhancedDataTimeSegments/18 (inlined) (26844 (estimated locally),0.13 per call) FlexCAN_Ip_SetBitrateCbt_Privileged/107 (FlexCAN_Ip_SetBitrateCbt_Privileged) @06fa8540 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (13690 (estimated locally),0.06 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/154 (6644 (estimated locally),0.03 per call) FlexCAN_SetFDTimeSegments/12 (3322 (estimated locally),0.02 per call) FlexCAN_SetEnhancedDataTimeSegments/17 (3322 (estimated locally),0.02 per call) FlexCAN_SetFDEnabled/6 (inlined) (6644 (estimated locally),0.03 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/153 (6644 (estimated locally),0.03 per call) FlexCAN_Enable/144 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_GetTDCValue_Privileged/106 (FlexCAN_Ip_GetTDCValue_Privileged) @06fa82a0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetTDCFail_Privileged/105 (FlexCAN_Ip_GetTDCFail_Privileged) @06fa8000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_ClearTDCFail_Privileged/104 (FlexCAN_Ip_ClearTDCFail_Privileged) @06f9bb60 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_GetBitrate/103 (FlexCAN_Ip_GetBitrate) @06f9b620 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_GetTimeSegments/20 (inlined) (21222 (estimated locally),0.10 per call) FlexCAN_GetExtendedTimeSegments/19 (inlined) (14748 (estimated locally),0.07 per call) FlexCAN_GetEnhancedNominalTimeSegments/16 (inlined) (17717 (estimated locally),0.08 per call) FlexCAN_Ip_SetBitrate_Privileged/102 (FlexCAN_Ip_SetBitrate_Privileged) @06f9b0e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (13690 (estimated locally),0.06 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/152 (13288 (estimated locally),0.06 per call) FlexCAN_SetTimeSegments/13 (5253 (estimated locally),0.02 per call) FlexCAN_SetExtendedTimeSegments/14 (3650 (estimated locally),0.02 per call) FlexCAN_SetEnhancedNominalTimeSegments/15 (4385 (estimated locally),0.02 per call) FlexCAN_EnhCbtEnable/25 (inlined) (13288 (estimated locally),0.06 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/151 (13288 (estimated locally),0.06 per call) FlexCAN_Enable/144 (13690 (estimated locally),0.06 per call) FlexCAN_Ip_SetRxMaskType_Privileged/101 (FlexCAN_Ip_SetRxMaskType_Privileged) @06f9bd20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetRxMaskType/43 (inlined) (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetStopMode_Privileged/100 (FlexCAN_Ip_SetStopMode_Privileged) @06f9ba80 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (35433 (estimated locally),0.16 per call) FlexCAN_EnterFreezeMode/124 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_SetStartMode_Privileged/99 (FlexCAN_Ip_SetStartMode_Privileged) @06f9b7e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ExitFreezeMode/149 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_GetStartMode_Privileged/98 (FlexCAN_Ip_GetStartMode_Privileged) @06f9b540 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_GetStopMode_Privileged/97 (FlexCAN_Ip_GetStopMode_Privileged) @06f9b2a0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_MainFunctionWrite/96 (FlexCAN_Ip_MainFunctionWrite) @06f9b000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (35433 (estimated locally),0.16 per call) FlexCAN_GetMsgBuffTimestamp/147 (35433 (estimated locally),0.16 per call) FlexCAN_GetBuffStatusFlag/10 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (FlexCAN_Ip_MainFunctionBusOff_Privileged) @06f8eb60 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: Indirect call(37581 (estimated locally),0.18 per call) FlexCAN_Ip_MainFunctionRead/94 (FlexCAN_Ip_MainFunctionRead) @06f8e620 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_IRQHandlerRxMB/61 (2882 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (28476 (estimated locally),0.13 per call) FlexCAN_IRQHandlerRxFIFO/63 (2367 (estimated locally),0.01 per call) FlexCAN_IRQHandlerEnhancedRxFIFO/66 (735 (estimated locally),0.00 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (10866 (estimated locally),0.05 per call) FlexCAN_Ip_Deinit_Privileged/93 (FlexCAN_Ip_Deinit_Privileged) @06f8e0e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (write) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (35433 (estimated locally),0.16 per call) FlexCAN_SetRegDefaultVal/49 (inlined) (35433 (estimated locally),0.16 per call) FlexCAN_EnterFreezeMode/124 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (FlexCAN_Ip_SetRxFifoGlobalMask_Privileged) @06f8ed20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (FlexCAN_Ip_SetRxIndividualMask_Privileged) @06f8ea80 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (11568 (estimated locally),0.05 per call) FlexCAN_Enable/144 (11568 (estimated locally),0.05 per call) FlexCAN_Ip_ExitFreezeMode_Privileged/90 (FlexCAN_Ip_ExitFreezeMode_Privileged) @06f8e7e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ExitFreezeMode/149 (1073741824 (estimated locally),1.00 per call) FlexCAN_Ip_EnterFreezeMode_Privileged/89 (FlexCAN_Ip_EnterFreezeMode_Privileged) @06f8e540 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: FlexCAN_EnterFreezeMode/124 (1073741824 (estimated locally),1.00 per call) FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (FlexCAN_Ip_SetRxMbGlobalMask_Privileged) @06f8e2a0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_SendBlocking/87 (FlexCAN_Ip_SendBlocking) @06f8e000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (26843 (estimated locally),0.12 per call) FlexCAN_GetBuffStatusFlag/10 (28155 (estimated locally),0.13 per call) OsIf_GetElapsed/138 (26606 (estimated locally),0.12 per call) OsIf_GetCounter/137 (3012 (estimated locally),0.01 per call) OsIf_MicrosToTicks/136 (3012 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (3012 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (3012 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (250932 (estimated locally),1.17 per call) OsIf_GetElapsed/138 (237131 (estimated locally),1.10 per call) FlexCAN_StartSendData/59 (53687 (estimated locally),0.25 per call) OsIf_MicrosToTicks/136 (214748 (estimated locally),1.00 per call) OsIf_GetCounter/137 (214748 (estimated locally),1.00 per call) FlexCAN_Busoff_Error_IRQHandler/86 (FlexCAN_Busoff_Error_IRQHandler) @06f7db60 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: Indirect call(13153 (estimated locally),0.06 per call) Indirect call(13153 (estimated locally),0.06 per call) Indirect call(13153 (estimated locally),0.06 per call) Indirect call(10786 (estimated locally),0.05 per call) Indirect call(13153 (estimated locally),0.06 per call) FlexCAN_Ip_GetControllerRxErrorCounter/85 (FlexCAN_Ip_GetControllerRxErrorCounter) @06f7d620 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_GetControllerTxErrorCounter/84 (FlexCAN_Ip_GetControllerTxErrorCounter) @06f7d0e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_GetErrorStatus/83 (FlexCAN_Ip_GetErrorStatus) @06f7dd20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_ClearErrorStatus/82 (FlexCAN_Ip_ClearErrorStatus) @06f7da80 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_IRQHandler/81 (FlexCAN_IRQHandler) @06f7d7e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (202115 (estimated locally),0.94 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (inlined) (9473 (estimated locally),0.04 per call) FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (1942 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (2368 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (14353 (estimated locally),0.07 per call) FlexCAN_IRQHandlerTxMB/62 (inlined) (2905 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (2426 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxFIFO/63 (2368 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (239641 (estimated locally),1.12 per call) FlexCAN_GetMsgBuffIntStatusFlag/36 (28706 (estimated locally),0.13 per call) FlexCAN_CompleteRxMessageFifoData/80 (FlexCAN_CompleteRxMessageFifoData) @06f7d540 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_CompleteRxMessageFifoData/80 is inline copy in FlexCAN_IRQHandlerRxFIFO/63 Availability: local Function flags: count:17929341 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandlerRxFIFO/63 (inlined) (17929341 (estimated locally),0.02 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (2958306 (estimated locally),0.00 per call) FlexCAN_Ip_GetTransferStatus/79 (FlexCAN_Ip_GetTransferStatus) @06f7d2a0 Type: function definition analyzed Visibility: externally_visible public References: g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Ip_ConfigRemoteResponseMb/78 (FlexCAN_Ip_ConfigRemoteResponseMb) @06f7d000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_SetMsgBuffIntCmd/132 (8463 (estimated locally),0.04 per call) FlexCAN_SetTxMsgBuff/134 (25646 (estimated locally),0.12 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (25646 (estimated locally),0.12 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged) @06f6db60 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (6845 (estimated locally),0.03 per call) FlexCAN_SetEnhancedRxFifoFilter/146 (6644 (estimated locally),0.03 per call) FlexCAN_Enable/144 (6845 (estimated locally),0.03 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_ConfigRxFifo_Privileged/76 (FlexCAN_Ip_ConfigRxFifo_Privileged) @06f6d620 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_Disable/125 (27380 (estimated locally),0.13 per call) FlexCAN_SetRxFifoFilter/145 (26575 (estimated locally),0.12 per call) FlexCAN_Enable/144 (27380 (estimated locally),0.13 per call) FlexCAN_Ip_RxFifoBlocking/75 (FlexCAN_Ip_RxFifoBlocking) @06f6d0e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_ProccessLegacyRxFIFO/57 (11693 (estimated locally),0.05 per call) FlexCAN_StartRxMessageFifoData/60 (35433 (estimated locally),0.16 per call) FlexCAN_ProccessLegacyRxFIFO/57 (14007 (estimated locally),0.07 per call) FlexCAN_StartRxMessageFifoData/60 (42445 (estimated locally),0.20 per call) FlexCAN_ProccessEnhancedRxFifo/56 (inlined) (9734 (estimated locally),0.05 per call) FlexCAN_StartRxMessageEnhancedFifoData/55 (29496 (estimated locally),0.14 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_RxFifo/74 (FlexCAN_Ip_RxFifo) @06f6dd20 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_StartRxMessageFifoData/60 (35433 (estimated locally),0.16 per call) FlexCAN_StartRxMessageFifoData/60 (42445 (estimated locally),0.20 per call) FlexCAN_StartRxMessageEnhancedFifoData/55 (29496 (estimated locally),0.14 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_ReceiveBlocking/73 (FlexCAN_Ip_ReceiveBlocking) @06f6da80 Type: function definition analyzed Visibility: externally_visible public References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_SetMsgBuffIntCmd/132 (12047 (estimated locally),0.06 per call) OsIf_GetElapsed/138 (313013 (estimated locally),1.46 per call) FlexCAN_IRQHandlerRxMB/61 (34087 (estimated locally),0.16 per call) FlexCAN_GetBuffStatusFlag/10 (103294 (estimated locally),0.48 per call) OsIf_GetCounter/137 (35433 (estimated locally),0.16 per call) FlexCAN_SetMsgBuffIntCmd/132 (17717 (estimated locally),0.08 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call) OsIf_MicrosToTicks/136 (214748 (estimated locally),1.00 per call) FlexCAN_Ip_Receive/72 (FlexCAN_Ip_Receive) @06f6d7e0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_SetMsgBuffIntCmd/132 (17717 (estimated locally),0.08 per call) FlexCAN_StartRxMessageBufferData/58 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_ConfigRxMb/71 (FlexCAN_Ip_ConfigRxMb) @06f6d540 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_SetRxMsgBuff/135 (25646 (estimated locally),0.12 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (25646 (estimated locally),0.12 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_Send/70 (FlexCAN_Ip_Send) @06f6d2a0 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_SetMsgBuffIntCmd/132 (2923 (estimated locally),0.01 per call) FlexCAN_StartSendData/59 (17717 (estimated locally),0.08 per call) FlexCAN_Ip_Init_Privileged/69 (FlexCAN_Ip_Init_Privileged) @06f6d000 Type: function definition analyzed Visibility: externally_visible public References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (write) Referring: Availability: available Function flags: count:214748 (estimated locally) body optimize_size Called by: Calls: FlexCAN_EnterFreezeMode/124 (17717 (estimated locally),0.08 per call) FlexCAN_SetOperationMode/123 (17717 (estimated locally),0.08 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (8858 (estimated locally),0.04 per call) FlexCAN_SetTimeSegments/13 (4429 (estimated locally),0.02 per call) FlexCAN_SetFDTimeSegments/12 (4429 (estimated locally),0.02 per call) FlexCAN_SetExtendedTimeSegments/14 (4429 (estimated locally),0.02 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (8858 (estimated locally),0.04 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (8858 (estimated locally),0.04 per call) FlexCAN_SetEnhancedDataTimeSegments/17 (2923 (estimated locally),0.01 per call) FlexCAN_SetEnhancedNominalTimeSegments/15 (8858 (estimated locally),0.04 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (8858 (estimated locally),0.04 per call) FlexCAN_EnableExtCbt/24 (inlined) (17717 (estimated locally),0.08 per call) FlexCAN_InitController/53 (inlined) (53687 (estimated locally),0.25 per call) FlexCAN_AbortRxTransfer/68 (FlexCAN_AbortRxTransfer) @06f52b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_AbortRxTransfer/68 is inline copy in FlexCAN_Ip_AbortTransfer/116 Availability: local Function flags: count:2595 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_AbortTransfer/116 (inlined) (2595 (estimated locally),0.01 per call) Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (2595 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (856 (estimated locally),0.00 per call) FLEXCAN_ClearMsgBuffIntCmd/162 (574 (estimated locally),0.00 per call) FlexCAN_GetMsgBuffRegion/148 (574 (estimated locally),0.00 per call) RxFifoOcuppiedLastMsgBuff/29 (inlined) (1739 (estimated locally),0.01 per call) FlexCAN_AbortTxTransfer/67 (FlexCAN_AbortTxTransfer) @06f52620 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_AbortTxTransfer/67 is inline copy in FlexCAN_Ip_AbortTransfer/116 Availability: local Function flags: count:2595 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_AbortTransfer/116 (inlined) (2595 (estimated locally),0.01 per call) Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (2595 (estimated locally),0.01 per call) FlexCAN_GetBuffStatusFlag/10 (24258 (estimated locally),0.11 per call) OsIf_GetElapsed/138 (22924 (estimated locally),0.11 per call) OsIf_GetCounter/137 (2595 (estimated locally),0.01 per call) OsIf_MicrosToTicks/136 (2595 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffRegion/148 (2595 (estimated locally),0.01 per call) FlexCAN_IRQHandlerEnhancedRxFIFO/66 (FlexCAN_IRQHandlerEnhancedRxFIFO) @06f520e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_MainFunctionRead/94 (735 (estimated locally),0.00 per call) FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (846 (estimated locally),0.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (18161 (estimated locally),0.08 per call) Calls: FlexCAN_CompleteRxMessageEnhancedFifoData/54 (inlined) (24094767 (estimated locally),0.02 per call) FlexCAN_ReadEnhancedRxFifo/142 (73014444 (estimated locally),0.07 per call) Indirect call(150323855 (estimated locally),0.14 per call) Indirect call(150323855 (estimated locally),0.14 per call) Indirect call(150323855 (estimated locally),0.14 per call) Indirect call(51110111 (estimated locally),0.05 per call) FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (FlexCAN_ProcessIRQHandlerEnhancedRxFIFO) @06f52d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 is inline copy in FlexCAN_IRQHandler/81 Availability: local Function flags: count:1942 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandler/81 (inlined) (1942 (estimated locally),0.01 per call) Calls: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (846 (estimated locally),0.00 per call) FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 (inlined) (2563 (estimated locally),0.01 per call) FlexCAN_GetEnhancedRxFIFOStatusFlag/311 (inlined) (7768 (estimated locally),0.04 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (FlexCAN_ProcessSpuriousInterruptMB) @06f52a80 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_ProcessSpuriousInterruptMB/64 is inline copy in FlexCAN_IRQHandler/81 Availability: local Function flags: count:9473 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandler/81 (inlined) (9473 (estimated locally),0.04 per call) Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (4173 (estimated locally),0.02 per call) FlexCAN_GetBuffStatusImask/11 (inlined) (25293 (estimated locally),0.12 per call) FlexCAN_GetBuffStatusFlag/10 (76645 (estimated locally),0.36 per call) FlexCAN_IRQHandlerRxFIFO/63 (FlexCAN_IRQHandlerRxFIFO) @06f527e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_MainFunctionRead/94 (2367 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (2368 (estimated locally),0.01 per call) FlexCAN_ProccessLegacyRxFIFO/57 (160726266 (estimated locally),1.40 per call) Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (268435456 (estimated locally),0.25 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (268435456 (estimated locally),0.25 per call) FlexCAN_CompleteRxMessageFifoData/80 (inlined) (17929341 (estimated locally),0.02 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (54331336 (estimated locally),0.05 per call) FlexCAN_ReadRxFifo/143 (54331336 (estimated locally),0.05 per call) Indirect call(187904819 (estimated locally),0.18 per call) Indirect call(187904819 (estimated locally),0.18 per call) Indirect call(38031935 (estimated locally),0.04 per call) FlexCAN_IRQHandlerTxMB/62 (FlexCAN_IRQHandlerTxMB) @06f52540 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_IRQHandlerTxMB/62 is inline copy in FlexCAN_IRQHandler/81 Availability: local Function flags: count:2905 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandler/81 (inlined) (2905 (estimated locally),0.01 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (400 (estimated locally),0.00 per call) FlexCAN_SetMsgBuffIntCmd/132 (479 (estimated locally),0.00 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (1452 (estimated locally),0.01 per call) FlexCAN_GetMsgBuffTimestamp/147 (1452 (estimated locally),0.01 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (294 (estimated locally),0.00 per call) FlexCAN_GetMsgBuff/140 (1452 (estimated locally),0.01 per call) FlexCAN_LockRxMsgBuff/139 (1452 (estimated locally),0.01 per call) Indirect call(2034 (estimated locally),0.01 per call) FlexCAN_IRQHandlerRxMB/61 (FlexCAN_IRQHandlerRxMB) @06f522a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: local Function flags: count:1073741823 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_MainFunctionRead/94 (2882 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (2426 (estimated locally),0.01 per call) FlexCAN_Ip_ReceiveBlocking/73 (34087 (estimated locally),0.16 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (147934780 (estimated locally),0.14 per call) FlexCAN_SetMsgBuffIntCmd/132 (177167401 (estimated locally),0.17 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (1073741823 (estimated locally),1.00 per call) FlexCAN_GetMsgBuff/140 (1073741823 (estimated locally),1.00 per call) FlexCAN_LockRxMsgBuff/139 (1073741823 (estimated locally),1.00 per call) Indirect call(751619277 (estimated locally),0.70 per call) FlexCAN_StartRxMessageFifoData/60 (FlexCAN_StartRxMessageFifoData) @06f52000 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_RxFifoBlocking/75 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_RxFifoBlocking/75 (42445 (estimated locally),0.20 per call) FlexCAN_Ip_RxFifo/74 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_RxFifo/74 (42445 (estimated locally),0.20 per call) Calls: FlexCAN_StartRxMessageFifoData.part.0/179 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_StartSendData/59 (FlexCAN_StartSendData) @06bb1b60 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read) Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SendBlocking/87 (53687 (estimated locally),0.25 per call) FlexCAN_Ip_Send/70 (17717 (estimated locally),0.08 per call) Calls: FlexCAN_SetTxMsgBuff/134 (16670 (estimated locally),0.08 per call) FlexCAN_ClearMsgBuffIntStatusFlag/9 (16670 (estimated locally),0.08 per call) FlexCAN_IsMbOutOfRange/133 (53687 (estimated locally),0.25 per call) FlexCAN_StartRxMessageBufferData/58 (FlexCAN_StartRxMessageBufferData) @06bb1620 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_ReceiveBlocking/73 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_Receive/72 (107374 (estimated locally),0.50 per call) Calls: FlexCAN_IsMbOutOfRange/133 (107374 (estimated locally),0.50 per call) FlexCAN_ProccessLegacyRxFIFO/57 (FlexCAN_ProccessLegacyRxFIFO) @06bb10e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read) Referring: Availability: local Function flags: count:114863532 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_RxFifoBlocking/75 (11693 (estimated locally),0.05 per call) FlexCAN_Ip_RxFifoBlocking/75 (14007 (estimated locally),0.07 per call) Calls: FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) FlexCAN_SetMsgBuffIntCmd/132 (19089400 (estimated locally),0.17 per call) OsIf_GetElapsed/138 (1014686025 (estimated locally),8.83 per call) FlexCAN_IRQHandlerRxFIFO/63 (160726266 (estimated locally),1.40 per call) FlexCAN_GetBuffStatusFlag/10 (487049291 (estimated locally),4.24 per call) OsIf_GetCounter/137 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/136 (114863532 (estimated locally),1.00 per call) FlexCAN_ProccessEnhancedRxFifo/56 (FlexCAN_ProccessEnhancedRxFifo) @06bb1d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_flexcan_Ip_StatePtr/51 (read)g_Flexcan_Ip_aBase/50 (read) Referring: Function FlexCAN_ProccessEnhancedRxFifo/56 is inline copy in FlexCAN_Ip_RxFifoBlocking/75 Availability: local Function flags: count:9734 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_RxFifoBlocking/75 (inlined) (9734 (estimated locally),0.05 per call) Calls: OsIf_GetElapsed/138 (85989 (estimated locally),0.40 per call) FlexCAN_IRQHandlerEnhancedRxFIFO/66 (18161 (estimated locally),0.08 per call) FlexCAN_GetEnhancedRxFIFOStatusFlag/46 (inlined) (55033 (estimated locally),0.26 per call) OsIf_GetCounter/137 (9734 (estimated locally),0.05 per call) OsIf_MicrosToTicks/136 (9734 (estimated locally),0.05 per call) FlexCAN_StartRxMessageEnhancedFifoData/55 (FlexCAN_StartRxMessageEnhancedFifoData) @06bb1a80 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_RxFifoBlocking/75 (29496 (estimated locally),0.14 per call) FlexCAN_Ip_RxFifo/74 (29496 (estimated locally),0.14 per call) Calls: FlexCAN_CompleteRxMessageEnhancedFifoData/54 (FlexCAN_CompleteRxMessageEnhancedFifoData) @06bb17e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: g_Flexcan_Ip_aBase/50 (read)g_flexcan_Ip_StatePtr/51 (read) Referring: Function FlexCAN_CompleteRxMessageEnhancedFifoData/54 is inline copy in FlexCAN_IRQHandlerEnhancedRxFIFO/66 Availability: local Function flags: count:24094767 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandlerEnhancedRxFIFO/66 (inlined) (24094767 (estimated locally),0.02 per call) Calls: FlexCAN_IsEnhancedRxFifoAvailable/141 (12047384 (estimated locally),0.01 per call) FlexCAN_InitController/53 (FlexCAN_InitController) @06bb1540 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_InitController/53 is inline copy in FlexCAN_Ip_Init_Privileged/69 Availability: local Function flags: count:53687 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_Init_Privileged/69 (inlined) (53687 (estimated locally),0.25 per call) Calls: FlexCAN_Disable/125 (3123 (estimated locally),0.01 per call) FlexCAN_EnterFreezeMode/124 (3123 (estimated locally),0.01 per call) FlexCAN_SetMaxMsgBuffNum/129 (9462 (estimated locally),0.04 per call) FlexCAN_SetPayloadSize/128 (9462 (estimated locally),0.04 per call) FlexCAN_Disable/125 (9462 (estimated locally),0.04 per call) FlexCAN_EnterFreezeMode/124 (9462 (estimated locally),0.04 per call) FlexCAN_InitRxFifo/52 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_ConfigCtrlOptions/127 (18925 (estimated locally),0.09 per call) FlexCAN_SetFDEnabled/312 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_DisableMemErrorDetection/5 (inlined) (18925 (estimated locally),0.09 per call) FlexCAN_Disable/125 (18925 (estimated locally),0.09 per call) FlexCAN_EnterFreezeMode/124 (18925 (estimated locally),0.09 per call) FlexCAN_Init/126 (37849 (estimated locally),0.18 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/122 (37849 (estimated locally),0.18 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/121 (37849 (estimated locally),0.18 per call) FlexCAN_Disable/125 (10453 (estimated locally),0.05 per call) FlexCAN_EnterFreezeMode/124 (31675 (estimated locally),0.15 per call) FlexCAN_InitRxFifo/52 (FlexCAN_InitRxFifo) @06bb12a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_InitRxFifo/52 is inline copy in FlexCAN_Ip_Init_Privileged/69 Availability: local Function flags: count:18925 (estimated locally) body local optimize_size Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call) Calls: FlexCAN_EnableEnhancedRxFifo/131 (5215 (estimated locally),0.02 per call) FlexCAN_EnableRxFifo/130 (6245 (estimated locally),0.03 per call) g_flexcan_Ip_StatePtr/51 (g_flexcan_Ip_StatePtr) @06ba9630 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_CompleteRxMessageFifoData/80 (read)FlexCAN_Ip_Init_Privileged/69 (write)FlexCAN_Ip_Send/70 (read)FlexCAN_StartRxMessageFifoData.part.0/179 (read)FlexCAN_Ip_ConfigRxMb/71 (read)FlexCAN_StartRxMessageBufferData/58 (read)FlexCAN_IRQHandlerTxMB/62 (read)FlexCAN_StartRxMessageEnhancedFifoData/55 (read)FlexCAN_CompleteRxMessageEnhancedFifoData/54 (read)FlexCAN_IRQHandlerRxMB/61 (read)FlexCAN_StartSendData/59 (read)FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (read)FlexCAN_ProccessEnhancedRxFifo/56 (read)FlexCAN_ProcessSpuriousInterruptMB/64 (read)FlexCAN_Ip_Receive/72 (read)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_Ip_ConfigRemoteResponseMb/78 (read)FlexCAN_IRQHandlerRxFIFO/63 (read)FlexCAN_IRQHandlerEnhancedRxFIFO/66 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_Ip_GetTransferStatus/79 (read)FlexCAN_IRQHandler/81 (read)FlexCAN_Busoff_Error_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_Deinit_Privileged/93 (write)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_ProccessLegacyRxFIFO/57 (read)FlexCAN_Ip_AbortTransfer/116 (read) Availability: available Varpool flags: g_Flexcan_Ip_aBase/50 (g_Flexcan_Ip_aBase) @06ba95a0 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_CompleteRxMessageFifoData/80 (read)FlexCAN_Ip_Init_Privileged/69 (read)FlexCAN_Ip_Send/70 (read)FlexCAN_StartRxMessageFifoData.part.0/179 (read)FlexCAN_Ip_ConfigRxMb/71 (read)FlexCAN_StartRxMessageBufferData/58 (read)FlexCAN_Ip_Receive/72 (read)FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (read)FlexCAN_StartRxMessageEnhancedFifoData/55 (read)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_CompleteRxMessageEnhancedFifoData/54 (read)FlexCAN_IRQHandlerRxMB/61 (read)FlexCAN_StartSendData/59 (read)FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (read)FlexCAN_ProccessEnhancedRxFifo/56 (read)FlexCAN_ProcessSpuriousInterruptMB/64 (read)FlexCAN_Ip_RxFifo/74 (read)FlexCAN_Ip_RxFifoBlocking/75 (read)FlexCAN_Ip_ConfigRxFifo_Privileged/76 (read)FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged/77 (read)FlexCAN_IRQHandlerRxFIFO/63 (read)FlexCAN_IRQHandlerEnhancedRxFIFO/66 (read)FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (read)FlexCAN_Ip_ConfigRemoteResponseMb/78 (read)FlexCAN_IRQHandler/81 (read)FlexCAN_Ip_ClearErrorStatus/82 (read)FlexCAN_Ip_GetErrorStatus/83 (read)FlexCAN_Ip_GetControllerTxErrorCounter/84 (read)FlexCAN_Ip_GetControllerRxErrorCounter/85 (read)FlexCAN_Busoff_Error_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (read)FlexCAN_Ip_EnterFreezeMode_Privileged/89 (read)FlexCAN_Ip_ExitFreezeMode_Privileged/90 (read)FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (read)FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (read)FlexCAN_Ip_Deinit_Privileged/93 (read)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_GetStopMode_Privileged/97 (read)FlexCAN_Ip_GetStartMode_Privileged/98 (read)FlexCAN_Ip_SetStartMode_Privileged/99 (read)FlexCAN_Ip_SetStopMode_Privileged/100 (read)FlexCAN_Ip_SetRxMaskType_Privileged/101 (read)FlexCAN_Ip_SetBitrate_Privileged/102 (read)FlexCAN_Ip_GetBitrate/103 (read)FlexCAN_Ip_ClearTDCFail_Privileged/104 (read)FlexCAN_Ip_GetTDCFail_Privileged/105 (read)FlexCAN_Ip_GetTDCValue_Privileged/106 (read)FlexCAN_Ip_SetBitrateCbt_Privileged/107 (read)FlexCAN_Ip_GetBitrateFD/108 (read)FlexCAN_Ip_SetTDCOffset_Privileged/109 (read)FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (read)FlexCAN_Ip_GetBuffStatusFlag/111 (read)FlexCAN_Ip_ClearBuffStatusFlag/112 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_ProccessLegacyRxFIFO/57 (read)FlexCAN_IRQHandlerTxMB/62 (read)FlexCAN_Ip_SetErrorInt_Privileged/115 (read)FlexCAN_Ip_AbortTransfer/116 (read)FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (read)FlexCAN_Ip_GetListenOnlyMode/120 (read) Availability: available Varpool flags: initialized read-only const-value-known FlexCAN_SetRegDefaultVal/49 (FlexCAN_SetRegDefaultVal) @06c6f9a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetRegDefaultVal/49 is inline copy in FlexCAN_Ip_Deinit_Privileged/93 Availability: local Function flags: count:35433 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_Deinit_Privileged/93 (inlined) (35433 (estimated locally),0.16 per call) Calls: FlexCAN_GetMaxMbNum/150 (35433 (estimated locally),0.16 per call) FlexCAN_GetMaxMbNum/150 (35433 (estimated locally),0.16 per call) FlexCAN_IsEnhancedRxFifoAvailable/141 (35433 (estimated locally),0.16 per call) FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 (FlexCAN_GetEnhancedRxFIFOIntStatusFlag) @06c6bee0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetEnhancedRxFIFOIntStatusFlag/48 is inline copy in FlexCAN_IRQHandler/81 Availability: local Function flags: count:2563 (estimated locally) body local optimize_size Called by: FlexCAN_ProcessIRQHandlerEnhancedRxFIFO/65 (inlined) (2563 (estimated locally),0.01 per call) Calls: FlexCAN_GetEnhancedRxFIFOStatusFlag/46 (FlexCAN_GetEnhancedRxFIFOStatusFlag) @06c6b9a0 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 311 References: Referring: Function FlexCAN_GetEnhancedRxFIFOStatusFlag/46 is inline copy in FlexCAN_Ip_RxFifoBlocking/75 Availability: local Function flags: count:55033 (estimated locally) body local optimize_size Called by: FlexCAN_ProccessEnhancedRxFifo/56 (inlined) (55033 (estimated locally),0.26 per call) Calls: FlexCAN_SetRxMaskType/43 (FlexCAN_SetRxMaskType) @06c6b1c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetRxMaskType/43 is inline copy in FlexCAN_Ip_SetRxMaskType_Privileged/101 Availability: local Function flags: count:26575 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetRxMaskType_Privileged/101 (inlined) (26575 (estimated locally),0.12 per call) Calls: FlexCAN_SetTxArbitrationStartDelay/42 (FlexCAN_SetTxArbitrationStartDelay) @06c67d20 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetTxArbitrationStartDelay/42 is inline copy in FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 Availability: local Function flags: count:26575 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (inlined) (26575 (estimated locally),0.12 per call) Calls: FlexCAN_GetMsgBuffIntStatusFlag/36 (FlexCAN_GetMsgBuffIntStatusFlag) @06c5fc40 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: FlexCAN_IRQHandler/81 (14353 (estimated locally),0.07 per call) FlexCAN_IRQHandler/81 (239641 (estimated locally),1.12 per call) FlexCAN_IRQHandler/81 (28706 (estimated locally),0.13 per call) Calls: FlexCAN_GetMsgBuffIntStatusFlag.part.0/174 (inlined) (134217728 (estimated locally),0.12 per call) RxFifoOcuppiedLastMsgBuff/29 (RxFifoOcuppiedLastMsgBuff) @06ba12a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function RxFifoOcuppiedLastMsgBuff/29 is inline copy in FlexCAN_Ip_AbortTransfer/116 Availability: local Function flags: count:1739 (estimated locally) body local optimize_size Called by: FlexCAN_AbortRxTransfer/68 (inlined) (1739 (estimated locally),0.01 per call) Calls: FlexCAN_EnhCbtEnable/25 (FlexCAN_EnhCbtEnable) @06b9f620 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_EnhCbtEnable/25 is inline copy in FlexCAN_Ip_SetBitrate_Privileged/102 Availability: local Function flags: count:13288 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (inlined) (13288 (estimated locally),0.06 per call) Calls: FlexCAN_EnableExtCbt/24 (FlexCAN_EnableExtCbt) @06b9f2a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_EnableExtCbt/24 is inline copy in FlexCAN_Ip_Init_Privileged/69 Availability: local Function flags: count:17717 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_Init_Privileged/69 (inlined) (17717 (estimated locally),0.08 per call) Calls: FlexCAN_GetFDTimeSegments/21 (FlexCAN_GetFDTimeSegments) @06b999a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetFDTimeSegments/21 is inline copy in FlexCAN_Ip_GetBitrateFD/108 Availability: local Function flags: count:26844 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBitrateFD/108 (inlined) (26844 (estimated locally),0.13 per call) Calls: FlexCAN_GetTimeSegments/20 (FlexCAN_GetTimeSegments) @06b99700 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetTimeSegments/20 is inline copy in FlexCAN_Ip_GetBitrate/103 Availability: local Function flags: count:21222 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (21222 (estimated locally),0.10 per call) Calls: FlexCAN_GetExtendedTimeSegments/19 (FlexCAN_GetExtendedTimeSegments) @06b99460 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetExtendedTimeSegments/19 is inline copy in FlexCAN_Ip_GetBitrate/103 Availability: local Function flags: count:14748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (14748 (estimated locally),0.07 per call) Calls: FlexCAN_GetEnhancedDataTimeSegments/18 (FlexCAN_GetEnhancedDataTimeSegments) @06b991c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetEnhancedDataTimeSegments/18 is inline copy in FlexCAN_Ip_GetBitrateFD/108 Availability: local Function flags: count:26844 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBitrateFD/108 (inlined) (26844 (estimated locally),0.13 per call) Calls: FlexCAN_SetEnhancedDataTimeSegments/17 (FlexCAN_SetEnhancedDataTimeSegments) @06b23ee0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (3322 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (2923 (estimated locally),0.01 per call) Calls: FlexCAN_SetEnhancedDataTimeSegments.part.0/172 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_GetEnhancedNominalTimeSegments/16 (FlexCAN_GetEnhancedNominalTimeSegments) @06b239a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetEnhancedNominalTimeSegments/16 is inline copy in FlexCAN_Ip_GetBitrate/103 Availability: local Function flags: count:17717 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBitrate/103 (inlined) (17717 (estimated locally),0.08 per call) Calls: FlexCAN_SetEnhancedNominalTimeSegments/15 (FlexCAN_SetEnhancedNominalTimeSegments) @06b23700 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (4385 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (8858 (estimated locally),0.04 per call) Calls: FlexCAN_SetEnhancedNominalTimeSegments.part.0/170 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_SetExtendedTimeSegments/14 (FlexCAN_SetExtendedTimeSegments) @06b231c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (3650 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call) Calls: FlexCAN_SetExtendedTimeSegments.part.0/168 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_SetTimeSegments/13 (FlexCAN_SetTimeSegments) @06b1ea80 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrate_Privileged/102 (5253 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call) Calls: FlexCAN_SetTimeSegments.part.0/166 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_SetFDTimeSegments/12 (FlexCAN_SetFDTimeSegments) @06b1e380 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:214748 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (3322 (estimated locally),0.02 per call) FlexCAN_Ip_Init_Privileged/69 (4429 (estimated locally),0.02 per call) Calls: FlexCAN_SetFDTimeSegments.part.0/164 (inlined) (107374 (estimated locally),0.50 per call) FlexCAN_GetBuffStatusImask/11 (FlexCAN_GetBuffStatusImask) @06b18c40 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_GetBuffStatusImask/11 is inline copy in FlexCAN_IRQHandler/81 Availability: local Function flags: count:25293 (estimated locally) body local optimize_size Called by: FlexCAN_ProcessSpuriousInterruptMB/64 (inlined) (25293 (estimated locally),0.12 per call) Calls: FlexCAN_GetBuffStatusFlag/10 (FlexCAN_GetBuffStatusFlag) @06b189a0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_GetBuffStatusFlag/111 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_MainFunctionWrite/96 (107374 (estimated locally),0.50 per call) FlexCAN_Ip_MainFunctionRead/94 (28476 (estimated locally),0.13 per call) FlexCAN_Ip_SendBlocking/87 (28155 (estimated locally),0.13 per call) FlexCAN_Ip_SendBlocking/87 (250932 (estimated locally),1.17 per call) FlexCAN_Ip_ReceiveBlocking/73 (103294 (estimated locally),0.48 per call) FlexCAN_AbortTxTransfer/67 (24258 (estimated locally),0.11 per call) FlexCAN_ProccessLegacyRxFIFO/57 (487049291 (estimated locally),4.24 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (76645 (estimated locally),0.36 per call) Calls: FlexCAN_ClearMsgBuffIntStatusFlag/9 (FlexCAN_ClearMsgBuffIntStatusFlag) @06b18700 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_ClearBuffStatusFlag/112 (52484 (estimated locally),0.24 per call) FlexCAN_Ip_MainFunctionWrite/96 (35433 (estimated locally),0.16 per call) FlexCAN_Ip_SendBlocking/87 (26843 (estimated locally),0.12 per call) FlexCAN_Ip_SendBlocking/87 (3012 (estimated locally),0.01 per call) FlexCAN_IRQHandler/81 (202115 (estimated locally),0.94 per call) FlexCAN_IRQHandler/81 (2368 (estimated locally),0.01 per call) FlexCAN_Ip_ConfigRemoteResponseMb/78 (25646 (estimated locally),0.12 per call) FlexCAN_Ip_ConfigRxMb/71 (25646 (estimated locally),0.12 per call) FlexCAN_AbortRxTransfer/68 (2595 (estimated locally),0.01 per call) FlexCAN_AbortTxTransfer/67 (2595 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (1452 (estimated locally),0.01 per call) FlexCAN_IRQHandlerTxMB/62 (294 (estimated locally),0.00 per call) FlexCAN_IRQHandlerRxFIFO/63 (268435456 (estimated locally),0.25 per call) FlexCAN_IRQHandlerRxFIFO/63 (268435456 (estimated locally),0.25 per call) FlexCAN_IRQHandlerRxFIFO/63 (54331336 (estimated locally),0.05 per call) FlexCAN_IRQHandlerRxMB/61 (1073741823 (estimated locally),1.00 per call) FlexCAN_StartSendData/59 (16670 (estimated locally),0.08 per call) FlexCAN_ProcessSpuriousInterruptMB/64 (4173 (estimated locally),0.02 per call) Calls: FlexCAN_SetListenOnlyMode/7 (FlexCAN_SetListenOnlyMode) @06b180e0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetListenOnlyMode/7 is inline copy in FlexCAN_Ip_SetListenOnlyMode_Privileged/119 Availability: local Function flags: count:26575 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (inlined) (26575 (estimated locally),0.12 per call) Calls: FlexCAN_SetFDEnabled/6 (FlexCAN_SetFDEnabled) @06b16d20 Type: function definition analyzed Visibility: prevailing_def_ironly previous sharing asm name: 312 References: Referring: Function FlexCAN_SetFDEnabled/6 is inline copy in FlexCAN_Ip_SetBitrateCbt_Privileged/107 Availability: local Function flags: count:6644 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 (inlined) (6644 (estimated locally),0.03 per call) Calls: FlexCAN_DisableMemErrorDetection/5 (FlexCAN_DisableMemErrorDetection) @06b168c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_DisableMemErrorDetection/5 is inline copy in FlexCAN_Ip_Init_Privileged/69 Availability: local Function flags: count:18925 (estimated locally) body local optimize_size Called by: FlexCAN_InitController/53 (inlined) (18925 (estimated locally),0.09 per call) Calls: FlexCAN_SetEnhancedTDCOffset/3 (FlexCAN_SetEnhancedTDCOffset) @06b0fc40 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetEnhancedTDCOffset/3 is inline copy in FlexCAN_Ip_SetTDCOffset_Privileged/109 Availability: local Function flags: count:13288 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (inlined) (13288 (estimated locally),0.06 per call) Calls: FlexCAN_SetTDCOffset/2 (FlexCAN_SetTDCOffset) @06b0f8c0 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Function FlexCAN_SetTDCOffset/2 is inline copy in FlexCAN_Ip_SetTDCOffset_Privileged/109 Availability: local Function flags: count:13288 (estimated locally) body local optimize_size Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 (inlined) (13288 (estimated locally),0.06 per call) Calls: ;; Function FlexCAN_ClearMsgBuffIntStatusFlag (FlexCAN_ClearMsgBuffIntStatusFlag, funcdef_no=9, decl_uid=4867, cgraph_uid=10, symbol_order=9) FlexCAN_ClearMsgBuffIntStatusFlag (struct FLEXCAN_Type * base, uint32 msgBuffIdx) { uint32 flag; long unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = msgBuffIdx_3(D) & 31; flag_4 = 1 << _1; # DEBUG flag => flag_4 # DEBUG BEGIN_STMT if (msgBuffIdx_3(D) <= 31) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT base_6(D)->IFLAG1 ={v} flag_4; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (msgBuffIdx_3(D) <= 63) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT base_6(D)->IFLAG2 ={v} flag_4; goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT if (msgBuffIdx_3(D) <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT base_6(D)->IFLAG3 ={v} flag_4; [local count: 1073741824]: # DEBUG BEGIN_STMT return; } ;; Function FlexCAN_GetBuffStatusFlag (FlexCAN_GetBuffStatusFlag, funcdef_no=10, decl_uid=4872, cgraph_uid=11, symbol_order=10) FlexCAN_GetBuffStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx) { uint32 flag; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; uint8 _20; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG flag => 0 # DEBUG BEGIN_STMT if (msgBuffIdx_14(D) <= 31) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _1 ={v} base_16(D)->IFLAG1; _2 = msgBuffIdx_14(D); _3 = 1 << _2; _4 = _1 & _3; flag_19 = _4 >> _2; # DEBUG flag => flag_19 goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (msgBuffIdx_14(D) <= 63) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT _5 ={v} base_16(D)->IFLAG2; _6 = msgBuffIdx_14(D) & 31; _7 = 1 << _6; _8 = _5 & _7; flag_18 = _8 >> _6; # DEBUG flag => flag_18 goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT if (msgBuffIdx_14(D) <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT _9 ={v} base_16(D)->IFLAG3; _10 = msgBuffIdx_14(D) & 31; _11 = 1 << _10; _12 = _9 & _11; flag_17 = _12 >> _10; # DEBUG flag => flag_17 [local count: 1073741824]: # flag_13 = PHI # DEBUG flag => flag_13 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _20 = (uint8) flag_13; return _20; } ;; Function FlexCAN_StartRxMessageEnhancedFifoData (FlexCAN_StartRxMessageEnhancedFifoData, funcdef_no=53, decl_uid=5251, cgraph_uid=54, symbol_order=55) FlexCAN_StartRxMessageEnhancedFifoData (uint8 instance, struct Flexcan_Ip_MsgBuffType * data) { volatile boolean x; Flexcan_Ip_StatusType eResult; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; int _1; _Bool _2; _3; _4; _Bool _5; _Bool x.0_18; long unsigned int _19; long unsigned int _20; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_9(D); base_11 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_11 # DEBUG BEGIN_STMT state_12 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_12 # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _2 = instance_9(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_18 ={v} x; if (x.0_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 ={v} state_12->enhancedFifoOutput.state; if (_3 == 1) goto ; [21.72%] else goto ; [78.28%] [local count: 84052]: # DEBUG BEGIN_STMT state_12->enhancedFifoOutput.state ={v} 1; # DEBUG BEGIN_STMT state_12->enhancedFifoOutput.pMBmessage = data_14(D); # DEBUG BEGIN_STMT _4 = state_12->transferType; if (_4 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 42026]: # DEBUG BEGIN_STMT state_12->enhancedFifoOutput.isPolling = 0; # DEBUG BEGIN_STMT _5 = state_12->isIntActive; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 21013]: # DEBUG BEGIN_STMT # DEBUG base => base_11 # DEBUG enable => 1 # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _19 ={v} base_11->ERFIER; _20 = _19 | 4026531840; base_11->ERFIER ={v} _20; [local count: 84052]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT if (_4 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 28578]: # DEBUG BEGIN_STMT state_12->enhancedFifoOutput.isPolling = 1; [local count: 107374]: # eResult_6 = PHI <2(4), 0(8), 0(9)> # DEBUG eResult => eResult_6 # DEBUG BEGIN_STMT return eResult_6; } ;; Function FlexCAN_StartRxMessageBufferData (FlexCAN_StartRxMessageBufferData, funcdef_no=56, decl_uid=5207, cgraph_uid=57, symbol_order=58) FlexCAN_StartRxMessageBufferData (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling) { volatile boolean x; struct Flexcan_Ip_StateType * state; const struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; int _1; _Bool _2; _Bool _3; long unsigned int _4; _Bool _5; int _6; _7; _Bool x.0_21; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = (int) instance_10(D); base_12 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_12 # DEBUG BEGIN_STMT state_13 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_13 # DEBUG BEGIN_STMT _2 = instance_10(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_21 ={v} x; if (x.0_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = state_13->bIsLegacyFifoEn; _4 = state_13->u32MaxMbNum; _5 = FlexCAN_IsMbOutOfRange (base_12, mb_idx_14(D), _3, _4); if (_5 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 69793]: # DEBUG BEGIN_STMT _6 = (int) mb_idx_14(D); _7 ={v} state_13->mbs[_6].state; if (_7 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 45366]: # DEBUG BEGIN_STMT state_13->mbs[_6].state ={v} 1; # DEBUG BEGIN_STMT state_13->mbs[_6].pMBmessage = data_17(D); # DEBUG BEGIN_STMT state_13->mbs[_6].isPolling = isPolling_19(D); [local count: 107374]: # result_8 = PHI <4(4), 2(5), 0(6)> # DEBUG result => result_8 # DEBUG BEGIN_STMT return result_8; } ;; Function FlexCAN_StartSendData (FlexCAN_StartSendData, funcdef_no=57, decl_uid=5213, cgraph_uid=58, symbol_order=59) FlexCAN_StartSendData (uint8 Flexcan_Ip_u8Instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data) { volatile boolean x; volatile boolean x; struct FLEXCAN_Type * base; struct Flexcan_Ip_StateType * state; struct Flexcan_Ip_MsbuffCodeStatusType cs; Flexcan_Ip_StatusType eResult; int _1; _Bool _2; _Bool _3; _Bool _4; long unsigned int _5; _Bool _6; int _7; _8; long unsigned int _9; _Bool _10; _Bool _11; long unsigned int _12; _13; _Bool _14; unsigned char _15; _Bool _16; _Bool x.0_43; _Bool x.0_44; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) Flexcan_Ip_u8Instance_20(D); state_22 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_22 # DEBUG BEGIN_STMT base_23 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_23 # DEBUG BEGIN_STMT _2 = Flexcan_Ip_u8Instance_20(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_44 ={v} x; if (x.0_44 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = tx_info_24(D) != 0B; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_43 ={v} x; if (x.0_43 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = state_22->bIsLegacyFifoEn; _5 = state_22->u32MaxMbNum; _6 = FlexCAN_IsMbOutOfRange (base_23, mb_idx_25(D), _4, _5); if (_6 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 34897]: # DEBUG BEGIN_STMT _7 = (int) mb_idx_25(D); _8 ={v} state_22->mbs[_7].state; if (_8 != 0) goto ; [52.23%] else goto ; [47.77%] [local count: 16670]: # DEBUG BEGIN_STMT _9 = (long unsigned int) mb_idx_25(D); FlexCAN_ClearMsgBuffIntStatusFlag (base_23, _9); # DEBUG BEGIN_STMT state_22->mbs[_7].state ={v} 2; # DEBUG BEGIN_STMT state_22->mbs[_7].time_stamp = 0; # DEBUG BEGIN_STMT _10 = tx_info_24(D)->is_polling; state_22->mbs[_7].isPolling = _10; # DEBUG BEGIN_STMT _11 = tx_info_24(D)->is_remote; state_22->mbs[_7].isRemote = _11; # DEBUG BEGIN_STMT _12 = tx_info_24(D)->data_length; cs.dataLen = _12; # DEBUG BEGIN_STMT _13 = tx_info_24(D)->msg_id_type; cs.msgIdType = _13; # DEBUG BEGIN_STMT _14 = tx_info_24(D)->fd_enable; cs.fd_enable = _14; # DEBUG BEGIN_STMT _15 = tx_info_24(D)->fd_padding; cs.fd_padding = _15; # DEBUG BEGIN_STMT _16 = tx_info_24(D)->enable_brs; cs.enable_brs = _16; # DEBUG BEGIN_STMT if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8335]: # DEBUG BEGIN_STMT cs.code = 28; goto ; [100.00%] [local count: 8335]: # DEBUG BEGIN_STMT cs.code = 12; [local count: 16670]: # DEBUG BEGIN_STMT FlexCAN_SetTxMsgBuff (base_23, _9, &cs, msg_id_39(D), mb_data_40(D), 0); [local count: 53687]: # eResult_17 = PHI <4(6), 2(7), 0(11)> # DEBUG eResult => eResult_17 # DEBUG BEGIN_STMT cs ={v} {CLOBBER}; return eResult_17; } ;; Function FlexCAN_IRQHandlerRxMB (FlexCAN_IRQHandlerRxMB, funcdef_no=59, decl_uid=5222, cgraph_uid=60, symbol_order=61) FlexCAN_IRQHandlerRxMB (uint8 instance, uint32 mb_idx) { boolean bCurrentIntStat; struct Flexcan_Ip_MsgBuffType data; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; int _1; struct Flexcan_Ip_MsgBuffType * _2; struct Flexcan_Ip_MsgBuffType * _3; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _4; _5; _Bool _6; _Bool _7; _Bool _8; _Bool _9; long unsigned int vol.5_29; [local count: 1073741823]: # DEBUG BEGIN_STMT _1 = (int) instance_13(D); base_15 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_15 # DEBUG BEGIN_STMT state_16 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG bCurrentIntStat => 0 # DEBUG BEGIN_STMT _2 = state_16->mbs[mb_idx_17(D)].pMBmessage; if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 322122547]: # DEBUG BEGIN_STMT state_16->mbs[mb_idx_17(D)].pMBmessage = &data; [local count: 1073741823]: # DEBUG BEGIN_STMT FlexCAN_LockRxMsgBuff (base_15, mb_idx_17(D)); # DEBUG BEGIN_STMT _3 = state_16->mbs[mb_idx_17(D)].pMBmessage; FlexCAN_GetMsgBuff (base_15, mb_idx_17(D), _3); # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_15, mb_idx_17(D)); # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff # DEBUG BEGIN_STMT vol.5_29 ={v} MEM[(const struct FLEXCAN_Type *)base_15].TIMER; # DEBUG base => NULL # DEBUG BEGIN_STMT state_16->mbs[mb_idx_17(D)].state ={v} 0; # DEBUG BEGIN_STMT bCurrentIntStat_23 = state_16->mbs[mb_idx_17(D)].isPolling; # DEBUG bCurrentIntStat => bCurrentIntStat_23 # DEBUG BEGIN_STMT _4 = state_16->callback; if (_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 751619277]: # DEBUG BEGIN_STMT _4 (instance_13(D), 0, mb_idx_17(D), state_16); [local count: 1073741823]: # DEBUG BEGIN_STMT _5 ={v} state_16->mbs[mb_idx_17(D)].state; if (_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: _6 = state_16->mbs[mb_idx_17(D)].isPolling; if (_6 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 177167401]: # DEBUG BEGIN_STMT state_16->mbs[mb_idx_17(D)].isPolling = 1; # DEBUG BEGIN_STMT _7 = state_16->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_15, instance_13(D), mb_idx_17(D), 0, _7); goto ; [100.00%] [local count: 896574422]: # DEBUG BEGIN_STMT if (bCurrentIntStat_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 448287211]: _8 = state_16->mbs[mb_idx_17(D)].isPolling; if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 147934780]: # DEBUG BEGIN_STMT _9 = state_16->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_15, instance_13(D), mb_idx_17(D), 0, _9); [local count: 1073741824]: # DEBUG BEGIN_STMT data ={v} {CLOBBER}; return; } ;; Function FlexCAN_IRQHandlerEnhancedRxFIFO (FlexCAN_IRQHandlerEnhancedRxFIFO, funcdef_no=64, decl_uid=5243, cgraph_uid=65, symbol_order=66) Symbols to be put in SSA form { D.6742 } Incremental SSA update started at block: 0 Number of blocks in CFG: 29 Number of blocks to update: 28 ( 97%) Removing basic block 9 Removing basic block 17 Removing basic block 19 Merging blocks 20 and 21 Removing basic block 23 Merging blocks 24 and 25 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ;; ;; Loop 1 ;; header 12, latch 12 ;; depth 1, outer 0 ;; nodes: 12 ;; ;; Loop 2 ;; header 10, latch 10 ;; depth 1, outer 0 ;; nodes: 10 ;; 2 succs { 22 3 16 18 20 } ;; 3 succs { 4 22 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 22 } ;; 9 succs { 11 10 } ;; 10 succs { 10 } ;; 11 succs { 13 12 } ;; 12 succs { 12 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 22 } ;; 16 succs { 17 22 } ;; 17 succs { 22 } ;; 18 succs { 19 22 } ;; 19 succs { 22 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 1 } FlexCAN_IRQHandlerEnhancedRxFIFO (uint8 instance, uint32 intType) { struct FLEXCAN_Type * base; struct Flexcan_Ip_StateType * state; volatile boolean x; volatile boolean x; struct Flexcan_Ip_MsgBuffType data; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; int _1; _2; struct Flexcan_Ip_MsgBuffType * _3; struct Flexcan_Ip_MsgBuffType * _4; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _5; _6; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _7; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _8; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _9; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; int _37; _Bool _40; _Bool x.0_41; _Bool _42; _Bool x.0_43; _Bool _44; long unsigned int _45; long unsigned int _46; [local count: 9569875]: # DEBUG BEGIN_STMT _1 = (int) instance_13(D); base_15 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_15 # DEBUG BEGIN_STMT state_16 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_16 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT switch (intType_17(D)) [20.00%], case 28: [20.00%], case 29: [20.00%], case 30: [20.00%], case 31: [20.00%]> [local count: 1913975]: : # DEBUG BEGIN_STMT _2 ={v} state_16->enhancedFifoOutput.state; if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 650752]: # DEBUG BEGIN_STMT _3 = state_16->enhancedFifoOutput.pMBmessage; if (_3 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 195225]: # DEBUG BEGIN_STMT state_16->enhancedFifoOutput.pMBmessage = &data; [local count: 650752]: # DEBUG BEGIN_STMT _4 = state_16->enhancedFifoOutput.pMBmessage; FlexCAN_ReadEnhancedRxFifo (base_15, _4); # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => intType_17(D) # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT _27 = 1 << intType_17(D); base_15->ERFSR ={v} _27; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => 29 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_15->ERFSR ={v} 536870912; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => 30 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_15->ERFSR ={v} 1073741824; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT state_16->enhancedFifoOutput.state ={v} 0; # DEBUG BEGIN_STMT _5 = state_16->callback; if (_5 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 455526]: # DEBUG BEGIN_STMT _5 (instance_13(D), 5, 255, state_16); [local count: 650752]: # DEBUG BEGIN_STMT _6 ={v} state_16->enhancedFifoOutput.state; if (_6 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG instance => instance_13(D) # DEBUG INLINE_ENTRY FlexCAN_CompleteRxMessageEnhancedFifoData # DEBUG BEGIN_STMT _37 = (int) instance_13(D); base_38 = g_Flexcan_Ip_aBase[_37]; # DEBUG base => base_38 # DEBUG BEGIN_STMT state_39 = g_flexcan_Ip_StatePtr[_37]; # DEBUG state => state_39 # DEBUG BEGIN_STMT _40 = instance_13(D) <= 5; x ={v} _40; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_41 ={v} x; if (x.0_41 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _42 = FlexCAN_IsEnhancedRxFifoAvailable (base_38); x ={v} _42; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_43 ={v} x; if (x.0_43 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _44 = state_39->enhancedFifoOutput.isPolling; if (_44 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26843]: # DEBUG BEGIN_STMT state_39->enhancedFifoOutput.isPolling = 1; # DEBUG BEGIN_STMT # DEBUG base => base_38 # DEBUG enable => 0 # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _45 ={v} base_38->ERFIER; _46 = _45 & 268435455; base_38->ERFIER ={v} _46; [local count: 53687]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT state_39->enhancedFifoOutput.pMBmessage = 0B; # DEBUG BEGIN_STMT state_39->enhancedFifoOutput.state ={v} 0; goto ; [100.00%] [local count: 1913975]: : # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => intType_17(D) # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT _28 = 1 << intType_17(D); base_15->ERFSR ={v} _28; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT _7 = state_16->callback; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1339783]: # DEBUG BEGIN_STMT _7 (instance_13(D), 6, 255, state_16); goto ; [100.00%] [local count: 1913975]: : # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => intType_17(D) # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT _29 = 1 << intType_17(D); base_15->ERFSR ={v} _29; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT _8 = state_16->callback; if (_8 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1339783]: # DEBUG BEGIN_STMT _8 (instance_13(D), 7, 255, state_16); goto ; [100.00%] [local count: 1913975]: : # DEBUG BEGIN_STMT # DEBUG base => base_15 # DEBUG intFlag => intType_17(D) # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT _30 = 1 << intType_17(D); base_15->ERFSR ={v} _30; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT _9 = state_16->callback; if (_9 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 1339783]: # DEBUG BEGIN_STMT _9 (instance_13(D), 8, 255, state_16); [local count: 9408814]: : # DEBUG instance => NULL # DEBUG x => NULL # DEBUG x => NULL # DEBUG state => NULL # DEBUG base => NULL data ={v} {CLOBBER}; return; } ;; Function FlexCAN_IRQHandlerRxFIFO (FlexCAN_IRQHandlerRxFIFO, funcdef_no=61, decl_uid=5228, cgraph_uid=62, symbol_order=63) Symbols to be put in SSA form { D.6745 } Incremental SSA update started at block: 0 Number of blocks in CFG: 23 Number of blocks to update: 22 ( 96%) Merging blocks 9 and 16 Removing basic block 15 Removing basic block 17 Merging blocks 18 and 19 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ;; ;; Loop 1 ;; header 10, latch 10 ;; depth 1, outer 0 ;; nodes: 10 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 18 5 14 16 } ;; 5 succs { 6 18 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 18 } ;; 9 succs { 11 10 } ;; 10 succs { 10 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 18 } ;; 14 succs { 15 18 } ;; 15 succs { 18 } ;; 16 succs { 17 18 } ;; 17 succs { 18 } ;; 18 succs { 1 } FlexCAN_IRQHandlerRxFIFO (uint8 instance, uint32 mb_idx) { struct FLEXCAN_Type * base; struct Flexcan_Ip_StateType * state; volatile boolean x; struct Flexcan_Ip_MsgBuffType data; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; int _1; struct Flexcan_Ip_MsgBuffType * _2; _3; struct Flexcan_Ip_MsgBuffType * _4; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _5; _6; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _7; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _8; int _29; _Bool _32; _Bool x.0_33; _34; _Bool _35; _Bool _36; _Bool _37; [local count: 12860702]: # DEBUG BEGIN_STMT _1 = (int) instance_12(D); base_14 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_14 # DEBUG BEGIN_STMT state_15 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_15 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = state_15->mbs[0].pMBmessage; if (_2 == 0B) goto ; [30.00%] else goto ; [70.00%] [local count: 3858211]: # DEBUG BEGIN_STMT state_15->mbs[0].pMBmessage = &data; [local count: 12860702]: # DEBUG BEGIN_STMT switch (mb_idx_17(D)) [25.00%], case 5: [25.00%], case 6: [25.00%], case 7: [25.00%]> [local count: 3215175]: : # DEBUG BEGIN_STMT _3 ={v} state_15->mbs[0].state; if (_3 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 650752]: # DEBUG BEGIN_STMT _4 = state_15->mbs[0].pMBmessage; FlexCAN_ReadRxFifo (base_14, _4); # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D)); # DEBUG BEGIN_STMT state_15->mbs[0].state ={v} 0; # DEBUG BEGIN_STMT _5 = state_15->callback; if (_5 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 455526]: # DEBUG BEGIN_STMT _5 (instance_12(D), 1, 0, state_15); [local count: 650752]: # DEBUG BEGIN_STMT _6 ={v} state_15->mbs[0].state; if (_6 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 214748]: # DEBUG BEGIN_STMT state_15->mbs[0].isPolling = 1; # DEBUG BEGIN_STMT # DEBUG instance => instance_12(D) # DEBUG INLINE_ENTRY FlexCAN_CompleteRxMessageFifoData # DEBUG BEGIN_STMT _29 = (int) instance_12(D); base_30 = g_Flexcan_Ip_aBase[_29]; # DEBUG base => base_30 # DEBUG BEGIN_STMT state_31 = g_flexcan_Ip_StatePtr[_29]; # DEBUG state => state_31 # DEBUG BEGIN_STMT _32 = instance_12(D) <= 5; x ={v} _32; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_33 ={v} x; if (x.0_33 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _34 = state_31->transferType; if (_34 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 35433]: # DEBUG BEGIN_STMT _35 = state_31->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 5, 0, _35); # DEBUG BEGIN_STMT _36 = state_31->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 6, 0, _36); # DEBUG BEGIN_STMT _37 = state_31->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_30, instance_12(D), 7, 0, _37); [local count: 107374]: # DEBUG BEGIN_STMT state_31->mbs[0].pMBmessage = 0B; # DEBUG BEGIN_STMT state_31->mbs[0].state ={v} 0; goto ; [100.00%] [local count: 3215175]: : # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D)); # DEBUG BEGIN_STMT _7 = state_15->callback; if (_7 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2250623]: # DEBUG BEGIN_STMT _7 (instance_12(D), 2, 0, state_15); goto ; [100.00%] [local count: 3215175]: : # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_14, mb_idx_17(D)); # DEBUG BEGIN_STMT _8 = state_15->callback; if (_8 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2250623]: # DEBUG BEGIN_STMT _8 (instance_12(D), 3, 0, state_15); [local count: 12753328]: : # DEBUG instance => NULL # DEBUG x => NULL # DEBUG state => NULL # DEBUG base => NULL data ={v} {CLOBBER}; return; } ;; Function FlexCAN_ProccessLegacyRxFIFO (FlexCAN_ProccessLegacyRxFIFO, funcdef_no=55, decl_uid=5219, cgraph_uid=56, symbol_order=57) FlexCAN_ProccessLegacyRxFIFO (uint8 u8Instance, uint32 u32TimeoutMs) { uint32 u32intType; uint32 mS2Ticks; uint32 timeElapsed; uint32 timeStart; struct FLEXCAN_Type * pBase; struct Flexcan_Ip_StateType * pState; Flexcan_Ip_StatusType eResult; int _1; long unsigned int _2; long unsigned int _3; _4; unsigned char _5; _6; _7; _Bool _8; _Bool _9; _Bool _10; _11; long unsigned int _37; [local count: 114863532]: # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _1 = (int) u8Instance_23(D); pState_25 = g_flexcan_Ip_StatePtr[_1]; # DEBUG pState => pState_25 # DEBUG BEGIN_STMT pBase_26 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_26 # DEBUG BEGIN_STMT timeStart = 0; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT _2 = u32TimeoutMs_28(D) * 1000; mS2Ticks_30 = OsIf_MicrosToTicks (_2, 0); # DEBUG mS2Ticks => mS2Ticks_30 # DEBUG BEGIN_STMT # DEBUG u32intType => 0 # DEBUG BEGIN_STMT _3 = OsIf_GetCounter (0); timeStart = _3; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _4 = pState_25->transferType; if (_4 == 1) goto ; [16.00%] else goto ; [84.00%] [local count: 162349764]: goto ; [100.00%] [local count: 487049291]: # DEBUG BEGIN_STMT _5 = FlexCAN_GetBuffStatusFlag (pBase_26, u32intType_15); if (_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 160726266]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxFIFO (u8Instance_23(D), u32intType_15); [local count: 487049291]: # DEBUG BEGIN_STMT u32intType_35 = u32intType_15 + 4294967295; # DEBUG u32intType => u32intType_35 [local count: 649399056]: # u32intType_15 = PHI # DEBUG u32intType => u32intType_15 # DEBUG BEGIN_STMT if (u32intType_15 > 4) goto ; [75.00%] else goto ; [25.00%] [local count: 1014686025]: # DEBUG BEGIN_STMT _37 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_38 = timeElapsed_14 + _37; # DEBUG timeElapsed => timeElapsed_38 # DEBUG BEGIN_STMT if (mS2Ticks_30 <= timeElapsed_38) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: [local count: 1073741824]: # timeElapsed_14 = PHI <0(2), timeElapsed_38(18)> # DEBUG timeElapsed => timeElapsed_14 # DEBUG BEGIN_STMT _6 ={v} pState_25->mbs[0].state; if (_6 == 1) goto ; [94.50%] else goto ; [5.50%] [local count: 114863532]: # eResult_12 = PHI <3(8), 0(9)> # DEBUG eResult => eResult_12 # DEBUG BEGIN_STMT if (eResult_12 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 39053601]: _7 = pState_25->transferType; if (_7 != 1) goto ; [48.88%] else goto ; [51.12%] [local count: 19089400]: # DEBUG BEGIN_STMT _8 = pState_25->isIntActive; FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 5, 0, _8); # DEBUG BEGIN_STMT _9 = pState_25->isIntActive; FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 6, 0, _9); # DEBUG BEGIN_STMT _10 = pState_25->isIntActive; FlexCAN_SetMsgBuffIntCmd (pBase_26, u8Instance_23(D), 7, 0, _10); [local count: 114863532]: # DEBUG BEGIN_STMT _11 ={v} pState_25->mbs[0].state; switch (_11) [33.33%], case 0: [33.33%], case 1: [33.33%]> [local count: 38284015]: : # DEBUG BEGIN_STMT pState_25->mbs[0].state ={v} 0; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 38284015]: : # DEBUG BEGIN_STMT # DEBUG eResult => 1 # DEBUG BEGIN_STMT [local count: 114852045]: # eResult_13 = PHI : # DEBUG eResult => eResult_13 # DEBUG BEGIN_STMT timeStart ={v} {CLOBBER}; return eResult_13; } ;; Function FlexCAN_SetFDTimeSegments (FlexCAN_SetFDTimeSegments, funcdef_no=12, decl_uid=4882, cgraph_uid=13, symbol_order=12) Symbols to be put in SSA form { D.6703 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 1 } FlexCAN_SetFDTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg) { volatile boolean x; _Bool _1; _Bool x.0_6; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; [local count: 214748]: # DEBUG BEGIN_STMT _1 = timeSeg_2(D) != 0B; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_6 ={v} x; if (x.0_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG base => base_5(D) # DEBUG timeSeg => timeSeg_2(D) # DEBUG INLINE_ENTRY FlexCAN_SetFDTimeSegments # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _8 ={v} base_5(D)->FDCBT; _9 = _8 & 3221783320; base_5(D)->FDCBT ={v} _9; # DEBUG BEGIN_STMT _10 ={v} base_5(D)->FDCBT; _11 = timeSeg_2(D)->propSeg; _12 = _11 << 10; _13 = _12 & 31744; _14 = timeSeg_2(D)->phaseSeg2; _15 = _14 & 7; _16 = _13 | _15; _17 = timeSeg_2(D)->phaseSeg1; _18 = _17 << 5; _19 = _18 & 255; _20 = _16 | _19; _21 = timeSeg_2(D)->preDivider; _22 = _21 << 20; _23 = _22 & 1072693248; _24 = _20 | _23; _25 = timeSeg_2(D)->rJumpwidth; _26 = _25 << 16; _27 = _26 & 458752; _28 = _24 | _27; _29 = _10 | _28; base_5(D)->FDCBT ={v} _29; # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL return; } ;; Function FlexCAN_SetTimeSegments (FlexCAN_SetTimeSegments, funcdef_no=13, decl_uid=4886, cgraph_uid=14, symbol_order=13) Symbols to be put in SSA form { D.6704 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 1 } FlexCAN_SetTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg) { volatile boolean x; _Bool _1; _Bool x.0_6; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; [local count: 214748]: # DEBUG BEGIN_STMT _1 = timeSeg_2(D) != 0B; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_6 ={v} x; if (x.0_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG base => base_5(D) # DEBUG timeSeg => timeSeg_2(D) # DEBUG INLINE_ENTRY FlexCAN_SetTimeSegments # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _8 ={v} base_5(D)->CTRL1; _9 = _8 & 65528; base_5(D)->CTRL1 ={v} _9; # DEBUG BEGIN_STMT _10 ={v} base_5(D)->CTRL1; _11 = timeSeg_2(D)->propSeg; _12 = _11 & 7; _13 = timeSeg_2(D)->phaseSeg2; _14 = _13 << 16; _15 = _14 & 458752; _16 = _12 | _15; _17 = timeSeg_2(D)->phaseSeg1; _18 = _17 << 19; _19 = _18 & 3670016; _20 = _16 | _19; _21 = timeSeg_2(D)->preDivider; _22 = _21 << 24; _23 = _20 | _22; _24 = timeSeg_2(D)->rJumpwidth; _25 = _24 << 22; _26 = _25 & 12582912; _27 = _23 | _26; _28 = _10 | _27; base_5(D)->CTRL1 ={v} _28; # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL return; } ;; Function FlexCAN_SetExtendedTimeSegments (FlexCAN_SetExtendedTimeSegments, funcdef_no=14, decl_uid=4890, cgraph_uid=15, symbol_order=14) Symbols to be put in SSA form { D.6705 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 1 } FlexCAN_SetExtendedTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg) { volatile boolean x; _Bool _1; _Bool x.0_6; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; [local count: 214748]: # DEBUG BEGIN_STMT _1 = timeSeg_2(D) != 0B; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_6 ={v} x; if (x.0_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG base => base_5(D) # DEBUG timeSeg => timeSeg_2(D) # DEBUG INLINE_ENTRY FlexCAN_SetExtendedTimeSegments # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _8 ={v} base_5(D)->CBT; _9 = _8 & 2147483648; base_5(D)->CBT ={v} _9; # DEBUG BEGIN_STMT _10 ={v} base_5(D)->CBT; _11 = timeSeg_2(D)->propSeg; _12 = _11 << 10; _13 = _12 & 65535; _14 = timeSeg_2(D)->phaseSeg2; _15 = _14 & 31; _16 = _13 | _15; _17 = timeSeg_2(D)->phaseSeg1; _18 = _17 << 5; _19 = _18 & 992; _20 = _16 | _19; _21 = timeSeg_2(D)->preDivider; _22 = _21 << 21; _23 = _22 & 2145386496; _24 = _20 | _23; _25 = timeSeg_2(D)->rJumpwidth; _26 = _25 << 16; _27 = _26 & 2031616; _28 = _24 | _27; _29 = _10 | _28; base_5(D)->CBT ={v} _29; # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL return; } ;; Function FlexCAN_SetEnhancedNominalTimeSegments (FlexCAN_SetEnhancedNominalTimeSegments, funcdef_no=15, decl_uid=4894, cgraph_uid=16, symbol_order=15) Symbols to be put in SSA form { D.6706 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 1 } FlexCAN_SetEnhancedNominalTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg) { volatile boolean x; _Bool _1; _Bool x.0_6; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; [local count: 214748]: # DEBUG BEGIN_STMT _1 = timeSeg_2(D) != 0B; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_6 ={v} x; if (x.0_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG base => base_5(D) # DEBUG timeSeg => timeSeg_2(D) # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedNominalTimeSegments # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _8 ={v} base_5(D)->ENCBT; _9 = _8 & 3761770240; base_5(D)->ENCBT ={v} _9; # DEBUG BEGIN_STMT _10 ={v} base_5(D)->ENCBT; _11 = timeSeg_2(D)->phaseSeg1; _12 = timeSeg_2(D)->propSeg; _13 = _11 + _12; _14 = _13 + 1; _15 = _14 & 255; _16 = timeSeg_2(D)->phaseSeg2; _17 = _16 << 12; _18 = _17 & 520192; _19 = _15 | _18; _20 = timeSeg_2(D)->rJumpwidth; _21 = _20 << 22; _22 = _21 & 532676608; _23 = _19 | _22; _24 = _10 | _23; base_5(D)->ENCBT ={v} _24; # DEBUG BEGIN_STMT _25 ={v} base_5(D)->EPRS; _26 = _25 & 4294966272; base_5(D)->EPRS ={v} _26; # DEBUG BEGIN_STMT _27 ={v} base_5(D)->EPRS; _28 = timeSeg_2(D)->preDivider; _29 = _28 & 1023; _30 = _27 | _29; base_5(D)->EPRS ={v} _30; # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL return; } ;; Function FlexCAN_SetEnhancedDataTimeSegments (FlexCAN_SetEnhancedDataTimeSegments, funcdef_no=17, decl_uid=4902, cgraph_uid=18, symbol_order=17) Symbols to be put in SSA form { D.6708 } Incremental SSA update started at block: 0 Number of blocks in CFG: 10 Number of blocks to update: 9 ( 90%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 9 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 1 } FlexCAN_SetEnhancedDataTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg) { volatile boolean x; _Bool _1; _Bool x.0_6; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; [local count: 214748]: # DEBUG BEGIN_STMT _1 = timeSeg_2(D) != 0B; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_6 ={v} x; if (x.0_6 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG base => base_5(D) # DEBUG timeSeg => timeSeg_2(D) # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedDataTimeSegments # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _8 ={v} base_5(D)->EDCBT; _9 = _8 & 4231991264; base_5(D)->EDCBT ={v} _9; # DEBUG BEGIN_STMT _10 ={v} base_5(D)->EDCBT; _11 = timeSeg_2(D)->phaseSeg1; _12 = timeSeg_2(D)->propSeg; _13 = _11 + _12; _14 = _13 & 31; _15 = timeSeg_2(D)->phaseSeg2; _16 = _15 << 12; _17 = _16 & 65535; _18 = _14 | _17; _19 = timeSeg_2(D)->rJumpwidth; _20 = _19 << 22; _21 = _20 & 62914560; _22 = _18 | _21; _23 = _10 | _22; base_5(D)->EDCBT ={v} _23; # DEBUG BEGIN_STMT _24 ={v} base_5(D)->EPRS; _25 = _24 & 4227923967; base_5(D)->EPRS ={v} _25; # DEBUG BEGIN_STMT _26 ={v} base_5(D)->EPRS; _27 = timeSeg_2(D)->preDivider; _28 = _27 << 16; _29 = _28 & 67043328; _30 = _26 | _29; base_5(D)->EPRS ={v} _30; # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL return; } ;; Function FlexCAN_GetMsgBuffIntStatusFlag (FlexCAN_GetMsgBuffIntStatusFlag, funcdef_no=36, decl_uid=4981, cgraph_uid=37, symbol_order=36) Symbols to be put in SSA form { D.6721 D.7272 } Incremental SSA update started at block: 0 Number of blocks in CFG: 13 Number of blocks to update: 12 ( 92%) Removing basic block 7 Removing basic block 10 Merging blocks 11 and 12 Merging blocks 11 and 9 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 ;; 2 succs { 3 4 } ;; 3 succs { 8 } ;; 4 succs { 5 6 } ;; 5 succs { 8 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 1 } FlexCAN_GetMsgBuffIntStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx) { uint32 mask; uint8 flag; uint8 D.7272; uint32 mask; uint8 flag; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; unsigned char _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; unsigned char _10; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; unsigned char _27; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG flag => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (msgBuffIdx_13(D) <= 31) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT mask_18 ={v} base_15(D)->IMASK1; # DEBUG mask => mask_18 # DEBUG BEGIN_STMT _1 ={v} base_15(D)->IFLAG1; _2 = _1 & mask_18; _3 = msgBuffIdx_13(D); _4 = _2 >> _3; _5 = (unsigned char) _4; flag_19 = _5 & 1; # DEBUG flag => flag_19 goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT if (msgBuffIdx_13(D) <= 63) goto ; [50.00%] else goto ; [50.00%] [local count: 268435456]: # DEBUG BEGIN_STMT mask_16 ={v} base_15(D)->IMASK2; # DEBUG mask => mask_16 # DEBUG BEGIN_STMT _6 ={v} base_15(D)->IFLAG2; _7 = _6 & mask_16; _8 = msgBuffIdx_13(D) & 31; _9 = _7 >> _8; _10 = (unsigned char) _9; flag_17 = _10 & 1; # DEBUG flag => flag_17 goto ; [100.00%] [local count: 268435456]: # DEBUG BEGIN_STMT if (msgBuffIdx_13(D) <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG base => base_15(D) # DEBUG msgBuffIdx => msgBuffIdx_13(D) # DEBUG INLINE_ENTRY FlexCAN_GetMsgBuffIntStatusFlag # DEBUG BEGIN_STMT mask_22 ={v} base_15(D)->IMASK3; # DEBUG mask => mask_22 # DEBUG BEGIN_STMT _23 ={v} base_15(D)->IFLAG3; _24 = mask_22 & _23; _25 = msgBuffIdx_13(D) & 31; _26 = _24 >> _25; _27 = (unsigned char) _26; flag_28 = _27 & 1; # DEBUG flag => flag_28 # DEBUG flag => flag_28 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _30 = flag_28; # DEBUG base => NULL # DEBUG msgBuffIdx => NULL # DEBUG flag => NULL # DEBUG mask => NULL flag_20 = _30; [local count: 1073741824]: # flag_11 = PHI # DEBUG flag => flag_11 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return flag_11; } ;; Function FlexCAN_StartRxMessageFifoData (FlexCAN_StartRxMessageFifoData, funcdef_no=58, decl_uid=5216, cgraph_uid=59, symbol_order=60) Symbols to be put in SSA form { D.6736 D.7281 } Incremental SSA update started at block: 0 Number of blocks in CFG: 16 Number of blocks to update: 15 ( 94%) Merging blocks 3 and 6 Removing basic block 4 Removing basic block 5 Removing basic block 8 Merging blocks 15 and 7 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 10 5 } ;; 5 succs { 10 6 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 1 } FlexCAN_StartRxMessageFifoData (uint8 instance, struct Flexcan_Ip_MsgBuffType * data) { Flexcan_Ip_StatusType eResult; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; Flexcan_Ip_StatusType D.7281; volatile boolean x; Flexcan_Ip_StatusType eResult; _Bool _1; _Bool x.0_7; int _9; _Bool _12; _13; _14; _Bool _15; _Bool _16; _Bool _17; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG base => 0B # DEBUG BEGIN_STMT # DEBUG state => 0B # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _1 = instance_4(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_7 ={v} x; if (x.0_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG instance => instance_4(D) # DEBUG data => data_6(D) # DEBUG INLINE_ENTRY FlexCAN_StartRxMessageFifoData # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _9 = (int) instance_4(D); base_10 = g_Flexcan_Ip_aBase[_9]; # DEBUG base => base_10 # DEBUG BEGIN_STMT state_11 = g_flexcan_Ip_StatePtr[_9]; # DEBUG state => state_11 # DEBUG BEGIN_STMT _12 = state_11->bIsLegacyFifoEn; if (_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: # DEBUG BEGIN_STMT _13 ={v} state_11->mbs[0].state; if (_13 != 0) goto ; [35.00%] else goto ; [65.00%] [local count: 34897]: # DEBUG BEGIN_STMT state_11->mbs[0].state ={v} 1; # DEBUG BEGIN_STMT _14 = state_11->transferType; if (_14 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 11865]: # DEBUG BEGIN_STMT state_11->mbs[0].isPolling = 1; [local count: 34897]: # DEBUG BEGIN_STMT state_11->mbs[0].pMBmessage = data_6(D); # DEBUG BEGIN_STMT if (_14 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 11516]: # DEBUG BEGIN_STMT state_11->mbs[0].isPolling = 0; # DEBUG BEGIN_STMT _15 = state_11->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 6, 1, _15); # DEBUG BEGIN_STMT _16 = state_11->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 7, 1, _16); # DEBUG BEGIN_STMT _17 = state_11->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_10, instance_4(D), 5, 1, _17); [local count: 107374]: # eResult_18 = PHI <1(4), 2(5), 0(8), 0(9)> # DEBUG eResult => eResult_18 # DEBUG BEGIN_STMT _28 = eResult_18; # DEBUG instance => NULL # DEBUG data => NULL # DEBUG base => NULL # DEBUG state => NULL # DEBUG eResult => NULL # DEBUG x => NULL eResult_3 = _28; # DEBUG eResult => eResult_3 # DEBUG BEGIN_STMT return eResult_3; } ;; Function FlexCAN_Ip_Init_Privileged (FlexCAN_Ip_Init_Privileged, funcdef_no=67, decl_uid=4534, cgraph_uid=68, symbol_order=69) Symbols to be put in SSA form { D.6751 D.7290 D.7298 } Incremental SSA update started at block: 0 Number of blocks in CFG: 57 Number of blocks to update: 56 ( 98%) Merging blocks 3 and 24 Merging blocks 5 and 23 Removing basic block 6 Merging blocks 7 and 54 Removing basic block 20 Removing basic block 21 Removing basic block 22 Removing basic block 32 Merging blocks 34 and 48 Merging blocks 38 and 25 Merging blocks 44 and 39 Merging blocks 46 and 45 Merging blocks 52 and 47 Merging blocks 56 and 53 Merging blocks 46 and 40 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ;; ;; Loop 1 ;; header 39, latch 38 ;; depth 1, outer 0 ;; nodes: 39 38 ;; ;; Loop 2 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 3 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 10 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 10 26 } ;; 10 succs { 11 12 } ;; 11 succs { 26 } ;; 12 succs { 14 13 } ;; 13 succs { 14 } ;; 14 succs { 16 15 } ;; 15 succs { 16 } ;; 16 succs { 17 18 } ;; 17 succs { 18 } ;; 18 succs { 19 20 } ;; 19 succs { 20 22 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 23 24 } ;; 23 succs { 26 } ;; 24 succs { 25 26 } ;; 25 succs { 26 } ;; 26 succs { 27 41 } ;; 27 succs { 29 28 } ;; 28 succs { 29 } ;; 29 succs { 30 33 } ;; 30 succs { 31 32 } ;; 31 succs { 32 } ;; 32 succs { 37 } ;; 33 succs { 34 35 } ;; 34 succs { 36 } ;; 35 succs { 36 } ;; 36 succs { 37 } ;; 37 succs { 39 41 } ;; 38 succs { 39 } ;; 39 succs { 38 40 } ;; 40 succs { 41 } ;; 41 succs { 1 } FlexCAN_Ip_Init_Privileged (uint8 Flexcan_Ip_u8Instance, struct Flexcan_Ip_StateType * Flexcan_Ip_pState, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData) { Flexcan_Ip_StatusType eResult; Flexcan_Ip_StatusType D.7298; Flexcan_Ip_StatusType eResult; Flexcan_Ip_StatusType D.7290; volatile boolean x; volatile boolean x; uint32 i; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType eResult; int _1; _Bool _2; _Bool _3; _Bool _4; _Bool _5; long unsigned int _6; long unsigned int _7; const struct Flexcan_Ip_TimeSegmentType * _8; _Bool _9; const struct Flexcan_Ip_TimeSegmentType * _10; long unsigned int _11; long unsigned int _12; _Bool _13; const struct Flexcan_Ip_TimeSegmentType * _14; const struct Flexcan_Ip_TimeSegmentType * _15; const struct Flexcan_Ip_TimeSegmentType * _16; _17; _18; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct Flexcan_Ip_StateType *) _19; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct Flexcan_Ip_StateType *) _20; _Bool _21; long unsigned int _22; _Bool x.0_68; _Bool x.0_69; long unsigned int _72; signed int _73; long unsigned int _77; long unsigned int _78; _Bool _80; _Bool _81; long unsigned int _82; _83; long unsigned int _84; long unsigned int _85; long unsigned int _86; const struct Flexcan_Ip_PayloadSizeType * _88; long unsigned int _89; long unsigned int _92; long unsigned int _93; long unsigned int iftmp.1_94; long unsigned int _95; long unsigned int _96; long unsigned int _97; long unsigned int iftmp.2_98; long unsigned int _99; long unsigned int _100; long unsigned int _101; long unsigned int _102; long unsigned int _103; long unsigned int _104; long unsigned int _105; long unsigned int _106; _Bool _107; _108; long unsigned int _109; _Bool _111; long unsigned int _112; long unsigned int _113; long unsigned int _114; long unsigned int _118; long unsigned int _119; long unsigned int iftmp.4_120; long unsigned int _121; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _1 = (int) Flexcan_Ip_u8Instance_30(D); pBase_32 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_32 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _2 = Flexcan_Ip_u8Instance_30(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_69 ={v} x; if (x.0_69 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = Flexcan_Ip_pData_33(D) != 0B; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_68 ={v} x; if (x.0_68 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_32 # DEBUG Flexcan_Ip_pData => Flexcan_Ip_pData_33(D) # DEBUG INLINE_ENTRY FlexCAN_InitController # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_32 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _72 ={v} MEM[(const struct FLEXCAN_Type *)pBase_32].MCR; _73 = (signed int) _72; # DEBUG pBase => NULL if (_73 >= 0) goto ; [59.00%] else goto ; [41.00%] [local count: 31675]: # DEBUG BEGIN_STMT eResult_74 = FlexCAN_EnterFreezeMode (pBase_32); # DEBUG eResult => eResult_74 # DEBUG BEGIN_STMT if (eResult_74 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 10453]: # DEBUG BEGIN_STMT eResult_75 = FlexCAN_Disable (pBase_32); # DEBUG eResult => eResult_75 [local count: 31675]: # eResult_76 = PHI # DEBUG eResult => eResult_76 # DEBUG BEGIN_STMT if (eResult_76 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37849]: # DEBUG eResult => NULL # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT _77 ={v} pBase_32->MCR; _78 = _77 & 2147483647; pBase_32->MCR ={v} _78; # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT eResult_79 = FlexCAN_Init (pBase_32); # DEBUG eResult => eResult_79 # DEBUG BEGIN_STMT if (eResult_79 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18925]: # DEBUG BEGIN_STMT FlexCAN_EnterFreezeMode (pBase_32); # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_32); goto ; [100.00%] [local count: 18925]: # DEBUG BEGIN_STMT # DEBUG base => pBase_32 # DEBUG INLINE_ENTRY FlexCAN_DisableMemErrorDetection # DEBUG BEGIN_STMT _102 ={v} pBase_32->CTRL2; _103 = _102 | 536870912; pBase_32->CTRL2 ={v} _103; # DEBUG BEGIN_STMT pBase_32->MECR ={v} 0; # DEBUG BEGIN_STMT pBase_32->MECR ={v} 0; # DEBUG BEGIN_STMT _104 ={v} pBase_32->MECR; _105 = _104 | 256; pBase_32->MECR ={v} _105; # DEBUG BEGIN_STMT _106 ={v} pBase_32->CTRL2; pBase_32->CTRL2 ={v} _106; # DEBUG base => NULL # DEBUG BEGIN_STMT _80 = Flexcan_Ip_pData_33(D)->fd_enable; _81 = Flexcan_Ip_pData_33(D)->bitRateSwitch; # DEBUG base => pBase_32 # DEBUG enableFD => _80 # DEBUG enableBRS => _81 # DEBUG INLINE_ENTRY FlexCAN_SetFDEnabled # DEBUG BEGIN_STMT _92 ={v} pBase_32->MCR; _93 = _92 & 4294965247; if (_80 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9462]: [local count: 18925]: # iftmp.1_94 = PHI <2048(12), 0(13)> _95 = _93 | iftmp.1_94; pBase_32->MCR ={v} _95; # DEBUG BEGIN_STMT _96 ={v} pBase_32->FDCTRL; _97 = _96 & 2147483647; if (_81 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9462]: [local count: 18925]: # iftmp.2_98 = PHI <2147483648(14), 0(15)> _99 = _97 | iftmp.2_98; pBase_32->FDCTRL ={v} _99; # DEBUG BEGIN_STMT _100 ={v} pBase_32->FDCTRL; _101 = _100 & 4294926591; pBase_32->FDCTRL ={v} _101; # DEBUG base => NULL # DEBUG enableFD => NULL # DEBUG enableBRS => NULL # DEBUG BEGIN_STMT _82 = Flexcan_Ip_pData_33(D)->ctrlOptions; FlexCAN_ConfigCtrlOptions (pBase_32, _82); # DEBUG BEGIN_STMT _83 = Flexcan_Ip_pData_33(D)->flexcanMode; if (_83 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 12490]: # DEBUG BEGIN_STMT # DEBUG base => pBase_32 # DEBUG enable => 0 # DEBUG INLINE_ENTRY FlexCAN_SetSelfReception # DEBUG BEGIN_STMT _84 ={v} pBase_32->MCR; _85 = _84 & 4294836223; _86 = _85 | 131072; pBase_32->MCR ={v} _86; [local count: 18925]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_32 # DEBUG Flexcan_Ip_pData => Flexcan_Ip_pData_33(D) # DEBUG INLINE_ENTRY FlexCAN_InitRxFifo # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _107 = Flexcan_Ip_pData_33(D)->is_rx_fifo_needed; if (_107 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 6245]: # DEBUG BEGIN_STMT _108 = Flexcan_Ip_pData_33(D)->num_id_filters; _109 = (long unsigned int) _108; eResult_110 = FlexCAN_EnableRxFifo (pBase_32, _109); # DEBUG eResult => eResult_110 # DEBUG BEGIN_STMT if (eResult_110 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 15802]: # eResult_117 = PHI <0(18), eResult_110(19)> # DEBUG eResult => NULL _111 = Flexcan_Ip_pData_33(D)->is_enhanced_rx_fifo_needed; if (_111 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 5215]: # DEBUG BEGIN_STMT _112 = Flexcan_Ip_pData_33(D)->num_enhanced_std_id_filters; _113 = Flexcan_Ip_pData_33(D)->num_enhanced_ext_id_filters; _114 = Flexcan_Ip_pData_33(D)->num_enhanced_watermark; eResult_115 = FlexCAN_EnableEnhancedRxFifo (pBase_32, _112, _113, _114); # DEBUG eResult => eResult_115 [local count: 18925]: # eResult_116 = PHI # DEBUG eResult => eResult_116 # DEBUG BEGIN_STMT _146 = eResult_116; # DEBUG pBase => NULL # DEBUG Flexcan_Ip_pData => NULL # DEBUG eResult => NULL eResult_87 = _146; # DEBUG eResult => eResult_87 # DEBUG BEGIN_STMT if (eResult_87 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 9462]: # DEBUG BEGIN_STMT FlexCAN_EnterFreezeMode (pBase_32); # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_32); goto ; [100.00%] [local count: 9462]: # DEBUG BEGIN_STMT _88 = &Flexcan_Ip_pData_33(D)->payload; FlexCAN_SetPayloadSize (pBase_32, _88); # DEBUG BEGIN_STMT _89 = Flexcan_Ip_pData_33(D)->max_num_mb; eResult_90 = FlexCAN_SetMaxMsgBuffNum (pBase_32, _89); # DEBUG eResult => eResult_90 # DEBUG BEGIN_STMT if (eResult_90 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3123]: # DEBUG BEGIN_STMT FlexCAN_EnterFreezeMode (pBase_32); # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_32); [local count: 53687]: # eResult_91 = PHI # DEBUG eResult => eResult_91 # DEBUG BEGIN_STMT _155 = eResult_91; # DEBUG pBase => NULL # DEBUG Flexcan_Ip_pData => NULL # DEBUG eResult => NULL eResult_35 = _155; # DEBUG eResult => eResult_35 # DEBUG BEGIN_STMT if (eResult_35 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17717]: # DEBUG BEGIN_STMT _4 = Flexcan_Ip_pData_33(D)->fd_enable; # DEBUG base => pBase_32 # DEBUG enableCBT => _4 # DEBUG INLINE_ENTRY FlexCAN_EnableExtCbt # DEBUG BEGIN_STMT _118 ={v} pBase_32->CBT; _119 = _118 & 2147483647; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: [local count: 17717]: # iftmp.4_120 = PHI <2147483648(27), 0(28)> _121 = _119 | iftmp.4_120; pBase_32->CBT ={v} _121; # DEBUG base => NULL # DEBUG enableCBT => NULL # DEBUG BEGIN_STMT _5 = Flexcan_Ip_pData_33(D)->enhCbtEnable; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT _6 ={v} pBase_32->CTRL2; _7 = _6 | 8192; pBase_32->CTRL2 ={v} _7; # DEBUG BEGIN_STMT _8 = &Flexcan_Ip_pData_33(D)->bitrate; FlexCAN_SetEnhancedNominalTimeSegments (pBase_32, _8); # DEBUG BEGIN_STMT _9 = Flexcan_Ip_pData_33(D)->fd_enable; if (_9 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2923]: # DEBUG BEGIN_STMT _10 = &Flexcan_Ip_pData_33(D)->bitrate_cbt; FlexCAN_SetEnhancedDataTimeSegments (pBase_32, _10); [local count: 8858]: # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 (); goto ; [100.00%] [local count: 8858]: # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 (); # DEBUG BEGIN_STMT _11 ={v} pBase_32->CTRL2; _12 = _11 & 4294959103; pBase_32->CTRL2 ={v} _12; # DEBUG BEGIN_STMT _13 = Flexcan_Ip_pData_33(D)->fd_enable; if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 4429]: # DEBUG BEGIN_STMT _14 = &Flexcan_Ip_pData_33(D)->bitrate; FlexCAN_SetExtendedTimeSegments (pBase_32, _14); # DEBUG BEGIN_STMT _15 = &Flexcan_Ip_pData_33(D)->bitrate_cbt; FlexCAN_SetFDTimeSegments (pBase_32, _15); goto ; [100.00%] [local count: 4429]: # DEBUG BEGIN_STMT _16 = &Flexcan_Ip_pData_33(D)->bitrate; FlexCAN_SetTimeSegments (pBase_32, _16); [local count: 8858]: # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 (); [local count: 17717]: # DEBUG BEGIN_STMT _17 = Flexcan_Ip_pData_33(D)->flexcanMode; FlexCAN_SetOperationMode (pBase_32, _17); # DEBUG BEGIN_STMT eResult_50 = FlexCAN_EnterFreezeMode (pBase_32); # DEBUG eResult => eResult_50 # DEBUG BEGIN_STMT if (eResult_50 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 851176]: # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->mbs[i_24].isPolling = 1; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->mbs[i_24].pMBmessage = 0B; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->mbs[i_24].state ={v} 0; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->mbs[i_24].time_stamp = 0; # DEBUG BEGIN_STMT i_67 = i_24 + 1; # DEBUG i => i_67 [local count: 860035]: # i_24 = PHI # DEBUG i => i_24 # DEBUG BEGIN_STMT if (i_24 != 96) goto ; [98.97%] else goto ; [1.03%] [local count: 8858]: # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->enhancedFifoOutput.isPolling = 1; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->enhancedFifoOutput.state ={v} 0; # DEBUG BEGIN_STMT _18 = Flexcan_Ip_pData_33(D)->transfer_type; Flexcan_Ip_pState_51(D)->transferType = _18; # DEBUG BEGIN_STMT _19 = Flexcan_Ip_pData_33(D)->Callback; Flexcan_Ip_pState_51(D)->callback = _19; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->callbackParam = 0B; # DEBUG BEGIN_STMT _20 = Flexcan_Ip_pData_33(D)->ErrorCallback; Flexcan_Ip_pState_51(D)->error_callback = _20; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->errorCallbackParam = 0B; # DEBUG BEGIN_STMT _21 = Flexcan_Ip_pData_33(D)->is_rx_fifo_needed; Flexcan_Ip_pState_51(D)->bIsLegacyFifoEn = _21; # DEBUG BEGIN_STMT _22 = Flexcan_Ip_pData_33(D)->max_num_mb; Flexcan_Ip_pState_51(D)->u32MaxMbNum = _22; # DEBUG BEGIN_STMT Flexcan_Ip_pState_51(D)->isIntActive = 1; # DEBUG BEGIN_STMT g_flexcan_Ip_StatePtr[_1] = Flexcan_Ip_pState_51(D); [local count: 53687]: # eResult_23 = PHI # DEBUG eResult => eResult_23 # DEBUG BEGIN_STMT return eResult_23; } ;; Function FlexCAN_Ip_Send (FlexCAN_Ip_Send, funcdef_no=68, decl_uid=4626, cgraph_uid=69, symbol_order=70) FlexCAN_Ip_Send (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data) { volatile boolean x; volatile boolean x; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; int _1; _Bool _2; _Bool _3; _Bool _4; long unsigned int _5; _Bool _6; long unsigned int _21; long unsigned int _22; _Bool x.0_23; _Bool x.0_24; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 1 # DEBUG BEGIN_STMT _1 = (int) instance_9(D); base_11 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_11 # DEBUG BEGIN_STMT state_12 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_12 # DEBUG BEGIN_STMT _2 = instance_9(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_24 ={v} x; if (x.0_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = tx_info_13(D) != 0B; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_23 ={v} x; if (x.0_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG base => base_11 # DEBUG INLINE_ENTRY FlexCAN_IsListenOnlyModeEnabled # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)base_11].CTRL1; _22 = _21 & 8; # DEBUG base => NULL if (_22 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17717]: # DEBUG BEGIN_STMT result_18 = FlexCAN_StartSendData (instance_9(D), mb_idx_14(D), tx_info_13(D), msg_id_15(D), mb_data_16(D)); # DEBUG result => result_18 # DEBUG BEGIN_STMT if (result_18 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 8858]: _4 = tx_info_13(D)->is_polling; if (_4 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 2923]: # DEBUG BEGIN_STMT _5 = (long unsigned int) mb_idx_14(D); _6 = state_12->isIntActive; result_20 = FlexCAN_SetMsgBuffIntCmd (base_11, instance_9(D), _5, 1, _6); # DEBUG result => result_20 [local count: 53687]: # result_7 = PHI <1(6), result_18(7), 0(8), result_20(9)> # DEBUG result => result_7 # DEBUG BEGIN_STMT return result_7; } ;; Function FlexCAN_Ip_ConfigRxMb (FlexCAN_Ip_ConfigRxMb, funcdef_no=69, decl_uid=4650, cgraph_uid=70, symbol_order=71) FlexCAN_Ip_ConfigRxMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * rx_info, uint32 msg_id) { volatile boolean x; volatile boolean x; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; struct Flexcan_Ip_MsbuffCodeStatusType cs; Flexcan_Ip_StatusType eResult; int _1; _Bool _2; _Bool _3; _Bool _4; long unsigned int _5; _Bool _6; long unsigned int _7; long unsigned int _8; _9; _Bool _10; _Bool x.0_32; _Bool x.0_33; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) instance_13(D); base_15 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_15 # DEBUG BEGIN_STMT state_16 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_16 # DEBUG BEGIN_STMT _2 = instance_13(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_33 ={v} x; if (x.0_33 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = rx_info_17(D) != 0B; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_32 ={v} x; if (x.0_32 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = state_16->bIsLegacyFifoEn; _5 = state_16->u32MaxMbNum; _6 = FlexCAN_IsMbOutOfRange (base_15, mb_idx_18(D), _4, _5); if (_6 != 0) goto ; [52.23%] else goto ; [47.77%] [local count: 25646]: # DEBUG BEGIN_STMT _7 = (long unsigned int) mb_idx_18(D); FlexCAN_ClearMsgBuffIntStatusFlag (base_15, _7); # DEBUG BEGIN_STMT _8 = rx_info_17(D)->data_length; cs.dataLen = _8; # DEBUG BEGIN_STMT _9 = rx_info_17(D)->msg_id_type; cs.msgIdType = _9; # DEBUG BEGIN_STMT _10 = rx_info_17(D)->fd_enable; cs.fd_enable = _10; # DEBUG BEGIN_STMT cs.code = 15; # DEBUG BEGIN_STMT FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D)); # DEBUG BEGIN_STMT cs.code = 0; # DEBUG BEGIN_STMT FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D)); # DEBUG BEGIN_STMT cs.code = 4; # DEBUG BEGIN_STMT FlexCAN_SetRxMsgBuff (base_15, _7, &cs, msg_id_25(D)); [local count: 53687]: # eResult_11 = PHI <4(6), 0(7)> # DEBUG eResult => eResult_11 # DEBUG BEGIN_STMT cs ={v} {CLOBBER}; return eResult_11; } ;; Function FlexCAN_Ip_Receive (FlexCAN_Ip_Receive, funcdef_no=70, decl_uid=4638, cgraph_uid=71, symbol_order=72) FlexCAN_Ip_Receive (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling) { volatile boolean x; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; int _1; _Bool _2; long unsigned int _3; _Bool _4; _Bool x.0_18; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) instance_7(D); base_9 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_9 # DEBUG BEGIN_STMT state_10 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_10 # DEBUG BEGIN_STMT _2 = instance_7(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_18 ={v} x; if (x.0_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT result_15 = FlexCAN_StartRxMessageBufferData (instance_7(D), mb_idx_11(D), data_12(D), isPolling_13(D)); # DEBUG result => result_15 # DEBUG BEGIN_STMT if (result_15 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (isPolling_13(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 17717]: # DEBUG BEGIN_STMT _3 = (long unsigned int) mb_idx_11(D); _4 = state_10->isIntActive; result_17 = FlexCAN_SetMsgBuffIntCmd (base_9, instance_7(D), _3, 1, _4); # DEBUG result => result_17 [local count: 107374]: # result_5 = PHI # DEBUG result => result_5 # DEBUG BEGIN_STMT return result_5; } ;; Function FlexCAN_Ip_ReceiveBlocking (FlexCAN_Ip_ReceiveBlocking, funcdef_no=71, decl_uid=4691, cgraph_uid=72, symbol_order=73) FlexCAN_Ip_ReceiveBlocking (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling, uint32 u32TimeoutMs) { volatile boolean x; struct FLEXCAN_Type * base; struct Flexcan_Ip_StateType * state; uint32 mS2Ticks; uint32 timeElapsed; uint32 timeStart; Flexcan_Ip_StatusType result; long unsigned int _1; _Bool _2; int _3; long unsigned int _4; _Bool _5; long unsigned int _6; long unsigned int _7; unsigned char _8; int _9; _10; long unsigned int _11; _Bool _12; int _13; _14; long unsigned int _45; _Bool x.0_50; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT timeStart = 0; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT _1 = u32TimeoutMs_27(D) * 1000; mS2Ticks_29 = OsIf_MicrosToTicks (_1, 0); # DEBUG mS2Ticks => mS2Ticks_29 # DEBUG BEGIN_STMT _2 = instance_30(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_50 ={v} x; if (x.0_50 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = (int) instance_30(D); state_31 = g_flexcan_Ip_StatePtr[_3]; # DEBUG state => state_31 # DEBUG BEGIN_STMT base_32 = g_Flexcan_Ip_aBase[_3]; # DEBUG base => base_32 # DEBUG BEGIN_STMT result_37 = FlexCAN_StartRxMessageBufferData (instance_30(D), mb_idx_33(D), data_34(D), isPolling_35(D)); # DEBUG result => result_37 # DEBUG BEGIN_STMT if (result_37 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (isPolling_35(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 17717]: # DEBUG BEGIN_STMT _4 = (long unsigned int) mb_idx_33(D); _5 = state_31->isIntActive; result_39 = FlexCAN_SetMsgBuffIntCmd (base_32, instance_30(D), _4, 1, _5); # DEBUG result => result_39 [local count: 107374]: # result_15 = PHI # DEBUG result => result_15 # DEBUG BEGIN_STMT if (result_15 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 35433]: # DEBUG BEGIN_STMT _6 = OsIf_GetCounter (0); timeStart = _6; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 313013]: # DEBUG BEGIN_STMT if (isPolling_35(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 103294]: # DEBUG BEGIN_STMT _7 = (long unsigned int) mb_idx_33(D); _8 = FlexCAN_GetBuffStatusFlag (base_32, _7); if (_8 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 34087]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxMB (instance_30(D), _7); [local count: 313013]: # DEBUG BEGIN_STMT _45 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_46 = timeElapsed_18 + _45; # DEBUG timeElapsed => timeElapsed_46 # DEBUG BEGIN_STMT if (mS2Ticks_29 <= timeElapsed_46) goto ; [5.50%] else goto ; [94.50%] [local count: 295797]: [local count: 331231]: # timeElapsed_18 = PHI <0(8), timeElapsed_46(23)> # DEBUG timeElapsed => timeElapsed_18 # DEBUG BEGIN_STMT _9 = (int) mb_idx_33(D); _10 ={v} state_31->mbs[_9].state; if (_10 == 1) goto ; [94.50%] else goto ; [5.50%] [local count: 107374]: # result_16 = PHI # DEBUG result => result_16 # DEBUG BEGIN_STMT if (result_16 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 36507]: if (isPolling_35(D) != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 12047]: # DEBUG BEGIN_STMT _11 = (long unsigned int) mb_idx_33(D); _12 = state_31->isIntActive; FlexCAN_SetMsgBuffIntCmd (base_32, instance_30(D), _11, 0, _12); [local count: 107374]: # DEBUG BEGIN_STMT if (result_16 != 4) goto ; [66.00%] else goto ; [34.00%] [local count: 70867]: if (result_16 != 2) goto ; [66.00%] else goto ; [34.00%] [local count: 46772]: # DEBUG BEGIN_STMT _13 = (int) mb_idx_33(D); _14 ={v} state_31->mbs[_13].state; if (_14 == 0) goto ; [65.00%] else goto ; [35.00%] [local count: 16370]: # DEBUG BEGIN_STMT state_31->mbs[_13].state ={v} 0; # DEBUG BEGIN_STMT # DEBUG result => 3 [local count: 107374]: # result_17 = PHI # DEBUG result => result_17 # DEBUG BEGIN_STMT timeStart ={v} {CLOBBER}; return result_17; } ;; Function FlexCAN_Ip_RxFifo (FlexCAN_Ip_RxFifo, funcdef_no=72, decl_uid=4641, cgraph_uid=73, symbol_order=74) FlexCAN_Ip_RxFifo (uint8 instance, struct Flexcan_Ip_MsgBuffType * data) { volatile boolean x; const struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; _Bool _1; int _2; _Bool _3; _Bool x.0_17; long unsigned int _18; signed int _19; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = instance_6(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_17 ={v} x; if (x.0_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) instance_6(D); base_8 = g_Flexcan_Ip_aBase[_2]; # DEBUG base => base_8 # DEBUG BEGIN_STMT _3 = FlexCAN_IsEnhancedRxFifoAvailable (base_8); if (_3 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG base => base_8 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _18 ={v} base_8->ERFCR; _19 = (signed int) _18; # DEBUG base => NULL if (_19 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 29496]: # DEBUG BEGIN_STMT result_16 = FlexCAN_StartRxMessageEnhancedFifoData (instance_6(D), data_10(D)); # DEBUG result => result_16 goto ; [100.00%] [local count: 42445]: # DEBUG BEGIN_STMT result_14 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D)); # DEBUG result => result_14 goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT result_12 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D)); # DEBUG result => result_12 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_RxFifoBlocking (FlexCAN_Ip_RxFifoBlocking, funcdef_no=73, decl_uid=4645, cgraph_uid=74, symbol_order=75) Symbols to be put in SSA form { D.6757 D.7330 D.7336 } Incremental SSA update started at block: 0 Number of blocks in CFG: 35 Number of blocks to update: 34 ( 97%) Merging blocks 3 and 14 Removing basic block 7 Removing basic block 13 Removing basic block 19 Removing basic block 24 Merging blocks 32 and 15 Merging blocks 34 and 33 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ;; ;; Loop 2 ;; header 15, latch 14 ;; depth 1, outer 0 ;; nodes: 15 14 8 13 9 12 10 11 ;; ;; Loop 3 ;; header 13, latch 12 ;; depth 2, outer 2 ;; nodes: 13 12 10 11 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 25 } ;; 5 succs { 6 23 } ;; 6 succs { 7 27 } ;; 7 succs { 15 } ;; 8 succs { 9 14 } ;; 9 succs { 13 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 13 } ;; 13 succs { 10 14 } ;; 14 succs { 16 15 } ;; 15 succs { 8 16 } ;; 16 succs { 17 19 } ;; 17 succs { 18 19 } ;; 18 succs { 19 } ;; 19 succs { 21 22 20 } ;; 20 succs { 22 } ;; 21 succs { 22 } ;; 22 succs { 27 } ;; 23 succs { 24 27 } ;; 24 succs { 27 } ;; 25 succs { 26 27 } ;; 26 succs { 27 } ;; 27 succs { 1 } FlexCAN_Ip_RxFifoBlocking (uint8 instance, struct Flexcan_Ip_MsgBuffType * data, uint32 timeout) { uint8 D.7336; Flexcan_Ip_StatusType eResult; struct Flexcan_Ip_StateType * pState; struct FLEXCAN_Type * pBase; uint32 timeStart; uint32 timeElapsed; uint32 mS2Ticks; uint32 u32intType; Flexcan_Ip_StatusType D.7330; volatile boolean x; const struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; int _1; _Bool _2; _Bool _3; _Bool x.0_24; long unsigned int _25; signed int _26; int _28; long unsigned int _31; long unsigned int _33; _34; unsigned char _36; long unsigned int _38; _41; _43; long unsigned int _44; long unsigned int _45; _46; long unsigned int _48; long unsigned int _49; int _50; int _51; long unsigned int _52; long unsigned int _53; long unsigned int _54; unsigned char _55; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = (int) instance_6(D); base_8 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_8 # DEBUG BEGIN_STMT _2 = instance_6(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_24 ={v} x; if (x.0_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = FlexCAN_IsEnhancedRxFifoAvailable (base_8); if (_3 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 71941]: # DEBUG BEGIN_STMT # DEBUG base => base_8 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _25 ={v} base_8->ERFCR; _26 = (signed int) _25; # DEBUG base => NULL if (_26 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 29496]: # DEBUG BEGIN_STMT result_21 = FlexCAN_StartRxMessageEnhancedFifoData (instance_6(D), data_10(D)); # DEBUG result => result_21 # DEBUG BEGIN_STMT if (result_21 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 9734]: # DEBUG BEGIN_STMT # DEBUG u8Instance => instance_6(D) # DEBUG u32TimeoutMs => timeout_13(D) # DEBUG INLINE_ENTRY FlexCAN_ProccessEnhancedRxFifo # DEBUG BEGIN_STMT # DEBUG eResult => 0 # DEBUG BEGIN_STMT _28 = (int) instance_6(D); pState_29 = g_flexcan_Ip_StatePtr[_28]; # DEBUG pState => pState_29 # DEBUG BEGIN_STMT pBase_30 = g_Flexcan_Ip_aBase[_28]; # DEBUG pBase => pBase_30 # DEBUG BEGIN_STMT timeStart = 0; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT _31 = timeout_13(D) * 1000; mS2Ticks_32 = OsIf_MicrosToTicks (_31, 0); # DEBUG mS2Ticks => mS2Ticks_32 # DEBUG BEGIN_STMT # DEBUG u32intType => 0 # DEBUG BEGIN_STMT _33 = OsIf_GetCounter (0); timeStart = _33; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 85985]: # DEBUG BEGIN_STMT _34 = pState_29->transferType; if (_34 == 1) goto ; [16.00%] else goto ; [84.00%] [local count: 13758]: goto ; [100.00%] [local count: 55030]: # DEBUG BEGIN_STMT # DEBUG base => pBase_30 # DEBUG intFlag => u32intType_35 # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag # DEBUG BEGIN_STMT _48 ={v} MEM[(const struct FLEXCAN_Type *)pBase_30].ERFSR; _49 = u32intType_35; _50 = (int) _49; _51 = _50 & 31; _52 = 1 << _51; _53 = _48 & _52; _54 = _53 >> _51; _55 = (unsigned char) _54; _67 = _55; # DEBUG base => NULL # DEBUG intFlag => NULL _36 = _67; if (_36 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 18160]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerEnhancedRxFIFO (instance_6(D), u32intType_35); [local count: 55030]: # DEBUG BEGIN_STMT u32intType_37 = u32intType_35 + 4294967295; # DEBUG u32intType => u32intType_37 [local count: 68788]: # u32intType_35 = PHI <31(9), u32intType_37(12)> # DEBUG u32intType => u32intType_35 # DEBUG BEGIN_STMT if (u32intType_35 > 27) goto ; [80.00%] else goto ; [20.00%] [local count: 85985]: # DEBUG BEGIN_STMT _38 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_40 = _38 + timeElapsed_39; # DEBUG timeElapsed => timeElapsed_40 # DEBUG BEGIN_STMT if (mS2Ticks_32 <= timeElapsed_40) goto ; [5.50%] else goto ; [94.50%] [local count: 90989]: # timeElapsed_39 = PHI <0(7), timeElapsed_40(14)> # DEBUG timeElapsed => timeElapsed_39 # DEBUG BEGIN_STMT _41 ={v} pState_29->enhancedFifoOutput.state; if (_41 == 1) goto ; [94.50%] else goto ; [5.50%] [local count: 9734]: # eResult_42 = PHI <3(14), 0(15)> # DEBUG eResult => eResult_42 # DEBUG BEGIN_STMT if (eResult_42 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 3309]: _43 = pState_29->transferType; if (_43 != 1) goto ; [66.00%] else goto ; [34.00%] [local count: 2184]: # DEBUG BEGIN_STMT # DEBUG base => pBase_30 # DEBUG enable => 0 # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _44 ={v} pBase_30->ERFIER; _45 = _44 & 268435455; pBase_30->ERFIER ={v} _45; [local count: 9734]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT _46 ={v} pState_29->enhancedFifoOutput.state; switch (_46) [33.33%], case 0: [33.33%], case 1: [33.33%]> [local count: 3244]: : # DEBUG BEGIN_STMT pState_29->enhancedFifoOutput.state ={v} 0; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 3244]: : # DEBUG BEGIN_STMT # DEBUG eResult => 1 # DEBUG BEGIN_STMT [local count: 9733]: # eResult_47 = PHI <0(19), eResult_42(20), 1(21)> : # DEBUG eResult => eResult_47 # DEBUG BEGIN_STMT timeStart ={v} {CLOBBER}; _73 = eResult_47; # DEBUG u8Instance => NULL # DEBUG u32TimeoutMs => NULL # DEBUG u32intType => NULL # DEBUG mS2Ticks => NULL # DEBUG timeElapsed => NULL # DEBUG timeStart => NULL # DEBUG pBase => NULL # DEBUG pState => NULL # DEBUG eResult => NULL result_23 = _73; # DEBUG result => result_23 goto ; [100.00%] [local count: 42445]: # DEBUG BEGIN_STMT result_17 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D)); # DEBUG result => result_17 # DEBUG BEGIN_STMT if (result_17 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 14007]: # DEBUG BEGIN_STMT result_19 = FlexCAN_ProccessLegacyRxFIFO (instance_6(D), timeout_13(D)); # DEBUG result => result_19 goto ; [100.00%] [local count: 35433]: # DEBUG BEGIN_STMT result_12 = FlexCAN_StartRxMessageFifoData (instance_6(D), data_10(D)); # DEBUG result => result_12 # DEBUG BEGIN_STMT if (result_12 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 11693]: # DEBUG BEGIN_STMT result_15 = FlexCAN_ProccessLegacyRxFIFO (instance_6(D), timeout_13(D)); # DEBUG result => result_15 [local count: 107373]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_ConfigRxFifo_Privileged (FlexCAN_Ip_ConfigRxFifo_Privileged, funcdef_no=74, decl_uid=4538, cgraph_uid=75, symbol_order=76) FlexCAN_Ip_ConfigRxFifo_Privileged (uint8 instance, Flexcan_Ip_RxFifoIdElementFormatType id_format, const struct Flexcan_Ip_IdTableType * id_filter_table) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _19; signed int _20; _Bool x.0_21; long unsigned int _22; long unsigned int _23; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_21 ={v} x; if (x.0_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _19 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _20 = (signed int) _19; # DEBUG pBase => NULL # DEBUG disabled => _20 < 0 # DEBUG BEGIN_STMT if (_20 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _23 = _22 & 16777216; # DEBUG base => NULL # DEBUG freeze => _23 != 0 # DEBUG BEGIN_STMT if (_23 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 26575]: # DEBUG BEGIN_STMT FlexCAN_SetRxFifoFilter (pBase_11, id_format_14(D), id_filter_table_15(D)); [local count: 107374]: # result_10 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_20 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_18 = FlexCAN_Disable (pBase_11); # DEBUG status => status_18 # DEBUG BEGIN_STMT if (status_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_18 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged (FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged, funcdef_no=75, decl_uid=4541, cgraph_uid=76, symbol_order=77) FlexCAN_Ip_ConfigEnhancedRxFifo_Privileged (uint8 instance, const struct Flexcan_Ip_EnhancedIdTableType * id_filter_table) { volatile boolean x; volatile boolean x; volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; int _1; _Bool _2; _Bool _3; _Bool _4; _Bool x.0_21; _Bool x.0_22; _Bool x.0_23; long unsigned int _24; signed int _25; long unsigned int _26; long unsigned int _27; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _1 = (int) instance_11(D); pBase_13 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_13 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_13 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _24 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR; _25 = (signed int) _24; # DEBUG pBase => NULL # DEBUG disabled => _25 < 0 # DEBUG BEGIN_STMT _2 = instance_11(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_23 ={v} x; if (x.0_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_13); x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_22 ={v} x; if (x.0_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = id_filter_table_15(D) != 0B; x ={v} _4; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_21 ={v} x; if (x.0_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: [local count: 268435456]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 268435456]: goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (_25 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 6845]: # DEBUG BEGIN_STMT result_17 = FlexCAN_Enable (pBase_13); # DEBUG result => result_17 [local count: 26844]: # result_5 = PHI <0(8), result_17(9)> # DEBUG result => result_5 # DEBUG BEGIN_STMT # DEBUG base => pBase_13 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR; _27 = _26 & 16777216; # DEBUG base => NULL # DEBUG freeze => _27 != 0 # DEBUG BEGIN_STMT if (_27 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13422]: if (result_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 20133]: # DEBUG result => result_5 # DEBUG BEGIN_STMT if (result_5 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 6644]: # DEBUG BEGIN_STMT FlexCAN_SetEnhancedRxFifoFilter (pBase_13, id_filter_table_15(D)); [local count: 26843]: # result_10 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_25 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 6845]: # DEBUG BEGIN_STMT status_20 = FlexCAN_Disable (pBase_13); # DEBUG status => status_20 # DEBUG BEGIN_STMT if (status_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3423]: # DEBUG BEGIN_STMT # DEBUG result => status_20 [local count: 26843]: # result_6 = PHI # DEBUG result => result_6 # DEBUG BEGIN_STMT return result_6; } ;; Function FlexCAN_Ip_ConfigRemoteResponseMb (FlexCAN_Ip_ConfigRemoteResponseMb, funcdef_no=76, decl_uid=4697, cgraph_uid=77, symbol_order=78) FlexCAN_Ip_ConfigRemoteResponseMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data) { volatile boolean x; volatile boolean x; const struct Flexcan_Ip_StateType * const state; struct FLEXCAN_Type * pBase; struct Flexcan_Ip_MsbuffCodeStatusType cs; Flexcan_Ip_StatusType result; int _1; _Bool _2; _Bool _3; _Bool _4; long unsigned int _5; _Bool _6; long unsigned int _7; _8; long unsigned int _9; _Bool _10; _Bool _11; _Bool _12; _Bool x.0_33; _Bool x.0_34; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) instance_15(D); pBase_17 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_17 # DEBUG BEGIN_STMT state_18 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_18 # DEBUG BEGIN_STMT _2 = instance_15(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_34 ={v} x; if (x.0_34 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = tx_info_19(D) != 0B; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_33 ={v} x; if (x.0_33 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = state_18->bIsLegacyFifoEn; _5 = state_18->u32MaxMbNum; _6 = FlexCAN_IsMbOutOfRange (pBase_17, mb_idx_20(D), _4, _5); if (_6 != 0) goto ; [52.23%] else goto ; [47.77%] [local count: 25646]: # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = tx_info_19(D)->data_length; cs.dataLen = _7; # DEBUG BEGIN_STMT _8 = tx_info_19(D)->msg_id_type; cs.msgIdType = _8; # DEBUG BEGIN_STMT cs.code = 10; # DEBUG BEGIN_STMT cs.fd_enable = 0; # DEBUG BEGIN_STMT _9 = (long unsigned int) mb_idx_20(D); FlexCAN_ClearMsgBuffIntStatusFlag (pBase_17, _9); # DEBUG BEGIN_STMT _10 = tx_info_19(D)->is_remote; FlexCAN_SetTxMsgBuff (pBase_17, _9, &cs, msg_id_27(D), mb_data_28(D), _10); # DEBUG BEGIN_STMT _11 = tx_info_19(D)->is_polling; if (_11 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 8463]: # DEBUG BEGIN_STMT _12 = state_18->isIntActive; result_31 = FlexCAN_SetMsgBuffIntCmd (pBase_17, instance_15(D), _9, 1, _12); # DEBUG result => result_31 [local count: 53687]: # result_13 = PHI <4(6), 0(7), result_31(8)> # DEBUG result => result_13 # DEBUG BEGIN_STMT cs ={v} {CLOBBER}; return result_13; } ;; Function FlexCAN_Ip_GetTransferStatus (FlexCAN_Ip_GetTransferStatus, funcdef_no=77, decl_uid=4659, cgraph_uid=78, symbol_order=79) FlexCAN_Ip_GetTransferStatus (uint8 instance, uint8 mb_idx) { volatile boolean x; volatile boolean x; Flexcan_Ip_StatusType status; const struct Flexcan_Ip_StateType * state; int _1; _Bool _2; unsigned char _3; _Bool _4; int _5; _6; _7; _Bool x.0_13; _Bool x.0_14; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_9(D); state_11 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_11 # DEBUG BEGIN_STMT # DEBUG status => 1 # DEBUG BEGIN_STMT _2 = instance_9(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_14 ={v} x; if (x.0_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = mb_idx_12(D) + 160; _4 = _3 > 158; x ={v} _4; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_13 ={v} x; if (x.0_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (mb_idx_12(D) <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: # DEBUG BEGIN_STMT _5 = (int) mb_idx_12(D); _6 ={v} state_11->mbs[_5].state; if (_6 == 0) goto ; [65.00%] else goto ; [35.00%] [local count: 9395]: # DEBUG BEGIN_STMT # DEBUG status => 2 goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT _7 ={v} state_11->enhancedFifoOutput.state; if (_7 == 0) goto ; [65.00%] else goto ; [35.00%] [local count: 9395]: # DEBUG BEGIN_STMT # DEBUG status => 2 [local count: 53687]: # status_8 = PHI <2(8), 0(9), 2(10), 0(7)> # DEBUG status => status_8 # DEBUG BEGIN_STMT return status_8; } ;; Function FlexCAN_IRQHandler (FlexCAN_IRQHandler, funcdef_no=79, decl_uid=4706, cgraph_uid=80, symbol_order=81) Symbols to be put in SSA form { D.6762 D.7370 D.7373 D.7376 D.7387 } Incremental SSA update started at block: 0 Number of blocks in CFG: 88 Number of blocks to update: 87 ( 99%) Merging blocks 3 and 37 Merging blocks 5 and 36 Removing basic block 18 Removing basic block 25 Removing basic block 27 Removing basic block 33 Removing basic block 34 Removing basic block 35 Removing basic block 38 Removing basic block 54 Removing basic block 55 Merging blocks 62 and 52 Merging blocks 64 and 63 Merging blocks 66 and 65 Removing basic block 67 Removing basic block 70 Removing basic block 79 Merging blocks 87 and 80 ;; 7 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ;; ;; Loop 6 ;; header 64, latch 63 ;; depth 1, outer 0 ;; nodes: 64 63 49 56 60 61 62 57 58 59 51 53 54 55 52 50 ;; ;; Loop 5 ;; header 45, latch 44 ;; depth 1, outer 0 ;; nodes: 45 44 38 40 41 42 43 39 ;; ;; Loop 2 ;; header 9, latch 8 ;; depth 1, outer 0 ;; nodes: 9 8 10 ;; ;; Loop 1 ;; header 66, latch 65 ;; depth 1, outer 0 ;; nodes: 66 65 ;; ;; Loop 3 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 4 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 66 } ;; 7 succs { 9 } ;; 8 succs { 9 } ;; 9 succs { 10 11 } ;; 10 succs { 8 11 } ;; 11 succs { 12 34 } ;; 12 succs { 13 15 } ;; 13 succs { 14 15 } ;; 14 succs { 17 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 18 31 } ;; 18 succs { 19 21 } ;; 19 succs { 20 22 } ;; 20 succs { 22 } ;; 21 succs { 22 } ;; 22 succs { 23 24 } ;; 23 succs { 24 } ;; 24 succs { 25 27 } ;; 25 succs { 26 27 } ;; 26 succs { 30 } ;; 27 succs { 28 30 } ;; 28 succs { 29 30 } ;; 29 succs { 30 } ;; 30 succs { 31 } ;; 31 succs { 32 34 } ;; 32 succs { 33 34 } ;; 33 succs { 34 } ;; 34 succs { 35 47 } ;; 35 succs { 36 47 } ;; 36 succs { 37 47 } ;; 37 succs { 45 } ;; 38 succs { 39 44 } ;; 39 succs { 40 41 } ;; 40 succs { 44 } ;; 41 succs { 42 44 } ;; 42 succs { 43 44 } ;; 43 succs { 44 } ;; 44 succs { 45 } ;; 45 succs { 38 46 } ;; 46 succs { 47 } ;; 47 succs { 48 69 } ;; 48 succs { 64 } ;; 49 succs { 50 63 } ;; 50 succs { 51 52 } ;; 51 succs { 56 } ;; 52 succs { 53 54 } ;; 53 succs { 56 } ;; 54 succs { 55 56 } ;; 55 succs { 56 } ;; 56 succs { 57 63 } ;; 57 succs { 58 60 } ;; 58 succs { 59 60 } ;; 59 succs { 60 } ;; 60 succs { 61 63 } ;; 61 succs { 62 63 } ;; 62 succs { 63 } ;; 63 succs { 64 } ;; 64 succs { 49 69 } ;; 65 succs { 66 } ;; 66 succs { 65 67 } ;; 67 succs { 68 69 } ;; 68 succs { 69 } ;; 69 succs { 1 } FlexCAN_IRQHandler (uint8 instance, uint32 startMbIdx, uint32 endMbIdx, boolean bEnhancedFifoExisted) { uint32 u32Imask; uint8 D.7387; struct FLEXCAN_Type * base; struct Flexcan_Ip_StateType * state; uint32 mb_idx; uint32 u32MbHandle; uint8 D.7376; uint8 D.7373; struct FLEXCAN_Type * base; const struct Flexcan_Ip_StateType * state; uint32 u32intType; boolean bIsSpuriousInt; boolean D.7370; struct FLEXCAN_Type * pBase; struct Flexcan_Ip_StateType * pState; struct Flexcan_Ip_MsgBuffType mb; boolean bCurrentIntStat; volatile boolean x; volatile boolean x; uint32 mb_idx; boolean bIsSpuriousInt; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; uint32 flag_reg; uint32 u32MbHandle; int _1; _Bool _3; _Bool _4; unsigned char _5; unsigned char _6; _Bool _7; _8; _9; unsigned char _10; _11; _12; _Bool x.0_49; _Bool x.0_50; long unsigned int _51; signed int _52; int _59; _Bool _62; long unsigned int vol.5_63; long unsigned int _64; long unsigned int _65; long unsigned int _66; long unsigned int _67; long unsigned int _68; long unsigned int vol.5_69; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _71; _72; _Bool _73; _Bool _74; _Bool _75; _Bool _76; int _77; unsigned char _81; unsigned char _82; _Bool _84; long unsigned int _85; long unsigned int _89; long unsigned int _90; int _91; int _92; long unsigned int _93; long unsigned int _94; long unsigned int _95; unsigned char _96; long unsigned int _97; long unsigned int _98; int _99; int _100; long unsigned int _101; long unsigned int _102; long unsigned int _103; unsigned char _104; int _105; unsigned char _109; unsigned char _110; _Bool _111; _Bool _113; _114; long unsigned int _116; long unsigned int _117; long unsigned int _118; long unsigned int _119; long unsigned int _121; long unsigned int _122; long unsigned int _123; long unsigned int _124; long unsigned int _126; long unsigned int _127; long unsigned int _128; long unsigned int _129; unsigned char _132; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG u32MbHandle => 0 # DEBUG BEGIN_STMT # DEBUG flag_reg => 0 # DEBUG BEGIN_STMT _1 = (int) instance_26(D); base_28 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_28 # DEBUG BEGIN_STMT state_29 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_29 # DEBUG BEGIN_STMT # DEBUG bIsSpuriousInt => 1 # DEBUG BEGIN_STMT # DEBUG mb_idx => endMbIdx_30(D) # DEBUG BEGIN_STMT _3 = instance_26(D) <= 5; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_50 ={v} x; if (x.0_50 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = endMbIdx_30(D) <= 95; x ={v} _4; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_49 ={v} x; if (x.0_49 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (state_29 != 0B) goto ; [53.47%] else goto ; [46.53%] [local count: 28706]: # DEBUG BEGIN_STMT _5 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, endMbIdx_30(D)); flag_reg_36 = (uint32) _5; # DEBUG flag_reg => flag_reg_36 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 239641]: # DEBUG BEGIN_STMT mb_idx_37 = mb_idx_17 + 4294967295; # DEBUG mb_idx => mb_idx_37 # DEBUG BEGIN_STMT _6 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, mb_idx_37); flag_reg_39 = (uint32) _6; # DEBUG flag_reg => flag_reg_39 [local count: 268347]: # flag_reg_14 = PHI # mb_idx_17 = PHI # DEBUG mb_idx => mb_idx_17 # DEBUG flag_reg => flag_reg_14 # DEBUG BEGIN_STMT if (flag_reg_14 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 253588]: if (mb_idx_17 > startMbIdx_31(D)) goto ; [94.50%] else goto ; [5.50%] [local count: 28706]: # flag_reg_2 = PHI # mb_idx_40 = PHI # DEBUG BEGIN_STMT if (flag_reg_2 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 14353]: # DEBUG BEGIN_STMT # DEBUG bIsSpuriousInt => 0 # DEBUG BEGIN_STMT # DEBUG u32MbHandle => mb_idx_40 # DEBUG BEGIN_STMT _7 = state_29->bIsLegacyFifoEn; if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 7177]: if (mb_idx_40 <= 7) goto ; [33.00%] else goto ; [67.00%] [local count: 2368]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxFIFO (instance_26(D), mb_idx_40); # DEBUG BEGIN_STMT # DEBUG u32MbHandle => 0 goto ; [100.00%] [local count: 11985]: # DEBUG BEGIN_STMT _8 ={v} state_29->mbs[mb_idx_40].state; if (_8 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 2426]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxMB (instance_26(D), mb_idx_40); [local count: 14353]: # u32MbHandle_13 = PHI <0(14), mb_idx_40(15), mb_idx_40(16)> # DEBUG u32MbHandle => u32MbHandle_13 # DEBUG BEGIN_STMT _9 ={v} state_29->mbs[u32MbHandle_13].state; if (_9 == 2) goto ; [20.24%] else goto ; [79.76%] [local count: 2905]: # DEBUG BEGIN_STMT # DEBUG u8Instance => instance_26(D) # DEBUG u32MbIdx => mb_idx_40 # DEBUG INLINE_ENTRY FlexCAN_IRQHandlerTxMB # DEBUG BEGIN_STMT _59 = (int) instance_26(D); pBase_60 = g_Flexcan_Ip_aBase[_59]; # DEBUG pBase => pBase_60 # DEBUG BEGIN_STMT pState_61 = g_flexcan_Ip_StatePtr[_59]; # DEBUG pState => pState_61 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG bCurrentIntStat => 0 # DEBUG BEGIN_STMT _62 = pState_61->mbs[mb_idx_40].isRemote; if (_62 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1453]: # DEBUG BEGIN_STMT FlexCAN_LockRxMsgBuff (pBase_60, mb_idx_40); # DEBUG BEGIN_STMT FlexCAN_GetMsgBuff (pBase_60, mb_idx_40, &mb); # DEBUG BEGIN_STMT # DEBUG base => pBase_60 # DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff # DEBUG BEGIN_STMT vol.5_63 ={v} MEM[(const struct FLEXCAN_Type *)pBase_60].TIMER; # DEBUG base => NULL # DEBUG BEGIN_STMT _64 = mb.time_stamp; pState_61->mbs[mb_idx_40].time_stamp = _64; # DEBUG BEGIN_STMT _65 = mb.cs; _66 = _65 >> 24; _67 = _66 & 15; if (_67 == 4) goto ; [20.24%] else goto ; [79.76%] [local count: 294]: # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (pBase_60, mb_idx_40); goto ; [100.00%] [local count: 1453]: # DEBUG BEGIN_STMT _68 = FlexCAN_GetMsgBuffTimestamp (pBase_60, mb_idx_40); pState_61->mbs[mb_idx_40].time_stamp = _68; # DEBUG BEGIN_STMT # DEBUG base => pBase_60 # DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff # DEBUG BEGIN_STMT vol.5_69 ={v} MEM[(const struct FLEXCAN_Type *)pBase_60].TIMER; # DEBUG base => NULL # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (pBase_60, mb_idx_40); [local count: 2905]: # DEBUG BEGIN_STMT pState_61->mbs[mb_idx_40].state ={v} 0; # DEBUG BEGIN_STMT bCurrentIntStat_70 = pState_61->mbs[mb_idx_40].isPolling; # DEBUG bCurrentIntStat => bCurrentIntStat_70 # DEBUG BEGIN_STMT _71 = pState_61->callback; if (_71 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 2034]: # DEBUG BEGIN_STMT _71 (instance_26(D), 4, mb_idx_40, pState_61); [local count: 2905]: # DEBUG BEGIN_STMT _72 ={v} pState_61->mbs[mb_idx_40].state; if (_72 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1453]: _73 = pState_61->mbs[mb_idx_40].isPolling; if (_73 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 479]: # DEBUG BEGIN_STMT pState_61->mbs[mb_idx_40].isPolling = 1; # DEBUG BEGIN_STMT _74 = pState_61->isIntActive; FlexCAN_SetMsgBuffIntCmd (pBase_60, instance_26(D), mb_idx_40, 0, _74); goto ; [100.00%] [local count: 2426]: # DEBUG BEGIN_STMT if (bCurrentIntStat_70 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1213]: _75 = pState_61->mbs[mb_idx_40].isPolling; if (_75 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 400]: # DEBUG BEGIN_STMT _76 = pState_61->isIntActive; FlexCAN_SetMsgBuffIntCmd (pBase_60, instance_26(D), mb_idx_40, 0, _76); [local count: 2905]: # DEBUG BEGIN_STMT mb ={v} {CLOBBER}; [local count: 14353]: # DEBUG u8Instance => NULL # DEBUG u32MbIdx => NULL # DEBUG bCurrentIntStat => NULL # DEBUG pState => NULL # DEBUG pBase => NULL # DEBUG BEGIN_STMT _10 = FlexCAN_GetMsgBuffIntStatusFlag (base_28, mb_idx_40); if (_10 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 7177]: # DEBUG BEGIN_STMT _11 ={v} state_29->mbs[u32MbHandle_13].state; if (_11 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2368]: # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_28, mb_idx_40); [local count: 28706]: # bIsSpuriousInt_15 = PHI <1(11), 0(31), 0(32), 0(33)> # DEBUG bIsSpuriousInt => bIsSpuriousInt_15 # DEBUG BEGIN_STMT if (bEnhancedFifoExisted_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 14353]: # DEBUG BEGIN_STMT # DEBUG base => base_28 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _51 ={v} MEM[(const struct FLEXCAN_Type *)base_28].ERFCR; _52 = (signed int) _51; # DEBUG base => NULL if (_52 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 5885]: _12 = state_29->transferType; if (_12 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 1942]: # DEBUG BEGIN_STMT # DEBUG u8Instance => instance_26(D) # DEBUG bIsSpuriousIntPrevious => bIsSpuriousInt_15 # DEBUG INLINE_ENTRY FlexCAN_ProcessIRQHandlerEnhancedRxFIFO # DEBUG BEGIN_STMT _77 = (int) instance_26(D); base_78 = g_Flexcan_Ip_aBase[_77]; # DEBUG base => base_78 # DEBUG BEGIN_STMT state_79 = g_flexcan_Ip_StatePtr[_77]; # DEBUG state => state_79 # DEBUG BEGIN_STMT # DEBUG u32intType => 0 # DEBUG BEGIN_STMT # DEBUG bIsSpuriousInt => bIsSpuriousInt_15 # DEBUG BEGIN_STMT # DEBUG u32intType => 31 goto ; [100.00%] [local count: 7768]: # DEBUG BEGIN_STMT # DEBUG base => base_78 # DEBUG intFlag => u32intType_80 # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag # DEBUG BEGIN_STMT _89 ={v} MEM[(const struct FLEXCAN_Type *)base_78].ERFSR; _90 = u32intType_80; _91 = (int) _90; _92 = _91 & 31; _93 = 1 << _92; _94 = _89 & _93; _95 = _94 >> _92; _96 = (unsigned char) _95; _154 = _96; # DEBUG base => NULL # DEBUG intFlag => NULL _81 = _154; if (_81 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2563]: # DEBUG BEGIN_STMT # DEBUG base => base_78 # DEBUG intFlag => u32intType_80 # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOIntStatusFlag # DEBUG BEGIN_STMT _97 ={v} MEM[(const struct FLEXCAN_Type *)base_78].ERFIER; _98 = u32intType_80; _99 = (int) _98; _100 = _99 & 31; _101 = 1 << _100; _102 = _97 & _101; _103 = _102 >> _100; _104 = (unsigned char) _103; _155 = _104; # DEBUG base => NULL # DEBUG intFlag => NULL _82 = _155; if (_82 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 846]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerEnhancedRxFIFO (instance_26(D), u32intType_80); # DEBUG BEGIN_STMT # DEBUG bIsSpuriousInt => 0 goto ; [100.00%] [local count: 1717]: # DEBUG BEGIN_STMT if (bIsSpuriousInt_83 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 859]: _84 = state_79->enhancedFifoOutput.isPolling; if (_84 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 429]: # DEBUG BEGIN_STMT # DEBUG base => base_78 # DEBUG intFlag => u32intType_80 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT _85 = 1 << u32intType_80; base_78->ERFSR ={v} _85; [local count: 7768]: # bIsSpuriousInt_88 = PHI # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG bIsSpuriousInt => bIsSpuriousInt_88 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT u32intType_86 = u32intType_80 + 4294967295; # DEBUG u32intType => u32intType_86 [local count: 9710]: # u32intType_80 = PHI <31(37), u32intType_86(44)> # bIsSpuriousInt_83 = PHI # DEBUG bIsSpuriousInt => bIsSpuriousInt_83 # DEBUG u32intType => u32intType_80 # DEBUG BEGIN_STMT if (u32intType_80 > 27) goto ; [80.00%] else goto ; [20.00%] [local count: 1942]: # bIsSpuriousInt_87 = PHI # DEBUG BEGIN_STMT _153 = bIsSpuriousInt_87; # DEBUG u8Instance => NULL # DEBUG bIsSpuriousIntPrevious => NULL # DEBUG bIsSpuriousInt => NULL # DEBUG u32intType => NULL # DEBUG state => NULL # DEBUG base => NULL bIsSpuriousInt_47 = _153; # DEBUG bIsSpuriousInt => bIsSpuriousInt_47 [local count: 28706]: # bIsSpuriousInt_16 = PHI # DEBUG bIsSpuriousInt => bIsSpuriousInt_16 # DEBUG BEGIN_STMT if (bIsSpuriousInt_16 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 9473]: # DEBUG BEGIN_STMT # DEBUG instance => instance_26(D) # DEBUG startMbIdx => startMbIdx_31(D) # DEBUG endMbIdx => endMbIdx_30(D) # DEBUG INLINE_ENTRY FlexCAN_ProcessSpuriousInterruptMB # DEBUG BEGIN_STMT _105 = (int) instance_26(D); base_106 = g_Flexcan_Ip_aBase[_105]; # DEBUG base => base_106 # DEBUG BEGIN_STMT state_107 = g_flexcan_Ip_StatePtr[_105]; # DEBUG state => state_107 # DEBUG BEGIN_STMT # DEBUG mb_idx => 0 # DEBUG BEGIN_STMT # DEBUG u32MbHandle => 0 # DEBUG BEGIN_STMT # DEBUG mb_idx => startMbIdx_31(D) goto ; [100.00%] [local count: 76646]: # DEBUG BEGIN_STMT _109 = FlexCAN_GetBuffStatusFlag (base_106, mb_idx_108); if (_109 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 25293]: # DEBUG base => base_106 # DEBUG msgBuffIdx => mb_idx_108 # DEBUG INLINE_ENTRY FlexCAN_GetBuffStatusImask # DEBUG BEGIN_STMT # DEBUG u32Imask => 0 # DEBUG BEGIN_STMT if (mb_idx_108 <= 31) goto ; [50.00%] else goto ; [50.00%] [local count: 12647]: # DEBUG BEGIN_STMT _116 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK1; _117 = mb_idx_108; _118 = 1 << _117; _119 = _116 & _118; u32Imask_120 = _119 >> _117; # DEBUG u32Imask => u32Imask_120 goto ; [100.00%] [local count: 12647]: # DEBUG BEGIN_STMT if (mb_idx_108 <= 63) goto ; [50.00%] else goto ; [50.00%] [local count: 6323]: # DEBUG BEGIN_STMT _121 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK2; _122 = mb_idx_108 & 31; _123 = 1 << _122; _124 = _121 & _123; u32Imask_125 = _124 >> _122; # DEBUG u32Imask => u32Imask_125 goto ; [100.00%] [local count: 6323]: # DEBUG BEGIN_STMT if (mb_idx_108 <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 3162]: # DEBUG BEGIN_STMT _126 ={v} MEM[(const struct FLEXCAN_Type *)base_106].IMASK3; _127 = mb_idx_108 & 31; _128 = 1 << _127; _129 = _126 & _128; u32Imask_130 = _129 >> _127; # DEBUG u32Imask => u32Imask_130 [local count: 25293]: # u32Imask_131 = PHI # DEBUG u32Imask => u32Imask_131 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _132 = (unsigned char) u32Imask_131; _159 = _132; # DEBUG base => NULL # DEBUG msgBuffIdx => NULL # DEBUG u32Imask => NULL _110 = _159; if (_110 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 12647]: # DEBUG BEGIN_STMT # DEBUG u32MbHandle => mb_idx_108 # DEBUG BEGIN_STMT _111 = state_107->bIsLegacyFifoEn; if (_111 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6323]: if (mb_idx_108 <= 7) goto ; [50.00%] else goto ; [50.00%] [local count: 3162]: # DEBUG BEGIN_STMT # DEBUG u32MbHandle => 0 [local count: 12647]: # u32MbHandle_112 = PHI # DEBUG u32MbHandle => u32MbHandle_112 # DEBUG BEGIN_STMT _113 = state_107->mbs[u32MbHandle_112].isPolling; if (_113 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 4173]: # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_106, mb_idx_108); # DEBUG BEGIN_STMT _114 ={v} state_107->mbs[u32MbHandle_112].state; if (_114 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 1419]: # DEBUG BEGIN_STMT state_107->mbs[u32MbHandle_112].state ={v} 0; # DEBUG BEGIN_STMT state_107->mbs[u32MbHandle_112].isPolling = 1; [local count: 76646]: # DEBUG BEGIN_STMT mb_idx_115 = mb_idx_108 + 1; # DEBUG mb_idx => mb_idx_115 [local count: 86119]: # mb_idx_108 = PHI # DEBUG mb_idx => mb_idx_108 # DEBUG BEGIN_STMT if (endMbIdx_30(D) >= mb_idx_108) goto ; [89.00%] else goto ; [11.00%] [local count: 202115]: # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_28, mb_idx_18); # DEBUG BEGIN_STMT mb_idx_34 = mb_idx_18 + 1; # DEBUG mb_idx => mb_idx_34 [local count: 227096]: # mb_idx_18 = PHI # DEBUG mb_idx => mb_idx_18 # DEBUG BEGIN_STMT if (mb_idx_18 <= endMbIdx_30(D)) goto ; [89.00%] else goto ; [11.00%] [local count: 24981]: # DEBUG BEGIN_STMT if (bEnhancedFifoExisted_32(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 12490]: # DEBUG BEGIN_STMT # DEBUG base => base_28 # DEBUG intFlag => 28 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_28->ERFSR ={v} 268435456; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT # DEBUG base => base_28 # DEBUG intFlag => 29 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_28->ERFSR ={v} 536870912; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT # DEBUG base => base_28 # DEBUG intFlag => 30 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_28->ERFSR ={v} 1073741824; # DEBUG base => NULL # DEBUG intFlag => NULL # DEBUG BEGIN_STMT # DEBUG base => base_28 # DEBUG intFlag => 31 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT base_28->ERFSR ={v} 2147483648; [local count: 53687]: # DEBUG instance => NULL # DEBUG startMbIdx => NULL # DEBUG endMbIdx => NULL # DEBUG u32MbHandle => NULL # DEBUG mb_idx => NULL # DEBUG state => NULL # DEBUG base => NULL # DEBUG base => NULL # DEBUG intFlag => NULL return; } ;; Function FlexCAN_Ip_ClearErrorStatus (FlexCAN_Ip_ClearErrorStatus, funcdef_no=80, decl_uid=4668, cgraph_uid=81, symbol_order=82) FlexCAN_Ip_ClearErrorStatus (uint8 instance, uint32 error) { volatile boolean x; struct FLEXCAN_Type * base; int _1; _Bool _2; _Bool x.0_8; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_3(D); base_5 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_5 # DEBUG BEGIN_STMT _2 = instance_3(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_8 ={v} x; if (x.0_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT base_5->ESR1 ={v} error_6(D); return; } ;; Function FlexCAN_Ip_GetErrorStatus (FlexCAN_Ip_GetErrorStatus, funcdef_no=81, decl_uid=4661, cgraph_uid=82, symbol_order=83) FlexCAN_Ip_GetErrorStatus (uint8 instance) { volatile boolean x; const struct FLEXCAN_Type * base; int _1; _Bool _2; uint32 _6; _Bool x.0_7; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_3(D); base_5 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_5 # DEBUG BEGIN_STMT _2 = instance_3(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_7 ={v} x; if (x.0_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _6 ={v} base_5->ESR1; return _6; } ;; Function FlexCAN_Ip_GetControllerTxErrorCounter (FlexCAN_Ip_GetControllerTxErrorCounter, funcdef_no=82, decl_uid=4663, cgraph_uid=83, symbol_order=84) FlexCAN_Ip_GetControllerTxErrorCounter (uint8 instance) { volatile boolean x; const struct FLEXCAN_Type * base; int _1; _Bool _2; long unsigned int _3; uint8 _7; _Bool x.0_8; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_4(D); base_6 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_6 # DEBUG BEGIN_STMT _2 = instance_4(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_8 ={v} x; if (x.0_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 ={v} base_6->ECR; _7 = (uint8) _3; return _7; } ;; Function FlexCAN_Ip_GetControllerRxErrorCounter (FlexCAN_Ip_GetControllerRxErrorCounter, funcdef_no=83, decl_uid=4665, cgraph_uid=84, symbol_order=85) FlexCAN_Ip_GetControllerRxErrorCounter (uint8 instance) { volatile boolean x; const struct FLEXCAN_Type * base; int _1; _Bool _2; long unsigned int _3; long unsigned int _4; uint8 _8; _Bool x.0_9; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_5(D); base_7 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_7 # DEBUG BEGIN_STMT _2 = instance_5(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_9 ={v} x; if (x.0_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 ={v} base_7->ECR; _4 = _3 >> 8; _8 = (uint8) _4; return _8; } ;; Function FlexCAN_Busoff_Error_IRQHandler (FlexCAN_Busoff_Error_IRQHandler, funcdef_no=84, decl_uid=4708, cgraph_uid=85, symbol_order=86) FlexCAN_Busoff_Error_IRQHandler (uint8 instance) { volatile boolean x; boolean isSpuriousInt; uint32 u32ErrStatus; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * pBase; int _1; _Bool _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _6; long unsigned int _7; long unsigned int _8; signed int _9; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _22; _Bool x.0_57; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_36(D); pBase_38 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_38 # DEBUG BEGIN_STMT state_39 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_39 # DEBUG BEGIN_STMT # DEBUG u32ErrStatus => 0 # DEBUG BEGIN_STMT # DEBUG isSpuriousInt => 1 # DEBUG BEGIN_STMT _2 = instance_36(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_57 ={v} x; if (x.0_57 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (state_39 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 75162]: # DEBUG BEGIN_STMT u32ErrStatus_40 ={v} pBase_38->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_40 # DEBUG BEGIN_STMT _3 = u32ErrStatus_40 & 2; if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: _4 ={v} pBase_38->CTRL1; _5 = _4 & 16384; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 2; # DEBUG BEGIN_STMT _6 = state_39->error_callback; if (_6 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 13153]: # DEBUG BEGIN_STMT _6 (instance_36(D), 9, u32ErrStatus_40, state_39); # DEBUG BEGIN_STMT u32ErrStatus_43 ={v} pBase_38->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_43 [local count: 75162]: # u32ErrStatus_23 = PHI # isSpuriousInt_27 = PHI <1(5), 1(6), 0(8), 0(7)> # DEBUG isSpuriousInt => isSpuriousInt_27 # DEBUG u32ErrStatus => u32ErrStatus_23 # DEBUG BEGIN_STMT _7 = u32ErrStatus_23 & 1048576; if (_7 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: _8 ={v} pBase_38->CTRL2; _9 = (signed int) _8; if (_9 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 15408]: # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 1048576; # DEBUG BEGIN_STMT _10 = state_39->error_callback; if (_10 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 10786]: # DEBUG BEGIN_STMT _10 (instance_36(D), 10, u32ErrStatus_23, state_39); # DEBUG BEGIN_STMT u32ErrStatus_46 ={v} pBase_38->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_46 [local count: 75162]: # u32ErrStatus_24 = PHI # isSpuriousInt_28 = PHI # DEBUG isSpuriousInt => isSpuriousInt_28 # DEBUG u32ErrStatus => u32ErrStatus_24 # DEBUG BEGIN_STMT _11 = u32ErrStatus_24 & 131072; if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: _12 ={v} pBase_38->CTRL1; _13 = _12 & 2048; if (_13 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 131072; # DEBUG BEGIN_STMT _14 = state_39->error_callback; if (_14 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 13153]: # DEBUG BEGIN_STMT _14 (instance_36(D), 13, u32ErrStatus_24, state_39); # DEBUG BEGIN_STMT u32ErrStatus_49 ={v} pBase_38->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_49 [local count: 75162]: # u32ErrStatus_25 = PHI # isSpuriousInt_29 = PHI # DEBUG isSpuriousInt => isSpuriousInt_29 # DEBUG u32ErrStatus => u32ErrStatus_25 # DEBUG BEGIN_STMT _15 = u32ErrStatus_25 & 65536; if (_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: _16 ={v} pBase_38->CTRL1; _17 = _16 & 1024; if (_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 65536; # DEBUG BEGIN_STMT _18 = state_39->error_callback; if (_18 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 13153]: # DEBUG BEGIN_STMT _18 (instance_36(D), 12, u32ErrStatus_25, state_39); # DEBUG BEGIN_STMT u32ErrStatus_53 ={v} pBase_38->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_53 [local count: 75162]: # u32ErrStatus_26 = PHI # isSpuriousInt_30 = PHI # DEBUG isSpuriousInt => isSpuriousInt_30 # DEBUG u32ErrStatus => u32ErrStatus_26 # DEBUG BEGIN_STMT _19 = u32ErrStatus_26 & 4; if (_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 37581]: _20 ={v} pBase_38->CTRL1; _21 = _20 & 32768; if (_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 18790]: # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 4; # DEBUG BEGIN_STMT _22 = state_39->error_callback; if (_22 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 13153]: # DEBUG BEGIN_STMT _22 (instance_36(D), 11, u32ErrStatus_26, state_39); goto ; [100.00%] [local count: 56371]: # DEBUG isSpuriousInt => isSpuriousInt_30 # DEBUG BEGIN_STMT if (isSpuriousInt_30 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 60398]: # DEBUG isSpuriousInt => NULL # DEBUG BEGIN_STMT pBase_38->ESR1 ={v} 3866630; [local count: 107374]: # DEBUG isSpuriousInt => NULL return; } ;; Function FlexCAN_Ip_SendBlocking (FlexCAN_Ip_SendBlocking, funcdef_no=85, decl_uid=4633, cgraph_uid=86, symbol_order=87) FlexCAN_Ip_SendBlocking (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data, uint32 timeout_ms) { volatile boolean x; volatile boolean x; volatile uint32 * flexcan_mb; uint32 flexcan_mb_config; uint32 uS2Ticks; uint32 mS2Ticks; uint32 timeElapsed; uint32 timeStart; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; Flexcan_Ip_StatusType result; int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; _Bool _5; _Bool _6; long unsigned int _7; unsigned char _8; int _9; _10; long unsigned int _11; unsigned char _12; long unsigned int _13; long unsigned int _14; int _15; long unsigned int _45; long unsigned int _60; _Bool x.0_66; _Bool x.0_67; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = (int) instance_28(D); base_30 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_30 # DEBUG BEGIN_STMT state_31 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_31 # DEBUG BEGIN_STMT _3 = OsIf_GetCounter (0); timeStart = _3; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT _4 = timeout_ms_34(D) * 1000; mS2Ticks_36 = OsIf_MicrosToTicks (_4, 0); # DEBUG mS2Ticks => mS2Ticks_36 # DEBUG BEGIN_STMT # DEBUG uS2Ticks => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb => 0B # DEBUG BEGIN_STMT _5 = instance_28(D) <= 5; x ={v} _5; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_67 ={v} x; if (x.0_67 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _6 = tx_info_37(D) != 0B; x ={v} _6; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_66 ={v} x; if (x.0_66 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT result_42 = FlexCAN_StartSendData (instance_28(D), mb_idx_38(D), tx_info_37(D), msg_id_39(D), mb_data_40(D)); # DEBUG result => result_42 # DEBUG BEGIN_STMT if (result_42 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: goto ; [100.00%] [local count: 237131]: # DEBUG BEGIN_STMT _45 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_46 = timeElapsed_20 + _45; # DEBUG timeElapsed => timeElapsed_46 # DEBUG BEGIN_STMT if (mS2Ticks_36 <= timeElapsed_46) goto ; [5.50%] else goto ; [94.50%] [local count: 224089]: [local count: 250932]: # timeElapsed_20 = PHI <0(20), timeElapsed_46(24)> # DEBUG timeElapsed => timeElapsed_20 # DEBUG BEGIN_STMT _7 = (long unsigned int) mb_idx_38(D); _8 = FlexCAN_GetBuffStatusFlag (base_30, _7); if (_8 != 1) goto ; [94.50%] else goto ; [5.50%] [local count: 26843]: # result_16 = PHI <3(7), 0(8)> # _2 = PHI <_7(7), _7(8)> # DEBUG result => result_16 # DEBUG BEGIN_STMT if (result_16 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 9127]: _9 = (int) mb_idx_38(D); _10 ={v} state_31->mbs[_9].state; if (_10 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 3012]: # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_30, _2); # DEBUG BEGIN_STMT flexcan_mb_49 = FlexCAN_GetMsgBuffRegion (base_30, _2); # DEBUG flexcan_mb => flexcan_mb_49 # DEBUG BEGIN_STMT flexcan_mb_config_50 ={v} *flexcan_mb_49; # DEBUG flexcan_mb_config => flexcan_mb_config_50 # DEBUG BEGIN_STMT flexcan_mb_config_51 = flexcan_mb_config_50 & 4043309055; # DEBUG flexcan_mb_config => flexcan_mb_config_51 # DEBUG BEGIN_STMT flexcan_mb_config_52 = flexcan_mb_config_51 | 150994944; # DEBUG flexcan_mb_config => flexcan_mb_config_52 # DEBUG BEGIN_STMT *flexcan_mb_49 ={v} flexcan_mb_config_52; # DEBUG BEGIN_STMT uS2Ticks_55 = OsIf_MicrosToTicks (100, 0); # DEBUG uS2Ticks => uS2Ticks_55 # DEBUG BEGIN_STMT _11 = OsIf_GetCounter (0); timeStart = _11; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 26606]: # DEBUG BEGIN_STMT _60 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_61 = timeElapsed_21 + _60; # DEBUG timeElapsed => timeElapsed_61 # DEBUG BEGIN_STMT if (uS2Ticks_55 <= timeElapsed_61) goto ; [5.50%] else goto ; [94.50%] [local count: 25143]: [local count: 28155]: # timeElapsed_21 = PHI <0(11), timeElapsed_61(23)> # DEBUG timeElapsed => timeElapsed_21 # DEBUG BEGIN_STMT _12 = FlexCAN_GetBuffStatusFlag (base_30, _2); if (_12 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 3012]: # DEBUG result => 3 # DEBUG BEGIN_STMT flexcan_mb_config_62 ={v} *flexcan_mb_49; # DEBUG flexcan_mb_config => flexcan_mb_config_62 # DEBUG BEGIN_STMT _13 = flexcan_mb_config_62 >> 24; _14 = _13 & 15; if (_14 == 8) goto ; [34.00%] else goto ; [66.00%] [local count: 1024]: # DEBUG BEGIN_STMT # DEBUG result => 0 [local count: 3012]: # result_17 = PHI <3(14), 0(15)> # DEBUG result => result_17 # DEBUG BEGIN_STMT if (_14 == 9) goto ; [34.00%] else goto ; [66.00%] [local count: 1024]: # DEBUG BEGIN_STMT # DEBUG result => 3 [local count: 26843]: # result_18 = PHI # DEBUG result => result_18 # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_30, _2); # DEBUG BEGIN_STMT _15 = (int) mb_idx_38(D); state_31->mbs[_15].state ={v} 0; [local count: 53687]: # result_19 = PHI # DEBUG result => result_19 # DEBUG BEGIN_STMT timeStart ={v} {CLOBBER}; return result_19; } ;; Function FlexCAN_Ip_SetRxMbGlobalMask_Privileged (FlexCAN_Ip_SetRxMbGlobalMask_Privileged, funcdef_no=86, decl_uid=4576, cgraph_uid=87, symbol_order=88) FlexCAN_Ip_SetRxMbGlobalMask_Privileged (uint8 instance, uint32 mask) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; int _1; _Bool _2; long unsigned int _17; signed int _18; _Bool x.0_19; long unsigned int _20; long unsigned int _21; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _1 = (int) instance_9(D); pBase_11 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG freeze => 0 # DEBUG BEGIN_STMT _2 = instance_9(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_19 ={v} x; if (x.0_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _18 = (signed int) _17; # DEBUG pBase => NULL # DEBUG disabled => _18 < 0 # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _21 = _20 & 16777216; # DEBUG base => NULL # DEBUG freeze => _21 != 0 # DEBUG BEGIN_STMT if (_21 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 40265]: # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG Mask => mask_14(D) # DEBUG INLINE_ENTRY FlexCAN_SetRxMsgBuffGlobalMask # DEBUG BEGIN_STMT pBase_11->RXMGMASK ={v} mask_14(D); [local count: 107374]: # result_8 = PHI # DEBUG result => NULL # DEBUG base => NULL # DEBUG Mask => NULL # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_16 = FlexCAN_Disable (pBase_11); # DEBUG status => status_16 # DEBUG BEGIN_STMT if (status_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_16 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_EnterFreezeMode_Privileged (FlexCAN_Ip_EnterFreezeMode_Privileged, funcdef_no=87, decl_uid=4549, cgraph_uid=88, symbol_order=89) FlexCAN_Ip_EnterFreezeMode_Privileged (uint8 instance) { struct FLEXCAN_Type * base; int _1; Flexcan_Ip_StatusType _6; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) instance_2(D); base_4 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_4 # DEBUG BEGIN_STMT _6 = FlexCAN_EnterFreezeMode (base_4); return _6; } ;; Function FlexCAN_Ip_ExitFreezeMode_Privileged (FlexCAN_Ip_ExitFreezeMode_Privileged, funcdef_no=88, decl_uid=4551, cgraph_uid=89, symbol_order=90) FlexCAN_Ip_ExitFreezeMode_Privileged (uint8 instance) { struct FLEXCAN_Type * base; int _1; Flexcan_Ip_StatusType _6; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) instance_2(D); base_4 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_4 # DEBUG BEGIN_STMT _6 = FlexCAN_ExitFreezeMode (base_4); return _6; } ;; Function FlexCAN_Ip_SetRxIndividualMask_Privileged (FlexCAN_Ip_SetRxIndividualMask_Privileged, funcdef_no=89, decl_uid=4573, cgraph_uid=90, symbol_order=91) FlexCAN_Ip_SetRxIndividualMask_Privileged (uint8 instance, uint8 mb_idx, uint32 mask) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; int _1; _Bool _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; _Bool x.0_21; long unsigned int _22; signed int _23; long unsigned int _24; long unsigned int _25; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _1 = (int) instance_12(D); pBase_14 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_14 # DEBUG BEGIN_STMT # DEBUG freeze => 0 # DEBUG BEGIN_STMT _2 = instance_12(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_21 ={v} x; if (x.0_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = (long unsigned int) mb_idx_15(D); _4 ={v} pBase_14->MCR; _5 = _4 & 127; if (_3 > _5) goto ; [35.00%] else goto ; [65.00%] [local count: 69793]: if (mb_idx_15(D) > 95) goto ; [35.00%] else goto ; [65.00%] [local count: 45366]: # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _23 = (signed int) _22; # DEBUG pBase => NULL # DEBUG disabled => _23 < 0 # DEBUG BEGIN_STMT if (_23 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 11568]: # DEBUG BEGIN_STMT result_17 = FlexCAN_Enable (pBase_14); # DEBUG result => result_17 [local count: 45366]: # result_6 = PHI <0(6), result_17(7)> # DEBUG result => result_6 # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _24 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _25 = _24 & 16777216; # DEBUG base => NULL # DEBUG freeze => _25 != 0 # DEBUG BEGIN_STMT if (_25 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 22683]: if (result_6 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 34024]: # DEBUG result => result_6 # DEBUG BEGIN_STMT if (result_6 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17012]: # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG msgBuffIdx => _3 # DEBUG mask => mask_18(D) # DEBUG INLINE_ENTRY FlexCAN_SetRxIndividualMask # DEBUG BEGIN_STMT pBase_14->RXIMR[_3] ={v} mask_18(D); [local count: 45366]: # result_11 = PHI # DEBUG result => NULL # DEBUG base => NULL # DEBUG msgBuffIdx => NULL # DEBUG mask => NULL # DEBUG BEGIN_STMT if (_23 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 11568]: # DEBUG BEGIN_STMT status_20 = FlexCAN_Disable (pBase_14); # DEBUG status => status_20 # DEBUG BEGIN_STMT if (status_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5784]: # DEBUG BEGIN_STMT # DEBUG result => status_20 [local count: 107374]: # result_7 = PHI <4(5), result_11(12), result_11(13), status_20(14), 4(4)> # DEBUG result => result_7 # DEBUG BEGIN_STMT return result_7; } ;; Function FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (FlexCAN_Ip_SetRxFifoGlobalMask_Privileged, funcdef_no=90, decl_uid=4554, cgraph_uid=91, symbol_order=92) FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (uint8 instance, uint32 mask) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _17; signed int _18; _Bool x.0_19; long unsigned int _20; long unsigned int _21; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_19 ={v} x; if (x.0_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _18 = (signed int) _17; # DEBUG pBase => NULL # DEBUG disabled => _18 < 0 # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _21 = _20 & 16777216; # DEBUG base => NULL # DEBUG freeze => _21 != 0 # DEBUG BEGIN_STMT if (_21 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 40265]: # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG Mask => mask_14(D) # DEBUG INLINE_ENTRY FlexCAN_SetRxFifoGlobalMask # DEBUG BEGIN_STMT pBase_11->RXFGMASK ={v} mask_14(D); [local count: 107374]: # result_10 = PHI # DEBUG result => NULL # DEBUG base => NULL # DEBUG Mask => NULL # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_16 = FlexCAN_Disable (pBase_11); # DEBUG status => status_16 # DEBUG BEGIN_STMT if (status_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_16 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_Deinit_Privileged (FlexCAN_Ip_Deinit_Privileged, funcdef_no=91, decl_uid=4556, cgraph_uid=92, symbol_order=93) Symbols to be put in SSA form { D.6774 } Incremental SSA update started at block: 0 Number of blocks in CFG: 17 Number of blocks to update: 16 ( 94%) Merging blocks 3 and 8 Removing basic block 5 Removing basic block 7 Merging blocks 16 and 9 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 12 } ;; 5 succs { 6 7 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 9 } ;; 9 succs { 10 11 } ;; 10 succs { 11 } ;; 11 succs { 12 } ;; 12 succs { 1 } FlexCAN_Ip_Deinit_Privileged (uint8 instance) { volatile boolean x; Flexcan_Ip_StatusType result; struct FLEXCAN_Type * base; int _1; _Bool _2; _Bool x.0_12; _Bool _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_4(D); base_6 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_6 # DEBUG BEGIN_STMT # DEBUG result => 1 # DEBUG BEGIN_STMT _2 = instance_4(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_12 ={v} x; if (x.0_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT result_8 = FlexCAN_EnterFreezeMode (base_6); # DEBUG result => result_8 # DEBUG BEGIN_STMT if (result_8 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 35433]: # DEBUG BEGIN_STMT # DEBUG base => base_6 # DEBUG INLINE_ENTRY FlexCAN_SetRegDefaultVal # DEBUG BEGIN_STMT _14 = FlexCAN_IsEnhancedRxFifoAvailable (base_6); if (_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT base_6->ERFSR ={v} 4160749568; # DEBUG BEGIN_STMT base_6->ERFIER ={v} 0; # DEBUG BEGIN_STMT base_6->ERFCR ={v} 0; [local count: 35433]: # DEBUG BEGIN_STMT base_6->FDCBT ={v} 0; # DEBUG BEGIN_STMT base_6->FDCTRL ={v} 2147500288; # DEBUG BEGIN_STMT base_6->ERRSR ={v} 851981; # DEBUG BEGIN_STMT base_6->ERRIPPR ={v} 0; # DEBUG BEGIN_STMT base_6->ERRIDPR ={v} 0; # DEBUG BEGIN_STMT base_6->ERRIAR ={v} 0; # DEBUG BEGIN_STMT _15 ={v} base_6->CTRL2; _16 = _15 | 536870912; base_6->CTRL2 ={v} _16; # DEBUG BEGIN_STMT _17 ={v} base_6->MECR; _18 = _17 & 2147483647; base_6->MECR ={v} _18; # DEBUG BEGIN_STMT base_6->MECR ={v} 786560; # DEBUG BEGIN_STMT _19 ={v} base_6->MECR; _20 = _19 | 2147483648; base_6->MECR ={v} _20; # DEBUG BEGIN_STMT _21 ={v} base_6->CTRL2; _22 = _21 & 3758096383; base_6->CTRL2 ={v} _22; # DEBUG BEGIN_STMT _23 = FlexCAN_GetMaxMbNum (base_6); if (_23 > 64) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT base_6->IFLAG3 ={v} 4294967295; # DEBUG BEGIN_STMT base_6->IMASK3 ={v} 0; [local count: 35433]: # DEBUG BEGIN_STMT _24 = FlexCAN_GetMaxMbNum (base_6); if (_24 > 32) goto ; [50.00%] else goto ; [50.00%] [local count: 17717]: # DEBUG BEGIN_STMT base_6->IFLAG2 ={v} 4294967295; # DEBUG BEGIN_STMT base_6->IMASK2 ={v} 0; [local count: 35433]: # DEBUG BEGIN_STMT base_6->IFLAG1 ={v} 4294967295; # DEBUG BEGIN_STMT base_6->IMASK1 ={v} 0; # DEBUG BEGIN_STMT base_6->CBT ={v} 0; # DEBUG BEGIN_STMT base_6->CTRL2 ={v} 1048576; # DEBUG BEGIN_STMT base_6->ESR1 ={v} 241670; # DEBUG BEGIN_STMT base_6->ECR ={v} 0; # DEBUG BEGIN_STMT base_6->TIMER ={v} 0; # DEBUG BEGIN_STMT base_6->CTRL1 ={v} 0; # DEBUG BEGIN_STMT base_6->EPRS ={v} 0; # DEBUG BEGIN_STMT base_6->ENCBT ={v} 0; # DEBUG BEGIN_STMT base_6->EDCBT ={v} 0; # DEBUG BEGIN_STMT base_6->ETDC ={v} 0; # DEBUG BEGIN_STMT base_6->MCR ={v} 3633315855; # DEBUG base => NULL # DEBUG BEGIN_STMT FlexCAN_Disable (base_6); # DEBUG BEGIN_STMT g_flexcan_Ip_StatePtr[_1] = 0B; [local count: 107374]: # DEBUG BEGIN_STMT return result_8; } ;; Function FlexCAN_Ip_MainFunctionRead (FlexCAN_Ip_MainFunctionRead, funcdef_no=92, decl_uid=4653, cgraph_uid=93, symbol_order=94) FlexCAN_Ip_MainFunctionRead (uint8 instance, uint8 mb_idx) { uint32 flag; volatile boolean x; volatile boolean x; const struct Flexcan_Ip_StateType * state; const struct FLEXCAN_Type * base; int _1; _Bool _2; unsigned char _3; _Bool _4; _Bool _5; _Bool _6; long unsigned int _7; unsigned char _8; int _9; _10; _Bool x.0_22; _Bool x.0_23; long unsigned int _24; signed int _25; long unsigned int _26; long unsigned int _27; unsigned char _28; long unsigned int _29; long unsigned int _31; long unsigned int _32; unsigned char _33; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_12(D); base_14 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_14 # DEBUG BEGIN_STMT state_15 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_15 # DEBUG BEGIN_STMT _2 = instance_12(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_23 ={v} x; if (x.0_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = mb_idx_16(D) + 160; _4 = _3 > 158; x ={v} _4; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_22 ={v} x; if (x.0_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 536870913]: goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT if (mb_idx_16(D) == 255) goto ; [20.24%] else goto ; [79.76%] [local count: 10866]: # DEBUG BEGIN_STMT _5 = FlexCAN_IsEnhancedRxFifoAvailable (base_14); if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 5433]: # DEBUG BEGIN_STMT # DEBUG base => base_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _24 ={v} base_14->ERFCR; _25 = (signed int) _24; # DEBUG base => NULL if (_25 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 2228]: # DEBUG BEGIN_STMT # DEBUG base => base_14 # DEBUG intFlag => 28 # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag # DEBUG BEGIN_STMT _26 ={v} base_14->ERFSR; _31 = _26 >> 28; _27 = _31 & 1; _28 = (unsigned char) _27; # DEBUG base => NULL # DEBUG intFlag => NULL if (_28 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 735]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerEnhancedRxFIFO (instance_12(D), 28); goto ; [100.00%] [local count: 42821]: # DEBUG BEGIN_STMT _6 = state_15->bIsLegacyFifoEn; if (_6 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 28690]: if (mb_idx_16(D) <= 7) goto ; [50.00%] else goto ; [50.00%] [local count: 14345]: # DEBUG BEGIN_STMT if (mb_idx_16(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 7172]: # DEBUG BEGIN_STMT # DEBUG base => base_14 # DEBUG msgBuffIdx => 5 # DEBUG INLINE_ENTRY FlexCAN_GetBuffStatusFlag # DEBUG BEGIN_STMT # DEBUG flag => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _29 ={v} base_14->IFLAG1; _32 = _29 >> 5; flag_30 = _32 & 1; # DEBUG flag => flag_30 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _33 = (unsigned char) flag_30; # DEBUG base => NULL # DEBUG msgBuffIdx => NULL # DEBUG flag => NULL if (_33 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 2367]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxFIFO (instance_12(D), 5); goto ; [100.00%] [local count: 28476]: # DEBUG BEGIN_STMT _7 = (long unsigned int) mb_idx_16(D); _8 = FlexCAN_GetBuffStatusFlag (base_14, _7); if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 14238]: # DEBUG BEGIN_STMT _9 = (int) mb_idx_16(D); _10 ={v} state_15->mbs[_9].state; if (_10 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 2882]: # DEBUG BEGIN_STMT FlexCAN_IRQHandlerRxMB (instance_12(D), _7); [local count: 53687]: return; } ;; Function FlexCAN_Ip_MainFunctionBusOff_Privileged (FlexCAN_Ip_MainFunctionBusOff_Privileged, funcdef_no=93, decl_uid=4543, cgraph_uid=94, symbol_order=95) FlexCAN_Ip_MainFunctionBusOff_Privileged (uint8 instance) { volatile boolean x; uint32 u32ErrStatus; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; Flexcan_Ip_StatusType eRetVal; int _1; _Bool _2; long unsigned int _3; void (*) (uint8, Flexcan_Ip_EventType, uint32, const struct FlexCANState *) _4; _Bool x.0_15; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG eRetVal => 1 # DEBUG BEGIN_STMT _1 = (int) instance_8(D); base_10 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_10 # DEBUG BEGIN_STMT state_11 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_11 # DEBUG BEGIN_STMT # DEBUG u32ErrStatus => 0 # DEBUG BEGIN_STMT _2 = instance_8(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_15 ={v} x; if (x.0_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT u32ErrStatus_12 ={v} base_10->ESR1; # DEBUG u32ErrStatus => u32ErrStatus_12 # DEBUG BEGIN_STMT _3 = u32ErrStatus_12 & 4; if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: # DEBUG BEGIN_STMT _4 = state_11->error_callback; if (_4 != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 37581]: # DEBUG BEGIN_STMT _4 (instance_8(D), 11, u32ErrStatus_12, state_11); [local count: 53687]: # DEBUG BEGIN_STMT base_10->ESR1 ={v} 4; # DEBUG BEGIN_STMT # DEBUG eRetVal => 0 [local count: 107374]: # eRetVal_5 = PHI <1(4), 0(7)> # DEBUG eRetVal => eRetVal_5 # DEBUG BEGIN_STMT return eRetVal_5; } ;; Function FlexCAN_Ip_MainFunctionWrite (FlexCAN_Ip_MainFunctionWrite, funcdef_no=94, decl_uid=4656, cgraph_uid=95, symbol_order=96) FlexCAN_Ip_MainFunctionWrite (uint8 instance, uint8 mb_idx) { volatile boolean x; struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * base; int _1; _Bool _2; long unsigned int _3; unsigned char _4; int _5; long unsigned int _6; _Bool x.0_18; long unsigned int vol.5_19; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) instance_8(D); base_10 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_10 # DEBUG BEGIN_STMT state_11 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_11 # DEBUG BEGIN_STMT _2 = instance_8(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_18 ={v} x; if (x.0_18 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = (long unsigned int) mb_idx_12(D); _4 = FlexCAN_GetBuffStatusFlag (base_10, _3); if (_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 35433]: # DEBUG BEGIN_STMT _5 = (int) mb_idx_12(D); _6 = FlexCAN_GetMsgBuffTimestamp (base_10, _3); state_11->mbs[_5].time_stamp = _6; # DEBUG BEGIN_STMT # DEBUG base => base_10 # DEBUG INLINE_ENTRY FlexCAN_UnlockRxMsgBuff # DEBUG BEGIN_STMT vol.5_19 ={v} MEM[(const struct FLEXCAN_Type *)base_10].TIMER; # DEBUG base => NULL # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (base_10, _3); # DEBUG BEGIN_STMT state_11->mbs[_5].state ={v} 0; [local count: 107374]: return; } ;; Function FlexCAN_Ip_GetStopMode_Privileged (FlexCAN_Ip_GetStopMode_Privileged, funcdef_no=95, decl_uid=4545, cgraph_uid=96, symbol_order=97) FlexCAN_Ip_GetStopMode_Privileged (uint8 instance) { const struct FLEXCAN_Type * base; int _1; long unsigned int _2; long unsigned int _3; boolean _7; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) instance_4(D); base_6 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_6 # DEBUG BEGIN_STMT _2 ={v} base_6->MCR; _3 = _2 & 1048576; _7 = _3 != 0; return _7; } ;; Function FlexCAN_Ip_GetStartMode_Privileged (FlexCAN_Ip_GetStartMode_Privileged, funcdef_no=96, decl_uid=4547, cgraph_uid=97, symbol_order=98) FlexCAN_Ip_GetStartMode_Privileged (uint8 instance) { const struct FLEXCAN_Type * base; int _1; long unsigned int _2; long unsigned int _3; boolean _7; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) instance_4(D); base_6 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_6 # DEBUG BEGIN_STMT _2 ={v} base_6->MCR; _3 = _2 & 17825792; _7 = _3 == 0; return _7; } ;; Function FlexCAN_Ip_SetStartMode_Privileged (FlexCAN_Ip_SetStartMode_Privileged, funcdef_no=97, decl_uid=4558, cgraph_uid=98, symbol_order=99) FlexCAN_Ip_SetStartMode_Privileged (uint8 instance) { volatile boolean x; struct FLEXCAN_Type * pBase; _Bool _1; int _2; long unsigned int _3; long unsigned int _4; Flexcan_Ip_StatusType _10; _Bool x.0_11; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_5(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_11 ={v} x; if (x.0_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) instance_5(D); pBase_7 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_7 # DEBUG BEGIN_STMT _3 ={v} pBase_7->MCR; _4 = _3 & 2147483647; pBase_7->MCR ={v} _4; # DEBUG BEGIN_STMT _10 = FlexCAN_ExitFreezeMode (pBase_7); return _10; } ;; Function FlexCAN_Ip_SetStopMode_Privileged (FlexCAN_Ip_SetStopMode_Privileged, funcdef_no=98, decl_uid=4560, cgraph_uid=99, symbol_order=100) FlexCAN_Ip_SetStopMode_Privileged (uint8 instance) { volatile boolean x; Flexcan_Ip_StatusType status; struct FLEXCAN_Type * pBase; _Bool _1; int _2; _Bool x.0_12; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_5(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_12 ={v} x; if (x.0_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) instance_5(D); pBase_7 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT status_9 = FlexCAN_EnterFreezeMode (pBase_7); # DEBUG status => status_9 # DEBUG BEGIN_STMT if (status_9 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 35433]: # DEBUG BEGIN_STMT status_11 = FlexCAN_Disable (pBase_7); # DEBUG status => status_11 [local count: 107374]: # status_3 = PHI # DEBUG status => status_3 # DEBUG BEGIN_STMT return status_3; } ;; Function FlexCAN_Ip_SetRxMaskType_Privileged (FlexCAN_Ip_SetRxMaskType_Privileged, funcdef_no=99, decl_uid=4563, cgraph_uid=100, symbol_order=101) Symbols to be put in SSA form { D.6782 } Incremental SSA update started at block: 0 Number of blocks in CFG: 21 Number of blocks to update: 20 ( 95%) Merging blocks 3 and 15 Removing basic block 9 Removing basic block 14 Removing basic block 16 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 13 8 } ;; 8 succs { 9 13 } ;; 9 succs { 10 11 } ;; 10 succs { 12 } ;; 11 succs { 12 } ;; 12 succs { 13 } ;; 13 succs { 14 16 } ;; 14 succs { 15 16 } ;; 15 succs { 16 } ;; 16 succs { 1 } FlexCAN_Ip_SetRxMaskType_Privileged (uint8 instance, Flexcan_Ip_RxMaskType type) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _18; signed int _19; _Bool x.0_20; long unsigned int _21; long unsigned int _22; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_20 ={v} x; if (x.0_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _19 = (signed int) _18; # DEBUG pBase => NULL # DEBUG disabled => _19 < 0 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _22 = _21 & 16777216; # DEBUG base => NULL # DEBUG freeze => _22 != 0 # DEBUG BEGIN_STMT if (_22 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 26575]: # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG type => type_14(D) # DEBUG INLINE_ENTRY FlexCAN_SetRxMaskType # DEBUG BEGIN_STMT if (type_14(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13288]: # DEBUG BEGIN_STMT _24 ={v} pBase_11->MCR; _25 = _24 & 4294901759; pBase_11->MCR ={v} _25; goto ; [100.00%] [local count: 13288]: # DEBUG BEGIN_STMT _26 ={v} pBase_11->MCR; _27 = _26 | 65536; pBase_11->MCR ={v} _27; [local count: 26575]: [local count: 107374]: # result_10 = PHI # DEBUG base => NULL # DEBUG type => NULL # DEBUG result => NULL # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_17 = FlexCAN_Disable (pBase_11); # DEBUG status => status_17 # DEBUG BEGIN_STMT if (status_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_17 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_SetBitrate_Privileged (FlexCAN_Ip_SetBitrate_Privileged, funcdef_no=100, decl_uid=4580, cgraph_uid=101, symbol_order=102) Symbols to be put in SSA form { D.6783 } Incremental SSA update started at block: 0 Number of blocks in CFG: 29 Number of blocks to update: 28 ( 97%) Merging blocks 3 and 24 Merging blocks 5 and 23 Merging blocks 11 and 26 Removing basic block 21 Removing basic block 22 Merging blocks 28 and 25 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 2 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 10 } ;; 9 succs { 19 10 } ;; 10 succs { 11 19 } ;; 11 succs { 13 12 } ;; 12 succs { 13 } ;; 13 succs { 14 15 } ;; 14 succs { 18 } ;; 15 succs { 16 17 } ;; 16 succs { 18 } ;; 17 succs { 18 } ;; 18 succs { 19 } ;; 19 succs { 20 22 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 1 } FlexCAN_Ip_SetBitrate_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean enhExt) { volatile boolean x; volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; _Bool _2; int _3; long unsigned int _26; signed int _27; _Bool x.0_28; _Bool x.0_29; long unsigned int _30; long unsigned int _31; long unsigned int _32; signed int _33; long unsigned int _36; long unsigned int _37; long unsigned int iftmp.6_38; long unsigned int _39; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_11(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_29 ={v} x; if (x.0_29 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = bitrate_13(D) != 0B; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_28 ={v} x; if (x.0_28 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _3 = (int) instance_11(D); pBase_14 = g_Flexcan_Ip_aBase[_3]; # DEBUG pBase => pBase_14 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _27 = (signed int) _26; # DEBUG pBase => NULL # DEBUG disabled => _27 < 0 # DEBUG BEGIN_STMT if (_27 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 13690]: # DEBUG BEGIN_STMT result_16 = FlexCAN_Enable (pBase_14); # DEBUG result => result_16 [local count: 53687]: # result_5 = PHI <0(6), result_16(7)> # DEBUG result => result_5 # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _30 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _31 = _30 & 16777216; # DEBUG base => NULL # DEBUG freeze => _31 != 0 # DEBUG BEGIN_STMT if (_31 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: if (result_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 40265]: # DEBUG result => result_5 # DEBUG BEGIN_STMT if (result_5 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 13288]: # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14 (); # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG enableCBT => enhExt_18(D) # DEBUG INLINE_ENTRY FlexCAN_EnhCbtEnable # DEBUG BEGIN_STMT _36 ={v} pBase_14->CTRL2; _37 = _36 & 4294959103; if (enhExt_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6644]: [local count: 13288]: # iftmp.6_38 = PHI <8192(11), 0(12)> _39 = _37 | iftmp.6_38; pBase_14->CTRL2 ={v} _39; # DEBUG base => NULL # DEBUG enableCBT => NULL # DEBUG BEGIN_STMT if (enhExt_18(D) != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 4385]: # DEBUG BEGIN_STMT FlexCAN_SetEnhancedNominalTimeSegments (pBase_14, bitrate_13(D)); goto ; [100.00%] [local count: 8903]: # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsExCbtEnabled # DEBUG BEGIN_STMT _32 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].CBT; _33 = (signed int) _32; # DEBUG pBase => NULL if (_33 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 3650]: # DEBUG BEGIN_STMT FlexCAN_SetExtendedTimeSegments (pBase_14, bitrate_13(D)); goto ; [100.00%] [local count: 5253]: # DEBUG BEGIN_STMT FlexCAN_SetTimeSegments (pBase_14, bitrate_13(D)); [local count: 13288]: # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14 (); [local count: 53687]: # result_4 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_27 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 13690]: # DEBUG BEGIN_STMT status_25 = FlexCAN_Disable (pBase_14); # DEBUG status => status_25 # DEBUG BEGIN_STMT if (status_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6845]: # DEBUG BEGIN_STMT # DEBUG result => status_25 [local count: 53687]: # result_6 = PHI # DEBUG result => result_6 # DEBUG BEGIN_STMT return result_6; } ;; Function FlexCAN_Ip_GetBitrate (FlexCAN_Ip_GetBitrate, funcdef_no=101, decl_uid=4671, cgraph_uid=102, symbol_order=103) Symbols to be put in SSA form { D.6784 } Incremental SSA update started at block: 0 Number of blocks in CFG: 22 Number of blocks to update: 21 ( 95%) Merging blocks 3 and 15 Merging blocks 5 and 14 Removing basic block 7 Removing basic block 9 Removing basic block 10 Removing basic block 12 Removing basic block 13 Removing basic block 16 Removing basic block 18 Removing basic block 20 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 2 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 8 } ;; 7 succs { 11 } ;; 8 succs { 9 10 } ;; 9 succs { 11 } ;; 10 succs { 11 } ;; 11 succs { 1 } FlexCAN_Ip_GetBitrate (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate) { volatile boolean x; volatile boolean x; const struct FLEXCAN_Type * pBase; _Bool _1; _Bool _2; int _3; long unsigned int _12; long unsigned int _13; _Bool _14; _Bool x.0_15; _Bool x.0_16; long unsigned int _17; signed int _18; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; long unsigned int _31; long unsigned int _32; long unsigned int _33; long unsigned int _34; long unsigned int _35; long unsigned int _36; long unsigned int _37; long unsigned int _38; long unsigned int _39; long unsigned int _40; long unsigned int _41; long unsigned int _42; long unsigned int _43; long unsigned int _44; long unsigned int _45; long unsigned int _46; long unsigned int _47; long unsigned int _48; long unsigned int _49; long unsigned int _50; long unsigned int _51; long unsigned int _52; long unsigned int _53; long unsigned int _54; long unsigned int _55; long unsigned int _56; long unsigned int _57; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_5(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_16 ={v} x; if (x.0_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = bitrate_7(D) != 0B; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_15 ={v} x; if (x.0_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = (int) instance_5(D); pBase_8 = g_Flexcan_Ip_aBase[_3]; # DEBUG pBase => pBase_8 # DEBUG BEGIN_STMT # DEBUG enhCbt => 0 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_8 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _12 ={v} pBase_8->CTRL2; _13 = _12 & 8192; _14 = _13 != 0; # DEBUG pBase => NULL # DEBUG enhCbt => _14 # DEBUG BEGIN_STMT if (_13 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 17717]: # DEBUG BEGIN_STMT # DEBUG base => pBase_8 # DEBUG timeSeg => bitrate_7(D) # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedNominalTimeSegments # DEBUG BEGIN_STMT bitrate_7(D)->propSeg = 0; # DEBUG BEGIN_STMT _21 ={v} pBase_8->EPRS; _22 = _21 & 1023; bitrate_7(D)->preDivider = _22; # DEBUG BEGIN_STMT _23 ={v} pBase_8->ENCBT; _24 = _23 & 255; bitrate_7(D)->phaseSeg1 = _24; # DEBUG BEGIN_STMT _25 ={v} pBase_8->ENCBT; _26 = _25 >> 12; _27 = _26 & 127; bitrate_7(D)->phaseSeg2 = _27; # DEBUG BEGIN_STMT _28 ={v} pBase_8->ENCBT; _29 = _28 >> 22; _30 = _29 & 127; bitrate_7(D)->rJumpwidth = _30; goto ; [100.00%] [local count: 35970]: # DEBUG BEGIN_STMT # DEBUG pBase => pBase_8 # DEBUG INLINE_ENTRY FlexCAN_IsExCbtEnabled # DEBUG BEGIN_STMT _17 ={v} pBase_8->CBT; _18 = (signed int) _17; # DEBUG pBase => NULL if (_18 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 14748]: # DEBUG BEGIN_STMT # DEBUG base => pBase_8 # DEBUG timeSeg => bitrate_7(D) # DEBUG INLINE_ENTRY FlexCAN_GetExtendedTimeSegments # DEBUG BEGIN_STMT _31 ={v} pBase_8->CBT; _32 = _31 >> 21; _33 = _32 & 1023; bitrate_7(D)->preDivider = _33; # DEBUG BEGIN_STMT _34 ={v} pBase_8->CBT; _35 = _34 >> 10; _36 = _35 & 63; bitrate_7(D)->propSeg = _36; # DEBUG BEGIN_STMT _37 ={v} pBase_8->CBT; _38 = _37 >> 5; _39 = _38 & 31; bitrate_7(D)->phaseSeg1 = _39; # DEBUG BEGIN_STMT _40 ={v} pBase_8->CBT; _41 = _40 & 31; bitrate_7(D)->phaseSeg2 = _41; # DEBUG BEGIN_STMT _42 ={v} pBase_8->CBT; _43 = _42 >> 16; _44 = _43 & 31; bitrate_7(D)->rJumpwidth = _44; goto ; [100.00%] [local count: 21222]: # DEBUG BEGIN_STMT # DEBUG base => pBase_8 # DEBUG timeSeg => bitrate_7(D) # DEBUG INLINE_ENTRY FlexCAN_GetTimeSegments # DEBUG BEGIN_STMT _45 ={v} pBase_8->CTRL1; _46 = _45 >> 24; bitrate_7(D)->preDivider = _46; # DEBUG BEGIN_STMT _47 ={v} pBase_8->CTRL1; _48 = _47 & 7; bitrate_7(D)->propSeg = _48; # DEBUG BEGIN_STMT _49 ={v} pBase_8->CTRL1; _50 = _49 >> 19; _51 = _50 & 7; bitrate_7(D)->phaseSeg1 = _51; # DEBUG BEGIN_STMT _52 ={v} pBase_8->CTRL1; _53 = _52 >> 16; _54 = _53 & 7; bitrate_7(D)->phaseSeg2 = _54; # DEBUG BEGIN_STMT _55 ={v} pBase_8->CTRL1; _56 = _55 >> 22; _57 = _56 & 3; bitrate_7(D)->rJumpwidth = _57; [local count: 53687]: # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG BEGIN_STMT return _14; } ;; Function FlexCAN_Ip_ClearTDCFail_Privileged (FlexCAN_Ip_ClearTDCFail_Privileged, funcdef_no=102, decl_uid=4593, cgraph_uid=103, symbol_order=104) FlexCAN_Ip_ClearTDCFail_Privileged (uint8 u8Instance) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _17; signed int _18; _Bool x.0_19; long unsigned int _20; long unsigned int _21; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = u8Instance_9(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_19 ={v} x; if (x.0_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) u8Instance_9(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _18 = (signed int) _17; # DEBUG pBase => NULL # DEBUG disabled => _18 < 0 # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 # DEBUG BEGIN_STMT if (result_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 93684]: # DEBUG result => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].CTRL2; _21 = _20 & 8192; # DEBUG pBase => NULL if (_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 46842]: # DEBUG BEGIN_STMT _3 ={v} pBase_11->ETDC; _4 = _3 | 32768; pBase_11->ETDC ={v} _4; goto ; [100.00%] [local count: 46842]: # DEBUG BEGIN_STMT _5 ={v} pBase_11->FDCTRL; _6 = _5 | 16384; pBase_11->FDCTRL ={v} _6; [local count: 107374]: # DEBUG BEGIN_STMT if (_18 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_11); [local count: 107374]: return; } ;; Function FlexCAN_Ip_GetTDCFail_Privileged (FlexCAN_Ip_GetTDCFail_Privileged, funcdef_no=103, decl_uid=4595, cgraph_uid=104, symbol_order=105) FlexCAN_Ip_GetTDCFail_Privileged (uint8 u8Instance) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType result; boolean value; _Bool _1; int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _19; signed int _20; _Bool x.0_21; long unsigned int _22; long unsigned int _23; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG value => 0 # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = u8Instance_11(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_21 ={v} x; if (x.0_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) u8Instance_11(D); pBase_13 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_13 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_13 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _19 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].MCR; _20 = (signed int) _19; # DEBUG pBase => NULL # DEBUG disabled => _20 < 0 # DEBUG BEGIN_STMT if (_20 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_15 = FlexCAN_Enable (pBase_13); # DEBUG result => result_15 # DEBUG BEGIN_STMT if (result_15 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 93684]: # DEBUG result => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_13 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _22 ={v} MEM[(const struct FLEXCAN_Type *)pBase_13].CTRL2; _23 = _22 & 8192; # DEBUG pBase => NULL if (_23 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 46842]: # DEBUG BEGIN_STMT _3 ={v} pBase_13->ETDC; _4 = _3 & 32768; value_17 = _4 != 0; # DEBUG value => value_17 goto ; [100.00%] [local count: 46842]: # DEBUG BEGIN_STMT _5 ={v} pBase_13->FDCTRL; _6 = _5 & 16384; value_16 = _6 != 0; # DEBUG value => value_16 [local count: 107374]: # value_7 = PHI <0(5), value_17(7), value_16(8)> # DEBUG value => value_7 # DEBUG BEGIN_STMT if (_20 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_13); [local count: 107374]: # DEBUG BEGIN_STMT return value_7; } ;; Function FlexCAN_Ip_GetTDCValue_Privileged (FlexCAN_Ip_GetTDCValue_Privileged, funcdef_no=104, decl_uid=4597, cgraph_uid=105, symbol_order=106) FlexCAN_Ip_GetTDCValue_Privileged (uint8 u8Instance) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType result; uint8 value; _Bool _1; int _2; long unsigned int _3; long unsigned int _4; unsigned char _5; long unsigned int _18; signed int _19; _Bool x.0_20; long unsigned int _21; long unsigned int _22; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG value => 0 # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT _1 = u8Instance_10(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_20 ={v} x; if (x.0_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) u8Instance_10(D); pBase_12 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_12 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_12 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_12].MCR; _19 = (signed int) _18; # DEBUG pBase => NULL # DEBUG disabled => _19 < 0 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_14 = FlexCAN_Enable (pBase_12); # DEBUG result => result_14 # DEBUG BEGIN_STMT if (result_14 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 93684]: # DEBUG result => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_12 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_12].CTRL2; _22 = _21 & 8192; # DEBUG pBase => NULL if (_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 46842]: # DEBUG BEGIN_STMT _3 ={v} pBase_12->ETDC; value_16 = (uint8) _3; # DEBUG value => value_16 goto ; [100.00%] [local count: 46842]: # DEBUG BEGIN_STMT _4 ={v} pBase_12->FDCTRL; _5 = (unsigned char) _4; value_15 = _5 & 63; # DEBUG value => value_15 [local count: 107374]: # value_6 = PHI <0(5), value_16(7), value_15(8)> # DEBUG value => value_6 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT FlexCAN_Disable (pBase_12); [local count: 107374]: # DEBUG BEGIN_STMT return value_6; } ;; Function FlexCAN_Ip_SetBitrateCbt_Privileged (FlexCAN_Ip_SetBitrateCbt_Privileged, funcdef_no=105, decl_uid=4584, cgraph_uid=106, symbol_order=107) Symbols to be put in SSA form { D.6788 } Incremental SSA update started at block: 0 Number of blocks in CFG: 30 Number of blocks to update: 29 ( 97%) Merging blocks 3 and 23 Merging blocks 5 and 22 Merging blocks 12 and 25 Removing basic block 20 Removing basic block 21 Merging blocks 29 and 24 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 2 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 20 9 } ;; 9 succs { 10 11 } ;; 10 succs { 20 11 } ;; 11 succs { 12 20 } ;; 12 succs { 14 13 } ;; 13 succs { 14 } ;; 14 succs { 16 15 } ;; 15 succs { 16 } ;; 16 succs { 17 18 } ;; 17 succs { 19 } ;; 18 succs { 19 } ;; 19 succs { 20 } ;; 20 succs { 21 23 } ;; 21 succs { 22 23 } ;; 22 succs { 23 } ;; 23 succs { 1 } FlexCAN_Ip_SetBitrateCbt_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean bitRateSwitch) { volatile boolean x; volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; _Bool _2; int _3; long unsigned int _25; long unsigned int _26; _Bool _27; long unsigned int _28; signed int _29; _Bool x.0_30; _Bool x.0_31; long unsigned int _32; long unsigned int _33; long unsigned int _34; long unsigned int _35; long unsigned int _38; long unsigned int _39; long unsigned int iftmp.1_40; long unsigned int _41; long unsigned int _42; long unsigned int _43; long unsigned int iftmp.2_44; long unsigned int _45; long unsigned int _46; long unsigned int _47; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_11(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_31 ={v} x; if (x.0_31 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = bitrate_13(D) != 0B; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_30 ={v} x; if (x.0_30 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _3 = (int) instance_11(D); pBase_14 = g_Flexcan_Ip_aBase[_3]; # DEBUG pBase => pBase_14 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _29 = (signed int) _28; # DEBUG pBase => NULL # DEBUG disabled => _29 < 0 # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled # DEBUG BEGIN_STMT _25 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _26 = _25 & 2048; _27 = _26 != 0; # DEBUG base => NULL # DEBUG fd_enable => _27 # DEBUG BEGIN_STMT if (_29 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 13690]: # DEBUG BEGIN_STMT result_16 = FlexCAN_Enable (pBase_14); # DEBUG result => result_16 [local count: 53687]: # result_5 = PHI <0(6), result_16(7)> # DEBUG result => result_5 # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _32 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _33 = _32 & 16777216; # DEBUG base => NULL # DEBUG freeze => _33 != 0 # DEBUG BEGIN_STMT if (_26 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: if (_33 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13422]: if (result_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 20133]: # DEBUG result => result_5 # DEBUG BEGIN_STMT if (result_5 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 6644]: # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _34 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].CTRL2; _35 = _34 & 8192; # DEBUG pBase => NULL # DEBUG enhCbt => _35 != 0 # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15 (); # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG enableFD => _27 # DEBUG enableBRS => bitRateSwitch_18(D) # DEBUG INLINE_ENTRY FlexCAN_SetFDEnabled # DEBUG BEGIN_STMT _38 ={v} pBase_14->MCR; _39 = _38 & 4294965247; if (_27 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3322]: [local count: 6644]: # iftmp.1_40 = PHI <2048(12), 0(13)> _41 = _39 | iftmp.1_40; pBase_14->MCR ={v} _41; # DEBUG BEGIN_STMT _42 ={v} pBase_14->FDCTRL; _43 = _42 & 2147483647; if (bitRateSwitch_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3322]: [local count: 6644]: # iftmp.2_44 = PHI <2147483648(14), 0(15)> _45 = _43 | iftmp.2_44; pBase_14->FDCTRL ={v} _45; # DEBUG BEGIN_STMT _46 ={v} pBase_14->FDCTRL; _47 = _46 & 4294926591; pBase_14->FDCTRL ={v} _47; # DEBUG base => NULL # DEBUG enableFD => NULL # DEBUG enableBRS => NULL # DEBUG BEGIN_STMT if (_35 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 3322]: # DEBUG BEGIN_STMT FlexCAN_SetEnhancedDataTimeSegments (pBase_14, bitrate_13(D)); goto ; [100.00%] [local count: 3322]: # DEBUG BEGIN_STMT FlexCAN_SetFDTimeSegments (pBase_14, bitrate_13(D)); [local count: 6644]: # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15 (); [local count: 53687]: # result_4 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_29 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 13690]: # DEBUG BEGIN_STMT status_24 = FlexCAN_Disable (pBase_14); # DEBUG status => status_24 # DEBUG BEGIN_STMT if (status_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6845]: # DEBUG BEGIN_STMT # DEBUG result => status_24 [local count: 53687]: # result_6 = PHI # DEBUG result => result_6 # DEBUG BEGIN_STMT return result_6; } ;; Function FlexCAN_Ip_GetBitrateFD (FlexCAN_Ip_GetBitrateFD, funcdef_no=106, decl_uid=4674, cgraph_uid=107, symbol_order=108) Symbols to be put in SSA form { D.6789 } Incremental SSA update started at block: 0 Number of blocks in CFG: 22 Number of blocks to update: 21 ( 95%) Merging blocks 3 and 13 Merging blocks 5 and 12 Removing basic block 7 Removing basic block 8 Removing basic block 10 Removing basic block 11 Removing basic block 14 Removing basic block 16 Merging blocks 17 and 18 Removing basic block 20 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 ;; ;; Loop 3 ;; header 8, latch 8 ;; depth 1, outer 0 ;; nodes: 8 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 2 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 10 } ;; 7 succs { 9 8 } ;; 8 succs { 8 } ;; 9 succs { 11 } ;; 10 succs { 11 } ;; 11 succs { 1 } FlexCAN_Ip_GetBitrateFD (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate) { volatile boolean x; volatile boolean x; volatile boolean x; const struct FLEXCAN_Type * pBase; _Bool _1; _Bool _2; int _3; long unsigned int _11; long unsigned int _12; _Bool _13; _Bool x.0_14; _Bool x.0_15; _Bool _18; _Bool x.0_19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; long unsigned int _31; long unsigned int _32; long unsigned int _33; long unsigned int _34; long unsigned int _35; long unsigned int _36; long unsigned int _37; long unsigned int _38; long unsigned int _39; long unsigned int _40; long unsigned int _41; long unsigned int _42; long unsigned int _43; long unsigned int _44; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_5(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_15 ={v} x; if (x.0_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = bitrate_7(D) != 0B; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_14 ={v} x; if (x.0_14 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _3 = (int) instance_5(D); pBase_8 = g_Flexcan_Ip_aBase[_3]; # DEBUG pBase => pBase_8 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_8 # DEBUG INLINE_ENTRY FlexCAN_IsEnhCbtEnabled # DEBUG BEGIN_STMT _11 ={v} pBase_8->CTRL2; _12 = _11 & 8192; _13 = _12 != 0; # DEBUG pBase => NULL # DEBUG enhCbt => _13 # DEBUG BEGIN_STMT if (_12 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG base => pBase_8 # DEBUG timeSeg => bitrate_7(D) # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedDataTimeSegments # DEBUG BEGIN_STMT _18 = bitrate_7(D) != 0B; x ={v} _18; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_19 ={v} x; if (x.0_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 134217728]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 13422]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT bitrate_7(D)->propSeg = 0; # DEBUG BEGIN_STMT _20 ={v} pBase_8->EDCBT; _21 = _20 & 31; bitrate_7(D)->phaseSeg1 = _21; # DEBUG BEGIN_STMT _22 ={v} pBase_8->EDCBT; _23 = _22 >> 12; _24 = _23 & 15; bitrate_7(D)->phaseSeg2 = _24; # DEBUG BEGIN_STMT _25 ={v} pBase_8->EDCBT; _26 = _25 >> 22; _27 = _26 & 15; bitrate_7(D)->rJumpwidth = _27; # DEBUG BEGIN_STMT _28 ={v} pBase_8->EPRS; _29 = _28 >> 16; _30 = _29 & 1023; bitrate_7(D)->preDivider = _30; goto ; [100.00%] [local count: 26844]: # DEBUG BEGIN_STMT # DEBUG base => pBase_8 # DEBUG timeSeg => bitrate_7(D) # DEBUG INLINE_ENTRY FlexCAN_GetFDTimeSegments # DEBUG BEGIN_STMT _31 ={v} pBase_8->FDCBT; _32 = _31 >> 20; _33 = _32 & 1023; bitrate_7(D)->preDivider = _33; # DEBUG BEGIN_STMT _34 ={v} pBase_8->FDCBT; _35 = _34 >> 10; _36 = _35 & 31; bitrate_7(D)->propSeg = _36; # DEBUG BEGIN_STMT _37 ={v} pBase_8->FDCBT; _38 = _37 >> 5; _39 = _38 & 7; bitrate_7(D)->phaseSeg1 = _39; # DEBUG BEGIN_STMT _40 ={v} pBase_8->FDCBT; _41 = _40 & 7; bitrate_7(D)->phaseSeg2 = _41; # DEBUG BEGIN_STMT _42 ={v} pBase_8->FDCBT; _43 = _42 >> 16; _44 = _43 & 7; bitrate_7(D)->rJumpwidth = _44; [local count: 40265]: # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG base => NULL # DEBUG timeSeg => NULL # DEBUG x => NULL # DEBUG BEGIN_STMT return _13; } ;; Function FlexCAN_Ip_SetTDCOffset_Privileged (FlexCAN_Ip_SetTDCOffset_Privileged, funcdef_no=107, decl_uid=4591, cgraph_uid=108, symbol_order=109) Symbols to be put in SSA form { D.6790 } Incremental SSA update started at block: 0 Number of blocks in CFG: 27 Number of blocks to update: 26 ( 96%) Merging blocks 3 and 18 Removing basic block 10 Removing basic block 11 Removing basic block 17 Removing basic block 19 Removing basic block 23 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 17 8 } ;; 8 succs { 9 17 } ;; 9 succs { 10 13 } ;; 10 succs { 11 12 } ;; 11 succs { 12 } ;; 12 succs { 16 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 16 } ;; 16 succs { 17 } ;; 17 succs { 18 20 } ;; 18 succs { 19 20 } ;; 19 succs { 20 } ;; 20 succs { 1 } FlexCAN_Ip_SetTDCOffset_Privileged (uint8 instance, boolean enable, uint8 offset) { uint32 tmp; uint32 tmp; volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _3; long unsigned int _4; long unsigned int _25; signed int _26; _Bool x.0_27; long unsigned int _28; long unsigned int _29; long unsigned int _34; long unsigned int _35; long unsigned int _36; long unsigned int _42; long unsigned int _43; long unsigned int _44; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_11(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_27 ={v} x; if (x.0_27 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_11(D); pBase_14 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_14 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _25 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _26 = (signed int) _25; # DEBUG pBase => NULL # DEBUG disabled => _26 < 0 # DEBUG BEGIN_STMT if (_26 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_16 = FlexCAN_Enable (pBase_14); # DEBUG result => result_16 [local count: 107374]: # result_5 = PHI <0(4), result_16(5)> # DEBUG result => result_5 # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_14].MCR; _29 = _28 & 16777216; # DEBUG base => NULL # DEBUG freeze => _29 != 0 # DEBUG BEGIN_STMT if (_29 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_5 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_5 # DEBUG BEGIN_STMT if (result_5 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 26575]: # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16 (); # DEBUG BEGIN_STMT _3 ={v} pBase_14->CTRL2; _4 = _3 & 8192; if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13288]: # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG enable => enable_18(D) # DEBUG offset => offset_19(D) # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedTDCOffset # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT tmp_31 ={v} pBase_14->ETDC; # DEBUG tmp => tmp_31 # DEBUG BEGIN_STMT tmp_32 = tmp_31 & 2139160575; # DEBUG tmp => tmp_32 # DEBUG BEGIN_STMT if (enable_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6644]: # DEBUG BEGIN_STMT tmp_33 = tmp_32 | 2147483648; # DEBUG tmp => tmp_33 # DEBUG BEGIN_STMT _34 = (long unsigned int) offset_19(D); _35 = _34 << 16; _36 = _35 & 8323072; tmp_37 = tmp_33 | _36; # DEBUG tmp => tmp_37 [local count: 13288]: # tmp_38 = PHI # DEBUG tmp => tmp_38 # DEBUG BEGIN_STMT pBase_14->ETDC ={v} tmp_38; goto ; [100.00%] [local count: 13288]: # DEBUG BEGIN_STMT # DEBUG base => pBase_14 # DEBUG enable => enable_18(D) # DEBUG offset => offset_19(D) # DEBUG INLINE_ENTRY FlexCAN_SetTDCOffset # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT tmp_39 ={v} pBase_14->FDCTRL; # DEBUG tmp => tmp_39 # DEBUG BEGIN_STMT tmp_40 = tmp_39 & 4294926591; # DEBUG tmp => tmp_40 # DEBUG BEGIN_STMT if (enable_18(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 6644]: # DEBUG BEGIN_STMT tmp_41 = tmp_40 | 32768; # DEBUG tmp => tmp_41 # DEBUG BEGIN_STMT _42 = (long unsigned int) offset_19(D); _43 = _42 << 8; _44 = _43 & 7936; tmp_45 = tmp_41 | _44; # DEBUG tmp => tmp_45 [local count: 13288]: # tmp_46 = PHI # DEBUG tmp => tmp_46 # DEBUG BEGIN_STMT pBase_14->FDCTRL ={v} tmp_46; [local count: 26575]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG offset => NULL # DEBUG tmp => NULL # DEBUG base => NULL # DEBUG enable => NULL # DEBUG offset => NULL # DEBUG tmp => NULL # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16 (); [local count: 107374]: # result_13 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_26 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_24 = FlexCAN_Disable (pBase_14); # DEBUG status => status_24 # DEBUG BEGIN_STMT if (status_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_24 [local count: 107374]: # result_6 = PHI # DEBUG result => result_6 # DEBUG BEGIN_STMT return result_6; } ;; Function FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged, funcdef_no=108, decl_uid=4587, cgraph_uid=109, symbol_order=110) Symbols to be put in SSA form { D.6791 } Incremental SSA update started at block: 0 Number of blocks in CFG: 18 Number of blocks to update: 17 ( 94%) Merging blocks 3 and 15 Merging blocks 9 and 17 Removing basic block 14 Merging blocks 9 and 16 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 10 8 } ;; 8 succs { 9 10 } ;; 9 succs { 10 } ;; 10 succs { 11 13 } ;; 11 succs { 12 13 } ;; 12 succs { 13 } ;; 13 succs { 1 } FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (uint8 instance, uint8 value) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _20; signed int _21; _Bool x.0_22; long unsigned int _23; long unsigned int _24; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; long unsigned int _31; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_22 ={v} x; if (x.0_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _20 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _21 = (signed int) _20; # DEBUG pBase => NULL # DEBUG disabled => _21 < 0 # DEBUG BEGIN_STMT if (_21 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _23 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _24 = _23 & 16777216; # DEBUG base => NULL # DEBUG freeze => _24 != 0 # DEBUG BEGIN_STMT if (_24 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 26575]: # DEBUG BEGIN_STMT SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17 (); # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG tasd => value_15(D) # DEBUG INLINE_ENTRY FlexCAN_SetTxArbitrationStartDelay # DEBUG BEGIN_STMT _26 ={v} pBase_11->CTRL2; _27 = _26 & 4278714367; _28 = (long unsigned int) value_15(D); _29 = _28 << 19; _30 = _29 & 16252928; _31 = _27 | _30; pBase_11->CTRL2 ={v} _31; # DEBUG base => NULL # DEBUG tasd => NULL # DEBUG BEGIN_STMT SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17 (); [local count: 107374]: # result_10 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_21 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_19 = FlexCAN_Disable (pBase_11); # DEBUG status => status_19 # DEBUG BEGIN_STMT if (status_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_19 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_GetBuffStatusFlag (FlexCAN_Ip_GetBuffStatusFlag, funcdef_no=109, decl_uid=4677, cgraph_uid=110, symbol_order=111) FlexCAN_Ip_GetBuffStatusFlag (uint8 instance, uint8 msgBuffIdx) { volatile boolean x; const struct FLEXCAN_Type * pBase; boolean returnResult; _Bool _1; int _2; long unsigned int _3; unsigned char _4; long unsigned int _13; _Bool x.0_15; long unsigned int _16; [local count: 214748]: # DEBUG BEGIN_STMT # DEBUG returnResult => 1 # DEBUG BEGIN_STMT _1 = instance_7(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_15 ={v} x; if (x.0_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) instance_7(D); pBase_9 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_9 # DEBUG BEGIN_STMT if (msgBuffIdx_10(D) == 255) goto ; [51.12%] else goto ; [48.88%] [local count: 54890]: # DEBUG BEGIN_STMT # DEBUG base => pBase_9 # DEBUG intFlag => 30 # DEBUG INLINE_ENTRY FlexCAN_GetEnhancedRxFIFOStatusFlag # DEBUG BEGIN_STMT _16 ={v} pBase_9->ERFSR; _13 = _16 >> 30; # DEBUG base => NULL # DEBUG intFlag => NULL returnResult_14 = (boolean) _13; # DEBUG returnResult => returnResult_14 goto ; [100.00%] [local count: 52484]: # DEBUG BEGIN_STMT _3 = (long unsigned int) msgBuffIdx_10(D); _4 = FlexCAN_GetBuffStatusFlag (pBase_9, _3); returnResult_12 = _4 == 1; # DEBUG returnResult => returnResult_12 [local count: 107374]: # returnResult_5 = PHI # DEBUG returnResult => returnResult_5 # DEBUG BEGIN_STMT return returnResult_5; } ;; Function FlexCAN_Ip_ClearBuffStatusFlag (FlexCAN_Ip_ClearBuffStatusFlag, funcdef_no=110, decl_uid=4680, cgraph_uid=111, symbol_order=112) FlexCAN_Ip_ClearBuffStatusFlag (uint8 instance, uint8 msgBuffIdx) { volatile boolean x; struct FLEXCAN_Type * pBase; _Bool _1; int _2; long unsigned int _3; _Bool x.0_10; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_5(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_10 ={v} x; if (x.0_10 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = (int) instance_5(D); pBase_7 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_7 # DEBUG BEGIN_STMT if (msgBuffIdx_8(D) == 255) goto ; [51.12%] else goto ; [48.88%] [local count: 54890]: # DEBUG BEGIN_STMT # DEBUG base => pBase_7 # DEBUG intFlag => 30 # DEBUG INLINE_ENTRY FlexCAN_ClearEnhancedRxFifoIntStatusFlag # DEBUG BEGIN_STMT pBase_7->ERFSR ={v} 1073741824; goto ; [100.00%] [local count: 52484]: # DEBUG BEGIN_STMT _3 = (long unsigned int) msgBuffIdx_8(D); FlexCAN_ClearMsgBuffIntStatusFlag (pBase_7, _3); [local count: 107374]: # DEBUG base => NULL # DEBUG intFlag => NULL return; } ;; Function FlexCAN_Ip_EnableInterrupts_Privileged (FlexCAN_Ip_EnableInterrupts_Privileged, funcdef_no=111, decl_uid=4599, cgraph_uid=112, symbol_order=113) FlexCAN_Ip_EnableInterrupts_Privileged (uint8 u8Instance) { volatile boolean x; struct Flexcan_Ip_StateType * state; Flexcan_Ip_StatusType result; struct FLEXCAN_Type * pBase; int _1; _Bool _2; _Bool _3; _Bool _4; long unsigned int _15; signed int _16; _Bool x.0_17; long unsigned int _18; signed int _19; long unsigned int _20; long unsigned int _21; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) u8Instance_8(D); pBase_10 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_10 # DEBUG BEGIN_STMT # DEBUG result => 1 # DEBUG BEGIN_STMT state_11 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_11 # DEBUG BEGIN_STMT _2 = u8Instance_8(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_17 ={v} x; if (x.0_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_10 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _15 ={v} MEM[(const struct FLEXCAN_Type *)pBase_10].MCR; _16 = (signed int) _15; # DEBUG pBase => NULL if (_16 >= 0) goto ; [41.48%] else goto ; [58.52%] [local count: 44539]: # DEBUG BEGIN_STMT FlexCAN_EnableInterrupts (pBase_10, u8Instance_8(D)); # DEBUG BEGIN_STMT _3 = state_11->enhancedFifoOutput.isPolling; if (_3 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 14698]: _4 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_10); if (_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 7349]: # DEBUG BEGIN_STMT # DEBUG base => pBase_10 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_10].ERFCR; _19 = (signed int) _18; # DEBUG base => NULL if (_19 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 3013]: # DEBUG BEGIN_STMT # DEBUG base => pBase_10 # DEBUG enable => 1 # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _20 ={v} pBase_10->ERFIER; _21 = _20 | 4026531840; pBase_10->ERFIER ={v} _21; [local count: 44539]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT state_11->isIntActive = 1; # DEBUG BEGIN_STMT # DEBUG result => 0 [local count: 107374]: # result_5 = PHI <1(4), 0(9)> # DEBUG result => result_5 # DEBUG BEGIN_STMT return result_5; } ;; Function FlexCAN_Ip_DisableInterrupts_Privileged (FlexCAN_Ip_DisableInterrupts_Privileged, funcdef_no=112, decl_uid=4601, cgraph_uid=113, symbol_order=114) FlexCAN_Ip_DisableInterrupts_Privileged (uint8 u8Instance) { volatile boolean x; struct Flexcan_Ip_StateType * state; Flexcan_Ip_StatusType result; struct FLEXCAN_Type * pBase; int _1; _Bool _2; _Bool _3; long unsigned int _14; signed int _15; _Bool x.0_16; long unsigned int _17; signed int _18; long unsigned int _19; long unsigned int _20; [local count: 214748]: # DEBUG BEGIN_STMT _1 = (int) u8Instance_7(D); pBase_9 = g_Flexcan_Ip_aBase[_1]; # DEBUG pBase => pBase_9 # DEBUG BEGIN_STMT # DEBUG result => 1 # DEBUG BEGIN_STMT state_10 = g_flexcan_Ip_StatePtr[_1]; # DEBUG state => state_10 # DEBUG BEGIN_STMT _2 = u8Instance_7(D) <= 5; x ={v} _2; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_16 ={v} x; if (x.0_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG pBase => pBase_9 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _14 ={v} MEM[(const struct FLEXCAN_Type *)pBase_9].MCR; _15 = (signed int) _14; # DEBUG pBase => NULL if (_15 >= 0) goto ; [41.48%] else goto ; [58.52%] [local count: 44539]: # DEBUG BEGIN_STMT FlexCAN_DisableInterrupts (pBase_9); # DEBUG BEGIN_STMT _3 = FlexCAN_IsEnhancedRxFifoAvailable (pBase_9); if (_3 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 22269]: # DEBUG BEGIN_STMT # DEBUG base => pBase_9 # DEBUG INLINE_ENTRY FlexCAN_IsEnhancedRxFifoEnabled # DEBUG BEGIN_STMT _17 ={v} MEM[(const struct FLEXCAN_Type *)pBase_9].ERFCR; _18 = (signed int) _17; # DEBUG base => NULL if (_18 < 0) goto ; [41.00%] else goto ; [59.00%] [local count: 9130]: # DEBUG BEGIN_STMT # DEBUG base => pBase_9 # DEBUG enable => 0 # DEBUG INLINE_ENTRY FlexCAN_SetEnhancedRxFifoIntAll # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _19 ={v} pBase_9->ERFIER; _20 = _19 & 268435455; pBase_9->ERFIER ={v} _20; [local count: 44539]: # DEBUG base => NULL # DEBUG enable => NULL # DEBUG BEGIN_STMT state_10->isIntActive = 0; # DEBUG BEGIN_STMT # DEBUG result => 0 [local count: 107374]: # result_4 = PHI <1(4), 0(8)> # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_SetErrorInt_Privileged (FlexCAN_Ip_SetErrorInt_Privileged, funcdef_no=113, decl_uid=4605, cgraph_uid=114, symbol_order=115) FlexCAN_Ip_SetErrorInt_Privileged (uint8 u8Instance, Flexcan_Ip_ErrorIntType type, boolean enable) { volatile boolean x; volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _23; signed int _24; _Bool x.0_25; long unsigned int _26; long unsigned int _27; long unsigned int _28; long unsigned int _29; _Bool x.0_30; [local count: 214748]: # DEBUG BEGIN_STMT _1 = u8Instance_7(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_25 ={v} x; if (x.0_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) u8Instance_7(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _23 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _24 = (signed int) _23; # DEBUG pBase => NULL # DEBUG disabled => _24 < 0 # DEBUG BEGIN_STMT if (_24 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 # DEBUG BEGIN_STMT if (result_13 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 93684]: # result_9 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT switch (type_14(D)) [16.67%], case 0: [16.67%], case 1: [16.67%], case 2: [16.67%], case 3: [16.67%], case 4: [16.67%]> [local count: 15617]: : # DEBUG BEGIN_STMT FlexCAN_SetErrIntCmd (pBase_11, 32768, enable_15(D)); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 15617]: : # DEBUG BEGIN_STMT FlexCAN_SetErrIntCmd (pBase_11, 16384, enable_15(D)); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 15617]: : # DEBUG BEGIN_STMT FlexCAN_SetErrIntCmd (pBase_11, 16385, enable_15(D)); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 15617]: : # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _26 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _27 = _26 & 16777216; # DEBUG base => NULL if (_27 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 5154]: # DEBUG BEGIN_STMT FlexCAN_SetErrIntCmd (pBase_11, 1024, enable_15(D)); goto ; [100.00%] [local count: 15617]: : # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _28 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _29 = _28 & 16777216; # DEBUG base => NULL if (_29 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 5154]: # DEBUG BEGIN_STMT FlexCAN_SetErrIntCmd (pBase_11, 2048, enable_15(D)); goto ; [100.00%] [local count: 15617]: : # DEBUG BEGIN_STMT x ={v} 0; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_30 ={v} x; if (x.0_30 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 7809]: [local count: 78085593]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 78085593]: goto ; [100.00%] [local count: 99584]: # result_3 = PHI # DEBUG x => NULL # DEBUG result => result_3 # DEBUG BEGIN_STMT if (_24 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 25394]: # DEBUG BEGIN_STMT status_22 = FlexCAN_Disable (pBase_11); # DEBUG status => status_22 # DEBUG BEGIN_STMT if (status_22 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 12697]: # DEBUG BEGIN_STMT # DEBUG result => status_22 [local count: 99584]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_AbortTransfer (FlexCAN_Ip_AbortTransfer, funcdef_no=114, decl_uid=4683, cgraph_uid=115, symbol_order=116) Symbols to be put in SSA form { D.6797 D.7521 D.7531 } Incremental SSA update started at block: 0 Number of blocks in CFG: 38 Number of blocks to update: 37 ( 97%) Merging blocks 3 and 16 Merging blocks 5 and 15 Removing basic block 9 Removing basic block 11 Removing basic block 13 Removing basic block 14 Removing basic block 20 Merging blocks 27 and 17 Removing basic block 28 Merging blocks 30 and 37 Merging blocks 30 and 36 ;; 4 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ;; ;; Loop 3 ;; header 11, latch 10 ;; depth 1, outer 0 ;; nodes: 11 10 ;; ;; Loop 1 ;; header 5, latch 5 ;; depth 1, outer 0 ;; nodes: 5 ;; ;; Loop 2 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 6 5 } ;; 5 succs { 5 } ;; 6 succs { 7 26 } ;; 7 succs { 26 8 } ;; 8 succs { 9 18 } ;; 9 succs { 11 } ;; 10 succs { 12 11 } ;; 11 succs { 10 12 } ;; 12 succs { 13 17 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 16 17 } ;; 16 succs { 17 } ;; 17 succs { 18 } ;; 18 succs { 19 26 } ;; 19 succs { 20 24 } ;; 20 succs { 21 22 } ;; 21 succs { 22 } ;; 22 succs { 23 25 } ;; 23 succs { 25 } ;; 24 succs { 25 } ;; 25 succs { 26 } ;; 26 succs { 1 } FlexCAN_Ip_AbortTransfer (uint8 u8Instance, uint8 mb_idx) { uint32 D.7531; struct FLEXCAN_Type * pBase; struct Flexcan_Ip_StateType * state; uint32 val1; uint32 val2; uint32 flexcan_mb_config; volatile uint32 * flexcan_mb; struct FLEXCAN_Type * pBase; struct Flexcan_Ip_StateType * state; Flexcan_Ip_StatusType result; uint32 timeStart; uint32 timeElapsed; uint32 flexcan_mb_config; uint32 uS2Ticks; volatile uint32 * flexcan_mb; Flexcan_Ip_StatusType D.7521; volatile boolean x; volatile boolean x; Flexcan_Ip_StatusType result; const struct Flexcan_Ip_StateType * state; struct FLEXCAN_Type * pBase; _Bool _1; unsigned char _2; _Bool _3; int _4; int _5; _6; long unsigned int _7; _Bool _8; _9; _10; _Bool x.0_24; _Bool x.0_25; int _28; long unsigned int _31; long unsigned int _37; long unsigned int _38; unsigned char _41; long unsigned int _44; long unsigned int _45; int _46; int _49; int _52; _Bool _53; long unsigned int _54; long unsigned int _55; long unsigned int _58; _Bool _63; long unsigned int _64; long unsigned int _69; long unsigned int _70; long unsigned int _71; long unsigned int _72; long unsigned int _73; [local count: 214748]: # DEBUG BEGIN_STMT _1 = u8Instance_15(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_25 ={v} x; if (x.0_25 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _2 = mb_idx_17(D) + 160; _3 = _2 > 158; x ={v} _3; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_24 ={v} x; if (x.0_24 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 53687]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT _4 = (int) u8Instance_15(D); pBase_18 = g_Flexcan_Ip_aBase[_4]; # DEBUG pBase => pBase_18 # DEBUG BEGIN_STMT state_19 = g_flexcan_Ip_StatePtr[_4]; # DEBUG state => state_19 # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT if (mb_idx_17(D) <= 95) goto ; [50.00%] else goto ; [50.00%] [local count: 26844]: # DEBUG BEGIN_STMT _5 = (int) mb_idx_17(D); _6 ={v} state_19->mbs[_5].state; if (_6 == 0) goto ; [52.23%] else goto ; [47.77%] [local count: 12823]: # DEBUG BEGIN_STMT _7 = (long unsigned int) mb_idx_17(D); _8 = state_19->isIntActive; FLEXCAN_ClearMsgBuffIntCmd (pBase_18, u8Instance_15(D), _7, _8); # DEBUG BEGIN_STMT _9 ={v} state_19->mbs[_5].state; if (_9 == 2) goto ; [20.24%] else goto ; [79.76%] [local count: 2595]: # DEBUG BEGIN_STMT # DEBUG u8Instance => u8Instance_15(D) # DEBUG mb_idx => mb_idx_17(D) # DEBUG INLINE_ENTRY FlexCAN_AbortTxTransfer # DEBUG BEGIN_STMT _28 = (int) u8Instance_15(D); pBase_29 = g_Flexcan_Ip_aBase[_28]; # DEBUG pBase => pBase_29 # DEBUG BEGIN_STMT state_30 = g_flexcan_Ip_StatePtr[_28]; # DEBUG state => state_30 # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT timeStart = 0; # DEBUG BEGIN_STMT # DEBUG timeElapsed => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => 0 # DEBUG BEGIN_STMT # DEBUG uS2Ticks => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb => 0B # DEBUG BEGIN_STMT _31 = (long unsigned int) mb_idx_17(D); flexcan_mb_32 = FlexCAN_GetMsgBuffRegion (pBase_29, _31); # DEBUG flexcan_mb => flexcan_mb_32 # DEBUG BEGIN_STMT flexcan_mb_config_33 ={v} *flexcan_mb_32; # DEBUG flexcan_mb_config => flexcan_mb_config_33 # DEBUG BEGIN_STMT flexcan_mb_config_34 = flexcan_mb_config_33 & 4043309055; # DEBUG flexcan_mb_config => flexcan_mb_config_34 # DEBUG BEGIN_STMT flexcan_mb_config_35 = flexcan_mb_config_34 | 150994944; # DEBUG flexcan_mb_config => flexcan_mb_config_35 # DEBUG BEGIN_STMT *flexcan_mb_32 ={v} flexcan_mb_config_35; # DEBUG BEGIN_STMT uS2Ticks_36 = OsIf_MicrosToTicks (100, 0); # DEBUG uS2Ticks => uS2Ticks_36 # DEBUG BEGIN_STMT _37 = OsIf_GetCounter (0); timeStart = _37; # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 22927]: # DEBUG BEGIN_STMT _38 = OsIf_GetElapsed (&timeStart, 0); timeElapsed_40 = _38 + timeElapsed_39; # DEBUG timeElapsed => timeElapsed_40 # DEBUG BEGIN_STMT if (uS2Ticks_36 <= timeElapsed_40) goto ; [5.50%] else goto ; [94.50%] [local count: 24262]: # timeElapsed_39 = PHI <0(9), timeElapsed_40(10)> # DEBUG timeElapsed => timeElapsed_39 # DEBUG BEGIN_STMT _41 = FlexCAN_GetBuffStatusFlag (pBase_29, _31); if (_41 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 2595]: # result_42 = PHI <3(10), 0(11)> # DEBUG result => result_42 # DEBUG BEGIN_STMT if (result_42 != 3) goto ; [66.00%] else goto ; [34.00%] [local count: 1713]: # DEBUG BEGIN_STMT flexcan_mb_config_43 ={v} *flexcan_mb_32; # DEBUG flexcan_mb_config => flexcan_mb_config_43 # DEBUG BEGIN_STMT _44 = flexcan_mb_config_43 >> 24; _45 = _44 & 15; if (_45 == 8) goto ; [34.00%] else goto ; [66.00%] [local count: 582]: # DEBUG BEGIN_STMT # DEBUG result => 5 [local count: 1713]: # result_48 = PHI # DEBUG result => result_48 # DEBUG BEGIN_STMT if (_45 == 9) goto ; [34.00%] else goto ; [66.00%] [local count: 582]: # DEBUG BEGIN_STMT # DEBUG result => 0 [local count: 2595]: # result_47 = PHI # DEBUG result => result_47 # DEBUG BEGIN_STMT FlexCAN_ClearMsgBuffIntStatusFlag (pBase_29, _31); # DEBUG BEGIN_STMT _46 = (int) mb_idx_17(D); state_30->mbs[_46].state ={v} 0; # DEBUG BEGIN_STMT timeStart ={v} {CLOBBER}; _89 = result_47; # DEBUG u8Instance => NULL # DEBUG mb_idx => NULL # DEBUG flexcan_mb => NULL # DEBUG uS2Ticks => NULL # DEBUG flexcan_mb_config => NULL # DEBUG timeElapsed => NULL # DEBUG timeStart => NULL # DEBUG result => NULL # DEBUG state => NULL # DEBUG pBase => NULL result_22 = _89; # DEBUG result => result_22 [local count: 12823]: # result_11 = PHI <0(8), result_22(17)> # DEBUG result => result_11 # DEBUG BEGIN_STMT _10 ={v} state_19->mbs[_5].state; if (_10 == 1) goto ; [20.24%] else goto ; [79.76%] [local count: 2595]: # DEBUG BEGIN_STMT # DEBUG u8Instance => u8Instance_15(D) # DEBUG mb_idx => mb_idx_17(D) # DEBUG INLINE_ENTRY FlexCAN_AbortRxTransfer # DEBUG BEGIN_STMT _49 = (int) u8Instance_15(D); pBase_50 = g_Flexcan_Ip_aBase[_49]; # DEBUG pBase => pBase_50 # DEBUG BEGIN_STMT state_51 = g_flexcan_Ip_StatePtr[_49]; # DEBUG state => state_51 # DEBUG BEGIN_STMT # DEBUG val1 => 0 # DEBUG BEGIN_STMT # DEBUG val2 => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => 0 # DEBUG BEGIN_STMT # DEBUG flexcan_mb => 0B # DEBUG BEGIN_STMT _52 = (int) mb_idx_17(D); state_51->mbs[_52].state ={v} 0; # DEBUG BEGIN_STMT _53 = state_51->bIsLegacyFifoEn; if (_53 != 0) goto ; [67.00%] else goto ; [33.00%] [local count: 1739]: # DEBUG BEGIN_STMT _54 ={v} pBase_50->CTRL2; _55 = _54 >> 24; val1_56 = _55 & 15; # DEBUG val1 => val1_56 # DEBUG BEGIN_STMT # DEBUG x => val1_56 # DEBUG INLINE_ENTRY RxFifoOcuppiedLastMsgBuff # DEBUG BEGIN_STMT _70 = val1_56 + 1; _71 = _70 * 8; _72 = _71 >> 2; _73 = _72 + 5; _94 = _73; # DEBUG x => NULL val2_57 = _94; # DEBUG val2 => val2_57 # DEBUG BEGIN_STMT _58 = (long unsigned int) mb_idx_17(D); if (val2_57 < _58) goto ; [33.00%] else goto ; [67.00%] [local count: 574]: # DEBUG BEGIN_STMT flexcan_mb_59 = FlexCAN_GetMsgBuffRegion (pBase_50, _58); # DEBUG flexcan_mb => flexcan_mb_59 # DEBUG BEGIN_STMT flexcan_mb_config_60 ={v} *flexcan_mb_59; # DEBUG flexcan_mb_config => flexcan_mb_config_60 # DEBUG BEGIN_STMT flexcan_mb_config_61 = flexcan_mb_config_60 & 4043309055; # DEBUG flexcan_mb_config => flexcan_mb_config_61 # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => flexcan_mb_config_61 # DEBUG BEGIN_STMT *flexcan_mb_59 ={v} flexcan_mb_config_61; # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => flexcan_mb_config_61 # DEBUG BEGIN_STMT flexcan_mb_config_62 = flexcan_mb_config_61 | 67108864; # DEBUG flexcan_mb_config => flexcan_mb_config_62 # DEBUG BEGIN_STMT *flexcan_mb_59 ={v} flexcan_mb_config_62; [local count: 1739]: # DEBUG BEGIN_STMT if (mb_idx_17(D) == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 574]: # DEBUG BEGIN_STMT _63 = state_51->isIntActive; FLEXCAN_ClearMsgBuffIntCmd (pBase_50, u8Instance_15(D), 5, _63); goto ; [100.00%] [local count: 856]: # DEBUG BEGIN_STMT _64 = (long unsigned int) mb_idx_17(D); flexcan_mb_65 = FlexCAN_GetMsgBuffRegion (pBase_50, _64); # DEBUG flexcan_mb => flexcan_mb_65 # DEBUG BEGIN_STMT flexcan_mb_config_66 ={v} *flexcan_mb_65; # DEBUG flexcan_mb_config => flexcan_mb_config_66 # DEBUG BEGIN_STMT flexcan_mb_config_67 = flexcan_mb_config_66 & 4043309055; # DEBUG flexcan_mb_config => flexcan_mb_config_67 # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => flexcan_mb_config_67 # DEBUG BEGIN_STMT *flexcan_mb_65 ={v} flexcan_mb_config_67; # DEBUG BEGIN_STMT # DEBUG flexcan_mb_config => flexcan_mb_config_67 # DEBUG BEGIN_STMT flexcan_mb_config_68 = flexcan_mb_config_67 | 67108864; # DEBUG flexcan_mb_config => flexcan_mb_config_68 # DEBUG BEGIN_STMT *flexcan_mb_65 ={v} flexcan_mb_config_68; [local count: 2595]: # DEBUG BEGIN_STMT _69 = (long unsigned int) mb_idx_17(D); FlexCAN_ClearMsgBuffIntStatusFlag (pBase_50, _69); [local count: 53687]: # result_12 = PHI <0(6), 5(7), result_11(18), result_11(25)> # DEBUG u8Instance => NULL # DEBUG mb_idx => NULL # DEBUG flexcan_mb => NULL # DEBUG flexcan_mb_config => NULL # DEBUG val2 => NULL # DEBUG val1 => NULL # DEBUG state => NULL # DEBUG pBase => NULL # DEBUG result => result_12 # DEBUG BEGIN_STMT return result_12; } ;; Function FlexCAN_Ip_SetRxMb14Mask_Privileged (FlexCAN_Ip_SetRxMb14Mask_Privileged, funcdef_no=115, decl_uid=4566, cgraph_uid=116, symbol_order=117) FlexCAN_Ip_SetRxMb14Mask_Privileged (uint8 instance, uint32 mask) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _18; signed int _19; _Bool x.0_20; long unsigned int _21; long unsigned int _22; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_20 ={v} x; if (x.0_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG freeze => 0 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _19 = (signed int) _18; # DEBUG pBase => NULL # DEBUG disabled => _19 < 0 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _22 = _21 & 16777216; # DEBUG base => NULL # DEBUG freeze => _22 != 0 # DEBUG BEGIN_STMT if (_22 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 40265]: # DEBUG BEGIN_STMT pBase_11->RX14MASK ={v} mask_14(D); [local count: 107374]: # result_10 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_17 = FlexCAN_Disable (pBase_11); # DEBUG status => status_17 # DEBUG BEGIN_STMT if (status_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_17 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_SetRxMb15Mask_Privileged (FlexCAN_Ip_SetRxMb15Mask_Privileged, funcdef_no=116, decl_uid=4569, cgraph_uid=117, symbol_order=118) FlexCAN_Ip_SetRxMb15Mask_Privileged (uint8 instance, uint32 mask) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _18; signed int _19; _Bool x.0_20; long unsigned int _21; long unsigned int _22; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_20 ={v} x; if (x.0_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG freeze => 0 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _19 = (signed int) _18; # DEBUG pBase => NULL # DEBUG disabled => _19 < 0 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _22 = _21 & 16777216; # DEBUG base => NULL # DEBUG freeze => _22 != 0 # DEBUG BEGIN_STMT if (_22 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 40265]: # DEBUG BEGIN_STMT pBase_11->RX15MASK ={v} mask_14(D); [local count: 107374]: # result_10 = PHI # DEBUG result => NULL # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_17 = FlexCAN_Disable (pBase_11); # DEBUG status => status_17 # DEBUG BEGIN_STMT if (status_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_17 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_SetListenOnlyMode_Privileged (FlexCAN_Ip_SetListenOnlyMode_Privileged, funcdef_no=117, decl_uid=4608, cgraph_uid=118, symbol_order=119) Symbols to be put in SSA form { D.6800 } Incremental SSA update started at block: 0 Number of blocks in CFG: 20 Number of blocks to update: 19 ( 95%) Merging blocks 3 and 15 Removing basic block 9 Removing basic block 14 Removing basic block 16 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ;; ;; Loop 1 ;; header 3, latch 3 ;; depth 1, outer 0 ;; nodes: 3 ;; 2 succs { 4 3 } ;; 3 succs { 3 } ;; 4 succs { 5 6 } ;; 5 succs { 6 } ;; 6 succs { 7 8 } ;; 7 succs { 12 8 } ;; 8 succs { 9 12 } ;; 9 succs { 11 10 } ;; 10 succs { 11 } ;; 11 succs { 12 } ;; 12 succs { 13 15 } ;; 13 succs { 14 15 } ;; 14 succs { 15 } ;; 15 succs { 1 } FlexCAN_Ip_SetListenOnlyMode_Privileged (uint8 instance, const boolean enable) { volatile boolean x; struct FLEXCAN_Type * pBase; Flexcan_Ip_StatusType status; Flexcan_Ip_StatusType result; _Bool _1; int _2; long unsigned int _18; signed int _19; _Bool x.0_20; long unsigned int _21; long unsigned int _22; long unsigned int _24; long unsigned int _25; long unsigned int iftmp.7_26; long unsigned int _27; [local count: 214748]: # DEBUG BEGIN_STMT _1 = instance_8(D) <= 5; x ={v} _1; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_20 ={v} x; if (x.0_20 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 107374]: # DEBUG BEGIN_STMT # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG result => 0 # DEBUG BEGIN_STMT # DEBUG status => 0 # DEBUG BEGIN_STMT _2 = (int) instance_8(D); pBase_11 = g_Flexcan_Ip_aBase[_2]; # DEBUG pBase => pBase_11 # DEBUG BEGIN_STMT # DEBUG pBase => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsEnabled # DEBUG BEGIN_STMT _18 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _19 = (signed int) _18; # DEBUG pBase => NULL # DEBUG disabled => _19 < 0 # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT result_13 = FlexCAN_Enable (pBase_11); # DEBUG result => result_13 [local count: 107374]: # result_3 = PHI <0(4), result_13(5)> # DEBUG result => result_3 # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG INLINE_ENTRY FlexCAN_IsFreezeMode # DEBUG BEGIN_STMT _21 ={v} MEM[(const struct FLEXCAN_Type *)pBase_11].MCR; _22 = _21 & 16777216; # DEBUG base => NULL # DEBUG freeze => _22 != 0 # DEBUG BEGIN_STMT if (_22 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 53687]: if (result_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 80531]: # DEBUG result => result_3 # DEBUG BEGIN_STMT if (result_3 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 26575]: # DEBUG BEGIN_STMT # DEBUG base => pBase_11 # DEBUG enableListenOnly => enable_14(D) # DEBUG INLINE_ENTRY FlexCAN_SetListenOnlyMode # DEBUG BEGIN_STMT _24 ={v} pBase_11->CTRL1; _25 = _24 & 4294967287; if (enable_14(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13288]: [local count: 26575]: # iftmp.7_26 = PHI <8(9), 0(10)> _27 = _25 | iftmp.7_26; pBase_11->CTRL1 ={v} _27; [local count: 107374]: # result_10 = PHI # DEBUG base => NULL # DEBUG enableListenOnly => NULL # DEBUG result => NULL # DEBUG BEGIN_STMT if (_19 < 0) goto ; [25.50%] else goto ; [74.50%] [local count: 27380]: # DEBUG BEGIN_STMT status_17 = FlexCAN_Disable (pBase_11); # DEBUG status => status_17 # DEBUG BEGIN_STMT if (status_17 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 13690]: # DEBUG BEGIN_STMT # DEBUG result => status_17 [local count: 107374]: # result_4 = PHI # DEBUG result => result_4 # DEBUG BEGIN_STMT return result_4; } ;; Function FlexCAN_Ip_GetListenOnlyMode (FlexCAN_Ip_GetListenOnlyMode, funcdef_no=118, decl_uid=4685, cgraph_uid=119, symbol_order=120) FlexCAN_Ip_GetListenOnlyMode (uint8 instance) { const struct FLEXCAN_Type * base; int _1; long unsigned int _5; long unsigned int _6; _Bool _7; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) instance_2(D); base_4 = g_Flexcan_Ip_aBase[_1]; # DEBUG base => base_4 # DEBUG BEGIN_STMT # DEBUG base => base_4 # DEBUG INLINE_ENTRY FlexCAN_IsListenOnlyModeEnabled # DEBUG BEGIN_STMT _5 ={v} base_4->CTRL1; _6 = _5 & 8; _7 = _6 != 0; # DEBUG base => NULL return _7; }