
IPA constant propagation start:

IPA structures before propagation:

Jump functions:
  Jump functions of caller  CanIf_ControllerBusOff/54:
  Jump functions of caller  Can_Ipw_ProcessPN/53:
  Jump functions of caller  CanIf_CurrentIcomConfiguration/52:
  Jump functions of caller  Can_Ipw_SetIcomConfiguration/51:
  Jump functions of caller  Can_Ipw_DeactivateIcomConfiguration/50:
  Jump functions of caller  Can_Ipw_MainFunction_Mode/49:
  Jump functions of caller  Can_Ipw_MainFunction_BusOff/48:
  Jump functions of caller  Can_Ipw_MainFunction_Read/47:
  Jump functions of caller  Can_Ipw_MainFunction_Write/46:
  Jump functions of caller  Can_Ipw_AbortMb/45:
  Jump functions of caller  Can_Ipw_Write/44:
  Jump functions of caller  Can_Ipw_GetControllerTxErrorCounter/43:
  Jump functions of caller  Can_Ipw_GetControllerRxErrorCounter/42:
  Jump functions of caller  Can_Ipw_GetControllerErrorState/41:
  Jump functions of caller  Can_Ipw_EnableControllerInterrupts/40:
  Jump functions of caller  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/39:
  Jump functions of caller  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/38:
  Jump functions of caller  Can_Ipw_DisableControllerInterrupts/37:
  Jump functions of caller  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/36:
  Jump functions of caller  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/35:
  Jump functions of caller  Can_Ipw_SetControllerToStopMode/34:
  Jump functions of caller  CanIf_ControllerModeIndication/33:
  Jump functions of caller  Can_Ipw_SetControllerToStartMode/32:
  Jump functions of caller  Can_Ipw_SetBaudrate/31:
  Jump functions of caller  Can_Ipw_DeInit/30:
  Jump functions of caller  Can_Ipw_InitRx/29:
  Jump functions of caller  Can_Ipw_Init/28:
  Jump functions of caller  Can_ProcessBusOffInterrupt/26:
  Jump functions of caller  Can_ProcessPNInterrupt/25:
  Jump functions of caller  Can_SetIcomConfiguration/24:
  Jump functions of caller  Can_MainFunction_Mode/23:
  Jump functions of caller  Can_MainFunction_BusOff/22:
  Jump functions of caller  Can_MainFunction_Read/21:
  Jump functions of caller  Can_MainFunction_Write/20:
  Jump functions of caller  Can_AbortMb/19:
  Jump functions of caller  Can_Write/18:
  Jump functions of caller  Can_GetControllerTxErrorCounter/17:
  Jump functions of caller  Can_GetControllerRxErrorCounter/16:
  Jump functions of caller  Can_GetControllerMode/15:
  Jump functions of caller  Can_GetControllerErrorState/14:
  Jump functions of caller  Can_EnableControllerInterrupts/13:
  Jump functions of caller  Can_DisableControllerInterrupts/12:
  Jump functions of caller  Can_SetControllerMode/11:
  Jump functions of caller  Can_SetBaudrate/10:
  Jump functions of caller  Can_DeInit/9:
    callsite  Can_DeInit/9 -> Can_DeInitControllers/6 : 
       param 0: CONST: 0
         value: 0x0, mask: 0x0
         Unknown VR
  Jump functions of caller  Can_Init/8:
    callsite  Can_Init/8 -> Can_InitControllers/5 : 
       param 0: CONST: 0
         value: 0x0, mask: 0x0
         Unknown VR
    callsite  Can_Init/8 -> Can_IsControllersBusy/4 : 
       param 0: CONST: 0
         value: 0x0, mask: 0x0
         Unknown VR
  Jump functions of caller  Can_GetVersionInfo/7:
  Jump functions of caller  Can_DeInitControllers/6:
  Jump functions of caller  Can_InitControllers/5:
  Jump functions of caller  Can_IsControllersBusy/4:

 Propagating constants:

Not considering Can_ProcessBusOffInterrupt for cloning; -fipa-cp-clone disabled.
Not considering Can_ProcessPNInterrupt for cloning; -fipa-cp-clone disabled.
Not considering Can_SetIcomConfiguration for cloning; -fipa-cp-clone disabled.
Not considering Can_MainFunction_Mode for cloning; -fipa-cp-clone disabled.
Not considering Can_MainFunction_BusOff for cloning; -fipa-cp-clone disabled.
Not considering Can_MainFunction_Read for cloning; -fipa-cp-clone disabled.
Not considering Can_MainFunction_Write for cloning; -fipa-cp-clone disabled.
Not considering Can_AbortMb for cloning; -fipa-cp-clone disabled.
Not considering Can_Write for cloning; -fipa-cp-clone disabled.
Not considering Can_GetControllerTxErrorCounter for cloning; -fipa-cp-clone disabled.
Not considering Can_GetControllerRxErrorCounter for cloning; -fipa-cp-clone disabled.
Not considering Can_GetControllerMode for cloning; -fipa-cp-clone disabled.
Not considering Can_GetControllerErrorState for cloning; -fipa-cp-clone disabled.
Not considering Can_EnableControllerInterrupts for cloning; -fipa-cp-clone disabled.
Not considering Can_DisableControllerInterrupts for cloning; -fipa-cp-clone disabled.
Not considering Can_SetControllerMode for cloning; -fipa-cp-clone disabled.
Not considering Can_SetBaudrate for cloning; -fipa-cp-clone disabled.
Not considering Can_DeInit for cloning; -fipa-cp-clone disabled.
Not considering Can_Init for cloning; -fipa-cp-clone disabled.
Not considering Can_GetVersionInfo for cloning; -fipa-cp-clone disabled.

overall_size: 520, max_new_size: 11001
 - context independent values, size: 11, time_benefit: 1.000000
 - context independent values, size: 15, time_benefit: 1.000000
     Decided to specialize for all known contexts, code not going to grow.
 - context independent values, size: 35, time_benefit: 1.000000
     Decided to specialize for all known contexts, code not going to grow.
 - context independent values, size: 12, time_benefit: 1.000000
     Decided to specialize for all known contexts, code not going to grow.

IPA lattices after all propagation:

Lattices:
  Node: Can_ProcessBusOffInterrupt/26:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_ProcessPNInterrupt/25:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_SetIcomConfiguration/24:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_MainFunction_Mode/23:
  Node: Can_MainFunction_BusOff/22:
  Node: Can_MainFunction_Read/21:
  Node: Can_MainFunction_Write/20:
  Node: Can_AbortMb/19:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_Write/18:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_GetControllerTxErrorCounter/17:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_GetControllerRxErrorCounter/16:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_GetControllerMode/15:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_GetControllerErrorState/14:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_EnableControllerInterrupts/13:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_DisableControllerInterrupts/12:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_SetControllerMode/11:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_SetBaudrate/10:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
    param [1]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_DeInit/9:
  Node: Can_Init/8:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_GetVersionInfo/7:
    param [0]: BOTTOM
         ctxs: BOTTOM
         Bits unusable (BOTTOM)
         VARYING
        AGGS BOTTOM
  Node: Can_DeInitControllers/6:
    param [0]: 0 [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
         ctxs: VARIABLE
         Bits: value = 0x0, mask = 0x0
         uint32 [0, 0]
        AGGS VARIABLE
  Node: Can_InitControllers/5:
    param [0]: 0 [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
         ctxs: VARIABLE
         Bits: value = 0x0, mask = 0x0
         uint32 [0, 0]
        AGGS VARIABLE
  Node: Can_IsControllersBusy/4:
    param [0]: 0 [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
         ctxs: VARIABLE
         Bits: value = 0x0, mask = 0x0
         uint32 [0, 0]
        AGGS VARIABLE

IPA decision stage:

 - Creating a specialized node of Can_DeInitControllers/6 for all known contexts.
    replacing param #0 u32CoreId with const 0
 - Creating a specialized node of Can_InitControllers/5 for all known contexts.
    replacing param #0 u32CoreId with const 0
 - Creating a specialized node of Can_IsControllersBusy/4 for all known contexts.
    replacing param #0 u32CoreId with const 0
Propagated bits info for function Can_IsControllersBusy.constprop/57:
 param 0: value = 0x0, mask = 0x0
Propagated bits info for function Can_InitControllers.constprop/56:
 param 0: value = 0x0, mask = 0x0
Propagated bits info for function Can_DeInitControllers.constprop/55:
 param 0: value = 0x0, mask = 0x0
Propagated bits info for function Can_DeInitControllers/6:
 param 0: value = 0x0, mask = 0x0
Propagated bits info for function Can_InitControllers/5:
 param 0: value = 0x0, mask = 0x0
Propagated bits info for function Can_IsControllersBusy/4:
 param 0: value = 0x0, mask = 0x0

IPA constant propagation end

Reclaiming functions: Can_DeInitControllers/6 Can_InitControllers/5 Can_IsControllersBusy/4
Reclaiming variables:
Clearing address taken flags:
Symbol table:

Can_IsControllersBusy.constprop.0/57 (Can_IsControllersBusy.constprop) @0660aee0
  Type: function definition analyzed
  Visibility:
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)
  Referring: 
  Clone of Can_IsControllersBusy/4
  Availability: local
  Function flags: count:96446979 (estimated locally) local optimize_size
  Called by: Can_Init/8 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_InitControllers.constprop.0/56 (Can_InitControllers.constprop) @0660ac40
  Type: function definition analyzed
  Visibility:
  References: Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (write)Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Clone of Can_InitControllers/5
  Availability: local
  Function flags: count:61112314 (estimated locally) local optimize_size
  Called by: Can_Init/8 (354334802 (estimated locally),0.33 per call) 
  Calls: Can_Ipw_Init/28 (37391180 (estimated locally),0.61 per call) Can_Ipw_InitRx/29 (12339089 (estimated locally),0.20 per call) 
Can_DeInitControllers.constprop.0/55 (Can_DeInitControllers.constprop) @0660aa80
  Type: function definition analyzed
  Visibility:
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Clone of Can_DeInitControllers/6
  Availability: local
  Function flags: count:59055799 (estimated locally) local optimize_size
  Called by: Can_DeInit/9 (31827504 (estimated locally),0.33 per call) 
  Calls: Can_Ipw_DeInit/30 (37391180 (estimated locally),0.63 per call) 
CanIf_ControllerBusOff/54 (CanIf_ControllerBusOff) @063e8b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_ProcessBusOffInterrupt/26 (132623973 (estimated locally),0.12 per call) 
  Calls: 
Can_Ipw_ProcessPN/53 (Can_Ipw_ProcessPN) @063e89a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_ProcessPNInterrupt/25 (281323579 (estimated locally),0.26 per call) 
  Calls: 
CanIf_CurrentIcomConfiguration/52 (CanIf_CurrentIcomConfiguration) @063e87e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetIcomConfiguration/24 (107975177 (estimated locally),0.63 per call) Can_SetIcomConfiguration/24 (63462930 (estimated locally),0.37 per call) 
  Calls: 
Can_Ipw_SetIcomConfiguration/51 (Can_Ipw_SetIcomConfiguration) @063e8620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetIcomConfiguration/24 (11295485 (estimated locally),0.07 per call) 
  Calls: 
Can_Ipw_DeactivateIcomConfiguration/50 (Can_Ipw_DeactivateIcomConfiguration) @063e8540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetIcomConfiguration/24 (56574576 (estimated locally),0.33 per call) 
  Calls: 
Can_Ipw_MainFunction_Mode/49 (Can_Ipw_MainFunction_Mode) @063e8380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_MainFunction_Mode/23 (37391180 (estimated locally),0.44 per call) 
  Calls: 
Can_Ipw_MainFunction_BusOff/48 (Can_Ipw_MainFunction_BusOff) @063e81c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_MainFunction_BusOff/22 (37391180 (estimated locally),0.44 per call) 
  Calls: 
Can_Ipw_MainFunction_Read/47 (Can_Ipw_MainFunction_Read) @063d7ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_MainFunction_Read/21 (110375291 (estimated locally),0.65 per call) 
  Calls: 
Can_Ipw_MainFunction_Write/46 (Can_Ipw_MainFunction_Write) @063d7d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_MainFunction_Write/20 (82682254 (estimated locally),0.16 per call) 
  Calls: 
Can_Ipw_AbortMb/45 (Can_Ipw_AbortMb) @063d7a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_AbortMb/19 (574129754 (estimated locally),0.53 per call) 
  Calls: 
Can_Ipw_Write/44 (Can_Ipw_Write) @063d78c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_Write/18 (71963036 (estimated locally),0.07 per call) 
  Calls: 
Can_Ipw_GetControllerTxErrorCounter/43 (Can_Ipw_GetControllerTxErrorCounter) @063d7700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_GetControllerTxErrorCounter/17 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_Ipw_GetControllerRxErrorCounter/42 (Can_Ipw_GetControllerRxErrorCounter) @063d7540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_GetControllerRxErrorCounter/16 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_Ipw_GetControllerErrorState/41 (Can_Ipw_GetControllerErrorState) @063d72a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_GetControllerErrorState/14 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_Ipw_EnableControllerInterrupts/40 (Can_Ipw_EnableControllerInterrupts) @063d70e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_EnableControllerInterrupts/13 (354334802 (estimated locally),0.33 per call) 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/39 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01) @063d7000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_EnableControllerInterrupts/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/38 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01) @063aaa80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_EnableControllerInterrupts/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_Ipw_DisableControllerInterrupts/37 (Can_Ipw_DisableControllerInterrupts) @063aae00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_DisableControllerInterrupts/12 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/36 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00) @063aad20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_DisableControllerInterrupts/12 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/35 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00) @063aac40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_DisableControllerInterrupts/12 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Can_Ipw_SetControllerToStopMode/34 (Can_Ipw_SetControllerToStopMode) @063aa9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_ProcessBusOffInterrupt/26 (401890828 (estimated locally),0.37 per call) Can_SetControllerMode/11 (89469538 (estimated locally),0.08 per call) 
  Calls: 
CanIf_ControllerModeIndication/33 (CanIf_ControllerModeIndication) @063aa8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetControllerMode/11 (68451041 (estimated locally),0.06 per call) Can_SetControllerMode/11 (89469538 (estimated locally),0.08 per call) Can_SetControllerMode/11 (29524947 (estimated locally),0.03 per call) Can_SetControllerMode/11 (17929341 (estimated locally),0.02 per call) 
  Calls: 
Can_Ipw_SetControllerToStartMode/32 (Can_Ipw_SetControllerToStartMode) @063aa7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetControllerMode/11 (54331336 (estimated locally),0.05 per call) 
  Calls: 
Can_Ipw_SetBaudrate/31 (Can_Ipw_SetBaudrate) @063aa540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_SetBaudrate/10 (217325345 (estimated locally),0.20 per call) 
  Calls: 
Can_Ipw_DeInit/30 (Can_Ipw_DeInit) @063aa380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_DeInitControllers.constprop/55 (37391180 (estimated locally),0.63 per call) 
  Calls: 
Can_Ipw_InitRx/29 (Can_Ipw_InitRx) @063aa000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_InitControllers.constprop/56 (12339089 (estimated locally),0.20 per call) 
  Calls: 
Can_Ipw_Init/28 (Can_Ipw_Init) @06535a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Can_InitControllers.constprop/56 (37391180 (estimated locally),0.61 per call) 
  Calls: 
Can_Config/27 (Can_Config) @06530ee8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Can_Init/8 (addr)
  Availability: not_available
  Varpool flags: read-only
Can_ProcessBusOffInterrupt/26 (Can_ProcessBusOffInterrupt) @06535c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: CanIf_ControllerBusOff/54 (132623973 (estimated locally),0.12 per call) Can_Ipw_SetControllerToStopMode/34 (401890828 (estimated locally),0.37 per call) 
Can_ProcessPNInterrupt/25 (Can_ProcessPNInterrupt) @065359a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_apxCtrlConfigIcomIndex/1 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_ProcessPN/53 (281323579 (estimated locally),0.26 per call) 
Can_SetIcomConfiguration/24 (Can_SetIcomConfiguration) @06535700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxCtrlConfigIcomIndex/1 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:171438108 (estimated locally) body optimize_size
  Called by: 
  Calls: CanIf_CurrentIcomConfiguration/52 (107975177 (estimated locally),0.63 per call) CanIf_CurrentIcomConfiguration/52 (63462930 (estimated locally),0.37 per call) Can_Ipw_SetIcomConfiguration/51 (11295485 (estimated locally),0.07 per call) Can_Ipw_DeactivateIcomConfiguration/50 (56574576 (estimated locally),0.33 per call) 
Can_MainFunction_Mode/23 (Can_MainFunction_Mode) @06535460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (addr)
  Referring: 
  Availability: available
  Function flags: count:84365427 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_MainFunction_Mode/49 (37391180 (estimated locally),0.44 per call) 
Can_MainFunction_BusOff/22 (Can_MainFunction_BusOff) @065351c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:84365427 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_MainFunction_BusOff/48 (37391180 (estimated locally),0.44 per call) 
Can_MainFunction_Read/21 (Can_MainFunction_Read) @06528d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:168730857 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_MainFunction_Read/47 (110375291 (estimated locally),0.65 per call) 
Can_MainFunction_Write/20 (Can_MainFunction_Write) @065287e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:511254497 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_MainFunction_Write/46 (82682254 (estimated locally),0.16 per call) 
Can_AbortMb/19 (Can_AbortMb) @065282a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_AbortMb/45 (574129754 (estimated locally),0.53 per call) 
Can_Write/18 (Can_Write) @06528ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxCtrlConfigIcomIndex/1 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_Write/44 (71963036 (estimated locally),0.07 per call) 
Can_GetControllerTxErrorCounter/17 (Can_GetControllerTxErrorCounter) @06528c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_GetControllerTxErrorCounter/43 (1073741824 (estimated locally),1.00 per call) 
Can_GetControllerRxErrorCounter/16 (Can_GetControllerRxErrorCounter) @065289a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_GetControllerRxErrorCounter/42 (1073741824 (estimated locally),1.00 per call) 
Can_GetControllerMode/15 (Can_GetControllerMode) @06528700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_eControllerState/2 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Can_GetControllerErrorState/14 (Can_GetControllerErrorState) @06528460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_GetControllerErrorState/41 (1073741824 (estimated locally),1.00 per call) 
Can_EnableControllerInterrupts/13 (Can_EnableControllerInterrupts) @065281c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (read)Can_au8DisableInterruptLevel/0 (write)Can_au8DisableInterruptLevel/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_EnableControllerInterrupts/40 (354334802 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/39 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/38 (1073741824 (estimated locally),1.00 per call) 
Can_DisableControllerInterrupts/12 (Can_DisableControllerInterrupts) @064c8d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (read)Can_au8DisableInterruptLevel/0 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_DisableControllerInterrupts/37 (1073741824 (estimated locally),1.00 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/36 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/35 (1073741824 (estimated locally),1.00 per call) 
Can_SetControllerMode/11 (Can_SetControllerMode) @064c87e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_eControllerState/2 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (read)Can_eControllerState/2 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (write)Can_eControllerState/2 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: CanIf_ControllerModeIndication/33 (68451041 (estimated locally),0.06 per call) CanIf_ControllerModeIndication/33 (89469538 (estimated locally),0.08 per call) CanIf_ControllerModeIndication/33 (29524947 (estimated locally),0.03 per call) Can_Ipw_SetControllerToStopMode/34 (89469538 (estimated locally),0.08 per call) CanIf_ControllerModeIndication/33 (17929341 (estimated locally),0.02 per call) Can_Ipw_SetControllerToStartMode/32 (54331336 (estimated locally),0.05 per call) 
Can_SetBaudrate/10 (Can_SetBaudrate) @064c82a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_Ipw_SetBaudrate/31 (217325345 (estimated locally),0.20 per call) 
Can_DeInit/9 (Can_DeInit) @064c8ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxConfig/3 (write)
  Referring: 
  Availability: available
  Function flags: count:96446979 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_DeInitControllers.constprop/55 (31827504 (estimated locally),0.33 per call) 
Can_Init/8 (Can_Init) @064c8c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Can_apxConfig/3 (write)Can_Config/27 (addr)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Can_InitControllers.constprop/56 (354334802 (estimated locally),0.33 per call) Can_IsControllersBusy.constprop/57 (1073741824 (estimated locally),1.00 per call) 
Can_GetVersionInfo/7 (Can_GetVersionInfo) @064c89a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Can_DeInitControllers/6 (Can_DeInitControllers) @064c8700
  Type: function
  Body removed by symtab_remove_unreachable_nodes
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: not_available
  Function flags: count:59055799 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Can_InitControllers/5 (Can_InitControllers) @064c8460
  Type: function
  Body removed by symtab_remove_unreachable_nodes
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: not_available
  Function flags: count:61112314 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Can_IsControllersBusy/4 (Can_IsControllersBusy) @064c81c0
  Type: function
  Body removed by symtab_remove_unreachable_nodes
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: not_available
  Function flags: count:96446979 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Can_apxConfig/3 (Can_apxConfig) @0643f3a8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Can_InitControllers.constprop.0/56 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_ProcessPNInterrupt/25 (read)Can_InitControllers.constprop.0/56 (read)Can_IsControllersBusy.constprop.0/57 (read)Can_SetIcomConfiguration/24 (read)Can_DeInitControllers.constprop.0/55 (read)Can_Init/8 (write)Can_DeInit/9 (write)Can_SetBaudrate/10 (read)Can_SetControllerMode/11 (read)Can_DisableControllerInterrupts/12 (read)Can_EnableControllerInterrupts/13 (read)Can_GetControllerErrorState/14 (read)Can_SetIcomConfiguration/24 (read)Can_MainFunction_Write/20 (read)Can_GetControllerRxErrorCounter/16 (read)Can_AbortMb/19 (read)Can_DeInit/9 (read)Can_GetControllerTxErrorCounter/17 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Mode/23 (read)Can_MainFunction_Mode/23 (read)Can_MainFunction_BusOff/22 (read)Can_MainFunction_BusOff/22 (read)Can_Write/18 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_Read/21 (read)Can_ProcessBusOffInterrupt/26 (read)
  Availability: available
  Varpool flags:
Can_eControllerState/2 (Can_eControllerState) @0643f2d0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Can_MainFunction_Mode/23 (addr)Can_Write/18 (read)Can_SetIcomConfiguration/24 (read)Can_InitControllers.constprop.0/56 (write)Can_DeInitControllers.constprop.0/55 (write)Can_IsControllersBusy.constprop.0/57 (read)Can_InitControllers.constprop.0/56 (write)Can_DeInit/9 (read)Can_SetBaudrate/10 (read)Can_SetControllerMode/11 (write)Can_GetControllerMode/15 (read)Can_SetControllerMode/11 (read)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (read)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (read)Can_ProcessBusOffInterrupt/26 (write)
  Availability: available
  Varpool flags:
Can_apxCtrlConfigIcomIndex/1 (Can_apxCtrlConfigIcomIndex) @0643f240
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Can_Write/18 (read)Can_SetControllerMode/11 (write)Can_SetIcomConfiguration/24 (write)Can_InitControllers.constprop.0/56 (write)Can_SetIcomConfiguration/24 (write)Can_SetControllerMode/11 (write)Can_ProcessPNInterrupt/25 (read)
  Availability: available
  Varpool flags:
Can_au8DisableInterruptLevel/0 (Can_au8DisableInterruptLevel) @0643f1b0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Can_InitControllers.constprop.0/56 (write)Can_DisableControllerInterrupts/12 (read)Can_DisableControllerInterrupts/12 (write)Can_EnableControllerInterrupts/13 (read)Can_EnableControllerInterrupts/13 (write)Can_EnableControllerInterrupts/13 (read)
  Availability: available
  Varpool flags:

;; Function Can_GetVersionInfo (Can_GetVersionInfo, funcdef_no=3, decl_uid=6734, cgraph_uid=4, symbol_order=7)

Modification phase of node Can_GetVersionInfo/7
Can_GetVersionInfo (struct Std_VersionInfoType * versioninfo)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  versioninfo_2(D)->vendorID = 43;
  # DEBUG BEGIN_STMT
  versioninfo_2(D)->moduleID = 80;
  # DEBUG BEGIN_STMT
  versioninfo_2(D)->sw_major_version = 1;
  # DEBUG BEGIN_STMT
  versioninfo_2(D)->sw_minor_version = 0;
  # DEBUG BEGIN_STMT
  versioninfo_2(D)->sw_patch_version = 0;
  return;

}



;; Function Can_Init (Can_Init, funcdef_no=4, decl_uid=6736, cgraph_uid=5, symbol_order=8)

Modification phase of node Can_Init/8
Can_Init (const struct Can_ConfigType * Config)
{
  boolean bCtrlBusy;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG bCtrlBusy => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  Can_apxConfig[0] = &Can_Config;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  bCtrlBusy_4 = Can_IsControllersBusy (0);
  # DEBUG bCtrlBusy => bCtrlBusy_4
  # DEBUG BEGIN_STMT
  if (bCtrlBusy_4 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Can_InitControllers (0);

  <bb 4> [local count: 1073741824]:
  return;

}



;; Function Can_DeInit (Can_DeInit, funcdef_no=5, decl_uid=6738, cgraph_uid=6, symbol_order=9)

Modification phase of node Can_DeInit/9
Can_DeInit ()
{
  boolean bCtrlBusy;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  const struct Can_ControllerConfigType * const * _4;
  const struct Can_ControllerConfigType * _5;
  <unnamed type> _6;

  <bb 2> [local count: 96446979]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG bCtrlBusy => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  goto <bb 5>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _4 = _2;
  _5 = *_4;
  if (_5 != 0B)
    goto <bb 4>; [67.00%]
  else
    goto <bb 11>; [33.00%]

  <bb 11> [local count: 334846388]:
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 679839636]:
  # DEBUG BEGIN_STMT
  _6 = Can_eControllerState[0];
  if (_6 == 1)
    goto <bb 7>; [5.50%]
  else
    goto <bb 10>; [94.50%]

  <bb 10> [local count: 642448456]:

  <bb 5> [local count: 738895437]:
  # u8ControllerID_3 = PHI <0(2), 1(10)>

  <bb 6> [local count: 1073741824]:
  # u8ControllerID_7 = PHI <u8ControllerID_3(5), 1(11)>
  # DEBUG u8ControllerID => u8ControllerID_7
  # DEBUG BEGIN_STMT
  if (u8ControllerID_7 == 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 96446980]:
  # bCtrlBusy_8 = PHI <1(4), 0(6)>
  # DEBUG bCtrlBusy => bCtrlBusy_8
  # DEBUG BEGIN_STMT
  if (bCtrlBusy_8 != 0)
    goto <bb 9>; [67.00%]
  else
    goto <bb 8>; [33.00%]

  <bb 8> [local count: 31827504]:
  # DEBUG BEGIN_STMT
  Can_DeInitControllers (0);
  # DEBUG BEGIN_STMT
  Can_apxConfig[0] = 0B;

  <bb 9> [local count: 96446980]:
  return;

}



;; Function Can_SetBaudrate (Can_SetBaudrate, funcdef_no=6, decl_uid=6741, cgraph_uid=7, symbol_order=10)

Modification phase of node Can_SetBaudrate/10
Can_SetBaudrate (uint8 Controller, uint16 BaudRateConfigID)
{
  const struct Can_ControllerConfigType * Can_pController;
  Std_ReturnType eRetVal;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  <unnamed type> _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_11(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_12 = *_5;
  # DEBUG Can_pController => Can_pController_12
  # DEBUG BEGIN_STMT
  _6 = (int) Controller_11(D);
  _7 = Can_eControllerState[_6];
  if (_7 == 2)
    goto <bb 3>; [20.24%]
  else
    goto <bb 4>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  eRetVal_15 = Can_Ipw_SetBaudrate (Can_pController_12, BaudRateConfigID_13(D));
  # DEBUG eRetVal => eRetVal_15

  <bb 4> [local count: 1073741824]:
  # eRetVal_8 = PHI <1(2), eRetVal_15(3)>
  # DEBUG eRetVal => eRetVal_8
  # DEBUG BEGIN_STMT
  return eRetVal_8;

}



;; Function Can_SetControllerMode (Can_SetControllerMode, funcdef_no=7, decl_uid=6744, cgraph_uid=8, symbol_order=11)

Modification phase of node Can_SetControllerMode/11
Can_SetControllerMode (uint8 Controller, Can_ControllerStateType Transition)
{
  const struct Can_ControllerConfigType * Can_pController;
  Std_ReturnType eRetVal;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  <unnamed type> _7;
  unsigned char _8;
  unsigned char _9;
  int _10;
  <unnamed type> _11;
  unsigned char _12;
  unsigned char _13;
  unsigned char _14;
  int _15;
  <unnamed type> _16;
  unsigned char _17;
  <unnamed type> _24;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_21(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_22 = *_5;
  # DEBUG Can_pController => Can_pController_22
  # DEBUG BEGIN_STMT
  switch (Transition_23(D)) <default: <L22> [25.00%], case 1: <L0> [25.00%], case 2: <L5> [25.00%], case 3: <L13> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  _6 = (int) Controller_21(D);
  _7 = Can_eControllerState[_6];
  if (_7 == 2)
    goto <bb 4>; [20.24%]
  else
    goto <bb 12>; [79.76%]

  <bb 4> [local count: 54331336]:
  # DEBUG BEGIN_STMT
  _8 = Can_Ipw_SetControllerToStartMode (Can_pController_22);
  if (_8 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 5> [local count: 17929341]:
  # DEBUG BEGIN_STMT
  Can_eControllerState[_6] = 1;
  # DEBUG BEGIN_STMT
  _9 = Can_pController_22->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_9, 1);
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  Can_apxCtrlConfigIcomIndex[_6] = 0B;
  goto <bb 12>; [100.00%]

  <bb 6> [local count: 268435456]:
<L5>:
  # DEBUG BEGIN_STMT
  _10 = (int) Controller_21(D);
  _11 = Can_eControllerState[_10];
  switch (_11) <default: <L22> [33.33%], case 1: <L6> [33.33%], case 2 ... 3: <L9> [33.33%]>

  <bb 7> [local count: 89469538]:
<L6>:
  # DEBUG BEGIN_STMT
  _12 = Can_Ipw_SetControllerToStopMode (Can_pController_22);
  if (_12 == 0)
    goto <bb 8>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 8> [local count: 29524947]:
  # DEBUG BEGIN_STMT
  Can_eControllerState[_10] = 2;
  # DEBUG BEGIN_STMT
  _13 = Can_pController_22->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_13, 2);
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  Can_apxCtrlConfigIcomIndex[_10] = 0B;
  goto <bb 12>; [100.00%]

  <bb 9> [local count: 89469538]:
<L9>:
  # DEBUG BEGIN_STMT
  Can_eControllerState[_10] = 2;
  # DEBUG BEGIN_STMT
  _14 = Can_pController_22->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_14, 2);
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  goto <bb 12>; [100.00%]

  <bb 10> [local count: 268435456]:
<L13>:
  # DEBUG BEGIN_STMT
  _15 = (int) Controller_21(D);
  _16 = Can_eControllerState[_15];
  _24 = _16 + 4294967294;
  if (_24 <= 1)
    goto <bb 11>; [25.50%]
  else
    goto <bb 12>; [74.50%]

  <bb 11> [local count: 68451041]:
<L14>:
  # DEBUG BEGIN_STMT
  Can_eControllerState[_15] = 3;
  # DEBUG BEGIN_STMT
  _17 = Can_pController_22->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_17, 3);
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073714982]:
  # eRetVal_18 = PHI <1(4), 0(9), 1(10), 1(2), 1(3), 0(5), 0(8), 1(7), 1(6), 0(11)>
<L22>:
  # DEBUG eRetVal => eRetVal_18
  # DEBUG BEGIN_STMT
  return eRetVal_18;

}



;; Function Can_DisableControllerInterrupts (Can_DisableControllerInterrupts, funcdef_no=8, decl_uid=6746, cgraph_uid=9, symbol_order=12)

Modification phase of node Can_DisableControllerInterrupts/12
Can_DisableControllerInterrupts (uint8 Controller)
{
  const struct Can_ControllerConfigType * Can_pController;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  unsigned char _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_10(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_11 = *_5;
  # DEBUG Can_pController => Can_pController_11
  # DEBUG BEGIN_STMT
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  _6 = (int) Controller_10(D);
  _7 = Can_au8DisableInterruptLevel[_6];
  _8 = _7 + 1;
  Can_au8DisableInterruptLevel[_6] = _8;
  # DEBUG BEGIN_STMT
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  Can_Ipw_DisableControllerInterrupts (Can_pController_11);
  return;

}



;; Function Can_EnableControllerInterrupts (Can_EnableControllerInterrupts, funcdef_no=9, decl_uid=6748, cgraph_uid=10, symbol_order=13)

Modification phase of node Can_EnableControllerInterrupts/13
Can_EnableControllerInterrupts (uint8 Controller)
{
  const struct Can_ControllerConfigType * Can_pController;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_13(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_14 = *_5;
  # DEBUG Can_pController => Can_pController_14
  # DEBUG BEGIN_STMT
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  _6 = (int) Controller_13(D);
  _7 = Can_au8DisableInterruptLevel[_6];
  if (_7 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _8 = _7 + 255;
  Can_au8DisableInterruptLevel[_6] = _8;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  _9 = Can_au8DisableInterruptLevel[_6];
  if (_9 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Can_Ipw_EnableControllerInterrupts (Can_pController_14);

  <bb 6> [local count: 1073741824]:
  return;

}



;; Function Can_GetControllerErrorState (Can_GetControllerErrorState, funcdef_no=10, decl_uid=6751, cgraph_uid=11, symbol_order=14)

Modification phase of node Can_GetControllerErrorState/14
Can_GetControllerErrorState (uint8 ControllerId, Can_ErrorStateType * ErrorStatePtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_9(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_10 = *_5;
  # DEBUG Can_pController => Can_pController_10
  # DEBUG BEGIN_STMT
  _6 = Can_Ipw_GetControllerErrorState (Can_pController_10);
  switch (_6) <default: <L2> [33.33%], case 0: <L0> [33.33%], case 1: <L1> [33.33%]>

  <bb 3> [local count: 357878150]:
<L0>:
  # DEBUG BEGIN_STMT
  *ErrorStatePtr_12(D) = 0;
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 357878150]:
<L1>:
  # DEBUG BEGIN_STMT
  *ErrorStatePtr_12(D) = 1;
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 357878150]:
<L2>:
  # DEBUG BEGIN_STMT
  *ErrorStatePtr_12(D) = 2;
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073634451]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  return 0;

}



;; Function Can_GetControllerMode (Can_GetControllerMode, funcdef_no=11, decl_uid=6754, cgraph_uid=12, symbol_order=15)

Modification phase of node Can_GetControllerMode/15
Can_GetControllerMode (uint8 Controller, Can_ControllerStateType * ControllerModePtr)
{
  int _1;
  <unnamed type> _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  _1 = (int) Controller_3(D);
  _2 = Can_eControllerState[_1];
  *ControllerModePtr_5(D) = _2;
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  return 0;

}



;; Function Can_GetControllerRxErrorCounter (Can_GetControllerRxErrorCounter, funcdef_no=12, decl_uid=6757, cgraph_uid=13, symbol_order=16)

Modification phase of node Can_GetControllerRxErrorCounter/16
Can_GetControllerRxErrorCounter (uint8 ControllerId, uint8 * RxErrorCounterPtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_8(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_9 = *_5;
  # DEBUG Can_pController => Can_pController_9
  # DEBUG BEGIN_STMT
  _6 = Can_Ipw_GetControllerRxErrorCounter (Can_pController_9);
  *RxErrorCounterPtr_11(D) = _6;
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  return 0;

}



;; Function Can_GetControllerTxErrorCounter (Can_GetControllerTxErrorCounter, funcdef_no=13, decl_uid=6760, cgraph_uid=14, symbol_order=17)

Modification phase of node Can_GetControllerTxErrorCounter/17
Can_GetControllerTxErrorCounter (uint8 ControllerId, uint8 * TxErrorCounterPtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_8(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_9 = *_5;
  # DEBUG Can_pController => Can_pController_9
  # DEBUG BEGIN_STMT
  _6 = Can_Ipw_GetControllerTxErrorCounter (Can_pController_9);
  *TxErrorCounterPtr_11(D) = _6;
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  return 0;

}



;; Function Can_Write (Can_Write, funcdef_no=14, decl_uid=6763, cgraph_uid=15, symbol_order=18)

Modification phase of node Can_Write/18
Can_Write (Can_HwHandleType Hth, const struct Can_PduType * PduInfo)
{
  const struct Can_HwObjectConfigType * Can_pHwObject;
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  Std_ReturnType eRetVal;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned int _6;
  unsigned int _7;
  const struct Can_ControllerConfigType * const * _8;
  const struct Can_HwObjectConfigType * _9;
  unsigned int _10;
  int _11;
  <unnamed type> _12;
  const struct Can_IcomConfigsType * _13;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG Can_pHwObject => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_pHwObjIDToCtrlIDMap;
  _3 = (sizetype) Hth_17(D);
  _4 = _2 + _3;
  u8ControllerID_18 = *_4;
  # DEBUG u8ControllerID => u8ControllerID_18
  # DEBUG BEGIN_STMT
  _5 = _1->Can_ppController;
  _6 = (unsigned int) u8ControllerID_18;
  _7 = _6 * 4;
  _8 = _5 + _7;
  Can_pController_19 = *_8;
  # DEBUG Can_pController => Can_pController_19
  # DEBUG BEGIN_STMT
  if (Can_pController_19 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _9 = _1->Can_pHwObjectConfig;
  _10 = _3 * 36;
  Can_pHwObject_20 = _9 + _10;
  # DEBUG Can_pHwObject => Can_pHwObject_20
  # DEBUG BEGIN_STMT
  _11 = (int) u8ControllerID_18;
  _12 = Can_eControllerState[_11];
  if (_12 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 4> [local count: 255550554]:
  # DEBUG BEGIN_STMT
  _13 = Can_apxCtrlConfigIcomIndex[_11];
  if (_13 != 0B)
    goto <bb 6>; [71.84%]
  else
    goto <bb 5>; [28.16%]

  <bb 5> [local count: 71963036]:
  # DEBUG BEGIN_STMT
  eRetVal_23 = Can_Ipw_Write (Can_pController_19, Can_pHwObject_20, PduInfo_21(D));
  # DEBUG eRetVal => eRetVal_23

  <bb 6> [local count: 1073741824]:
  # eRetVal_14 = PHI <1(2), 1(3), 2(4), eRetVal_23(5)>
  # DEBUG eRetVal => eRetVal_14
  # DEBUG BEGIN_STMT
  return eRetVal_14;

}



;; Function Can_AbortMb (Can_AbortMb, funcdef_no=15, decl_uid=6765, cgraph_uid=16, symbol_order=19)

Modification phase of node Can_AbortMb/19
Can_AbortMb (Can_HwHandleType Hth)
{
  const struct Can_HwObjectConfigType * Can_pHwObject;
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned int _6;
  unsigned int _7;
  const struct Can_ControllerConfigType * const * _8;
  const struct Can_HwObjectConfigType * _9;
  unsigned int _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG Can_pHwObject => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_pHwObjIDToCtrlIDMap;
  _3 = (sizetype) Hth_13(D);
  _4 = _2 + _3;
  u8ControllerID_14 = *_4;
  # DEBUG u8ControllerID => u8ControllerID_14
  # DEBUG BEGIN_STMT
  _5 = _1->Can_ppController;
  _6 = (unsigned int) u8ControllerID_14;
  _7 = _6 * 4;
  _8 = _5 + _7;
  Can_pController_15 = *_8;
  # DEBUG Can_pController => Can_pController_15
  # DEBUG BEGIN_STMT
  if (Can_pController_15 != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 574129754]:
  # DEBUG BEGIN_STMT
  _9 = _1->Can_pHwObjectConfig;
  _10 = _3 * 36;
  Can_pHwObject_16 = _9 + _10;
  # DEBUG Can_pHwObject => Can_pHwObject_16
  # DEBUG BEGIN_STMT
  Can_Ipw_AbortMb (Can_pController_15, Can_pHwObject_16);

  <bb 4> [local count: 1073741824]:
  return;

}



;; Function Can_MainFunction_Write (Can_MainFunction_Write, funcdef_no=16, decl_uid=6854, cgraph_uid=17, symbol_order=20)

Modification phase of node Can_MainFunction_Write/20
Can_MainFunction_Write ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  Can_HwHandleType HwObjectID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const uint8 * _3;
  sizetype _4;
  const uint8 * _5;
  const struct Can_ControllerConfigType * const * _6;
  unsigned int _7;
  unsigned int _8;
  const struct Can_ControllerConfigType * const * _9;
  _Bool _10;
  const struct Can_HwObjectConfigType * _11;
  unsigned int _12;
  const struct Can_HwObjectConfigType * _13;
  _Bool _14;

  <bb 2> [local count: 511254497]:
  # DEBUG BEGIN_STMT
  # DEBUG HwObjectID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 10>; [30.00%]

  <bb 3> [local count: 357878148]:
  # DEBUG BEGIN_STMT
  HwObjectID_20 = _1->Can_uHthFirstIndex;
  # DEBUG HwObjectID => HwObjectID_20
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 715863675]:
  # DEBUG BEGIN_STMT
  _2 = Can_apxConfig[0];
  _3 = _2->Can_pHwObjIDToCtrlIDMap;
  _4 = (sizetype) HwObjectID_15;
  _5 = _3 + _4;
  u8ControllerID_21 = *_5;
  # DEBUG u8ControllerID => u8ControllerID_21
  # DEBUG BEGIN_STMT
  _6 = _2->Can_ppController;
  _7 = (unsigned int) u8ControllerID_21;
  _8 = _7 * 4;
  _9 = _6 + _8;
  Can_pController_22 = *_9;
  # DEBUG Can_pController => Can_pController_22
  # DEBUG BEGIN_STMT
  if (Can_pController_22 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 5> [local count: 501104572]:
  # DEBUG BEGIN_STMT
  _10 = Can_pController_22->Can_bActivation;
  if (_10 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 250552286]:
  _11 = _2->Can_pHwObjectConfig;
  _12 = _4 * 36;
  _13 = _11 + _12;
  _14 = _13->Can_bHwObjectUsesPolling;
  if (_14 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 82682254]:
  # DEBUG BEGIN_STMT
  Can_Ipw_MainFunction_Write (Can_pController_22, _13);

  <bb 8> [local count: 715863675]:
  # DEBUG BEGIN_STMT
  HwObjectID_24 = HwObjectID_15 + 1;
  # DEBUG HwObjectID => HwObjectID_24

  <bb 9> [local count: 1073741824]:
  # HwObjectID_15 = PHI <HwObjectID_20(3), HwObjectID_24(8)>
  # DEBUG HwObjectID => HwObjectID_15
  # DEBUG BEGIN_STMT
  if (HwObjectID_15 <= 1)
    goto <bb 4>; [66.67%]
  else
    goto <bb 10>; [33.33%]

  <bb 10> [local count: 511254499]:
  return;

}



;; Function Can_MainFunction_Read (Can_MainFunction_Read, funcdef_no=17, decl_uid=6878, cgraph_uid=18, symbol_order=21)

Modification phase of node Can_MainFunction_Read/21
Can_MainFunction_Read ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  Can_HwHandleType HwObjectID;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned int _6;
  unsigned int _7;
  const struct Can_ControllerConfigType * const * _8;
  _Bool _9;
  const struct Can_HwObjectConfigType * _10;
  unsigned int _11;
  const struct Can_HwObjectConfigType * _12;
  _Bool _13;
  const struct Can_ConfigType * _14;
  short unsigned int _15;

  <bb 2> [local count: 168730857]:
  # DEBUG BEGIN_STMT
  # DEBUG HwObjectID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 9>; [30.00%]

  <bb 10> [local count: 118111600]:
  goto <bb 8>; [100.00%]

  <bb 3> [local count: 955630225]:
  # DEBUG BEGIN_STMT
  _2 = _14->Can_pHwObjIDToCtrlIDMap;
  _3 = (sizetype) HwObjectID_16;
  _4 = _2 + _3;
  u8ControllerID_21 = *_4;
  # DEBUG u8ControllerID => u8ControllerID_21
  # DEBUG BEGIN_STMT
  _5 = _14->Can_ppController;
  _6 = (unsigned int) u8ControllerID_21;
  _7 = _6 * 4;
  _8 = _5 + _7;
  Can_pController_22 = *_8;
  # DEBUG Can_pController => Can_pController_22
  # DEBUG BEGIN_STMT
  if (Can_pController_22 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 4> [local count: 668941158]:
  # DEBUG BEGIN_STMT
  _9 = Can_pController_22->Can_bActivation;
  if (_9 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 334470579]:
  _10 = _14->Can_pHwObjectConfig;
  _11 = _3 * 36;
  _12 = _10 + _11;
  _13 = _12->Can_bHwObjectUsesPolling;
  if (_13 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 110375291]:
  # DEBUG BEGIN_STMT
  Can_Ipw_MainFunction_Read (Can_pController_22, _12);

  <bb 7> [local count: 955630225]:
  # DEBUG BEGIN_STMT
  HwObjectID_24 = HwObjectID_16 + 1;
  # DEBUG HwObjectID => HwObjectID_24

  <bb 8> [local count: 1073741824]:
  # HwObjectID_16 = PHI <HwObjectID_24(7), 0(10)>
  # DEBUG HwObjectID => HwObjectID_16
  # DEBUG BEGIN_STMT
  _14 = Can_apxConfig[0];
  _15 = _14->Can_uHthFirstIndex;
  if (_15 > HwObjectID_16)
    goto <bb 3>; [89.00%]
  else
    goto <bb 9>; [11.00%]

  <bb 9> [local count: 168730858]:
  return;

}



;; Function Can_MainFunction_BusOff (Can_MainFunction_BusOff, funcdef_no=18, decl_uid=6902, cgraph_uid=19, symbol_order=22)

Modification phase of node Can_MainFunction_BusOff/22
Can_MainFunction_BusOff ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const struct Can_ControllerConfigType * const * _3;
  const struct Can_ControllerConfigType * const * _6;
  short unsigned int _7;

  <bb 2> [local count: 84365427]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 11>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 11> [local count: 59055799]:
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _2 = Can_apxConfig[0];
  _3 = _2->Can_ppController;
  _6 = _3;
  Can_pController_13 = *_6;
  # DEBUG Can_pController => Can_pController_13
  # DEBUG BEGIN_STMT
  if (Can_pController_13 != 0B)
    goto <bb 4>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 334846388]:
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 679839636]:
  # DEBUG BEGIN_STMT
  _7 = BIT_FIELD_REF <*Can_pController_13, 16, 64>;
  if (_7 == 257)
    goto <bb 5>; [5.50%]
  else
    goto <bb 12>; [94.50%]

  <bb 12> [local count: 642448455]:
  goto <bb 10>; [100.00%]

  <bb 5> [local count: 37391180]:
  # DEBUG BEGIN_STMT
  Can_Ipw_MainFunction_BusOff (Can_pController_13);

  <bb 7> [local count: 96446979]:
  # u8ControllerID_5 = PHI <1(5), 0(11)>

  <bb 10> [local count: 738895436]:
  # u8ControllerID_9 = PHI <u8ControllerID_5(7), 1(12)>

  <bb 9> [local count: 1073741824]:
  # u8ControllerID_8 = PHI <u8ControllerID_9(10), 1(13)>
  # DEBUG u8ControllerID => u8ControllerID_8
  # DEBUG BEGIN_STMT
  if (u8ControllerID_8 == 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [local count: 84365429]:
  return;

}



;; Function Can_MainFunction_Mode (Can_MainFunction_Mode, funcdef_no=19, decl_uid=6906, cgraph_uid=20, symbol_order=23)

Modification phase of node Can_MainFunction_Mode/23
Can_MainFunction_Mode ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const struct Can_ControllerConfigType * const * _3;
  const struct Can_ControllerConfigType * const * _6;
  _Bool _7;

  <bb 2> [local count: 84365427]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 11>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 11> [local count: 59055799]:
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _2 = Can_apxConfig[0];
  _3 = _2->Can_ppController;
  _6 = _3;
  Can_pController_14 = *_6;
  # DEBUG Can_pController => Can_pController_14
  # DEBUG BEGIN_STMT
  if (Can_pController_14 != 0B)
    goto <bb 4>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 334846388]:
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 679839636]:
  # DEBUG BEGIN_STMT
  _7 = Can_pController_14->Can_bActivation;
  if (_7 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 12>; [94.50%]

  <bb 12> [local count: 642448455]:
  goto <bb 10>; [100.00%]

  <bb 5> [local count: 37391180]:
  # DEBUG BEGIN_STMT
  Can_Ipw_MainFunction_Mode (Can_pController_14, &MEM[(void *)&Can_eControllerState]);

  <bb 7> [local count: 96446979]:
  # u8ControllerID_5 = PHI <1(5), 0(11)>

  <bb 10> [local count: 738895436]:
  # u8ControllerID_10 = PHI <u8ControllerID_5(7), 1(12)>

  <bb 9> [local count: 1073741824]:
  # u8ControllerID_9 = PHI <u8ControllerID_10(10), 1(13)>
  # DEBUG u8ControllerID => u8ControllerID_9
  # DEBUG BEGIN_STMT
  if (u8ControllerID_9 == 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [local count: 84365429]:
  return;

}



;; Function Can_SetIcomConfiguration (Can_SetIcomConfiguration, funcdef_no=20, decl_uid=6768, cgraph_uid=21, symbol_order=24)

Modification phase of node Can_SetIcomConfiguration/24
Can_SetIcomConfiguration (uint8 Controller, IcomConfigIdType ConfigurationId)
{
  uint8 u8ConfigIcomIndex;
  Std_ReturnType eReturnValue;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  const struct Can_IcomConfigsType * _7;
  const struct Can_IcomConfigsType * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_IcomConfigsType * _11;
  unsigned char _12;
  int _13;
  <unnamed type> _14;
  const struct Can_ControllerConfigType * const * _15;
  unsigned int _16;
  unsigned int _17;
  const struct Can_ControllerConfigType * const * _18;
  const struct Can_ControllerConfigType * _19;
  const struct Can_ConfigType * _20;
  const struct Can_ConfigType * _21;
  unsigned char _22;
  const struct Can_ConfigType * _23;
  const struct Can_IcomConfigsType * _24;
  unsigned int _25;
  unsigned int _26;
  int _27;
  const struct Can_IcomConfigsType * _28;
  int _29;
  const struct Can_ConfigType * _30;
  const struct Can_ControllerConfigType * const * _31;
  unsigned int _32;
  unsigned int _33;
  const struct Can_ControllerConfigType * const * _34;
  const struct Can_ControllerConfigType * _35;
  unsigned char _36;
  const struct Can_ConfigType * _37;
  const struct Can_ControllerConfigType * const * _38;
  unsigned int _39;
  unsigned int _40;
  const struct Can_ControllerConfigType * const * _41;
  const struct Can_ControllerConfigType * _42;
  unsigned char _43;

  <bb 2> [local count: 171438108]:
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG eReturnValue => 1
  # DEBUG BEGIN_STMT
  # DEBUG u8ConfigIcomIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  if (ConfigurationId_52(D) == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 17>; [67.00%]

  <bb 17> [local count: 114863532]:
  goto <bb 9>; [100.00%]

  <bb 3> [local count: 56574576]:
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_56(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  eReturnValue_60 = Can_Ipw_DeactivateIcomConfiguration (_6);
  # DEBUG eReturnValue => eReturnValue_60
  goto <bb 10>; [100.00%]

  <bb 4> [local count: 1014686024]:
  # DEBUG BEGIN_STMT
  _8 = _21->pCanIcomConfigs;
  _9 = (unsigned int) u8ConfigIcomIndex_45;
  _10 = _9 * 8;
  _11 = _8 + _10;
  _12 = _11->u8CanIcomConfigId;
  if (_12 == ConfigurationId_52(D))
    goto <bb 5>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 5> [local count: 55807731]:
  # _7 = PHI <_11(4)>
  # _20 = PHI <_21(4)>
  # u8ConfigIcomIndex_50 = PHI <u8ConfigIcomIndex_45(4)>
  # DEBUG BEGIN_STMT
  _13 = (int) Controller_56(D);
  _14 = Can_eControllerState[_13];
  if (_14 == 1)
    goto <bb 7>; [20.24%]
  else
    goto <bb 15>; [79.76%]

  <bb 7> [local count: 11295485]:
  # DEBUG BEGIN_STMT
  _15 = _20->Can_ppController;
  _16 = (unsigned int) Controller_56(D);
  _17 = _16 * 4;
  _18 = _15 + _17;
  _19 = *_18;
  eReturnValue_58 = Can_Ipw_SetIcomConfiguration (_19, _7);
  # DEBUG eReturnValue => eReturnValue_58
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878291]:
  # DEBUG BEGIN_STMT
  u8ConfigIcomIndex_55 = u8ConfigIcomIndex_45 + 1;
  # DEBUG u8ConfigIcomIndex => u8ConfigIcomIndex_55

  <bb 9> [local count: 1073741824]:
  # u8ConfigIcomIndex_45 = PHI <u8ConfigIcomIndex_55(8), 0(17)>
  # DEBUG u8ConfigIcomIndex => u8ConfigIcomIndex_45
  # DEBUG BEGIN_STMT
  _21 = Can_apxConfig[0];
  _22 = _21->u8NumCanIcomConfigs;
  if (_22 > u8ConfigIcomIndex_45)
    goto <bb 4>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 126925861]:
  # eReturnValue_44 = PHI <eReturnValue_60(3), eReturnValue_58(7), 1(9)>
  # u8ConfigIcomIndex_46 = PHI <0(3), u8ConfigIcomIndex_50(7), u8ConfigIcomIndex_45(9)>
  # DEBUG u8ConfigIcomIndex => u8ConfigIcomIndex_46
  # DEBUG eReturnValue => eReturnValue_44
  # DEBUG BEGIN_STMT
  if (eReturnValue_44 == 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 11> [local count: 63462930]:
  # DEBUG BEGIN_STMT
  if (ConfigurationId_52(D) != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 31731465]:
  # DEBUG BEGIN_STMT
  _23 = Can_apxConfig[0];
  _24 = _23->pCanIcomConfigs;
  _25 = (unsigned int) u8ConfigIcomIndex_46;
  _26 = _25 * 8;
  _27 = (int) Controller_56(D);
  _28 = _24 + _26;
  Can_apxCtrlConfigIcomIndex[_27] = _28;
  goto <bb 14>; [100.00%]

  <bb 13> [local count: 31731465]:
  # DEBUG BEGIN_STMT
  _29 = (int) Controller_56(D);
  Can_apxCtrlConfigIcomIndex[_29] = 0B;

  <bb 14> [local count: 63462930]:
  # DEBUG BEGIN_STMT
  _30 = Can_apxConfig[0];
  _31 = _30->Can_ppController;
  _32 = (unsigned int) Controller_56(D);
  _33 = _32 * 4;
  _34 = _31 + _33;
  _35 = *_34;
  _36 = _35->Can_u8AbstControllerID;
  CanIf_CurrentIcomConfiguration (_36, ConfigurationId_52(D), 0);
  goto <bb 16>; [100.00%]

  <bb 15> [local count: 107975177]:
  # eReturnValue_51 = PHI <eReturnValue_44(10), 1(5)>
  # DEBUG u8ConfigIcomIndex => NULL
  # DEBUG eReturnValue => NULL
  # DEBUG BEGIN_STMT
  _37 = Can_apxConfig[0];
  _38 = _37->Can_ppController;
  _39 = (unsigned int) Controller_56(D);
  _40 = _39 * 4;
  _41 = _38 + _40;
  _42 = *_41;
  _43 = _42->Can_u8AbstControllerID;
  CanIf_CurrentIcomConfiguration (_43, ConfigurationId_52(D), 1);

  <bb 16> [local count: 171438107]:
  # eReturnValue_53 = PHI <0(14), eReturnValue_51(15)>
  # DEBUG BEGIN_STMT
  return eReturnValue_53;

}



;; Function Can_ProcessPNInterrupt (Can_ProcessPNInterrupt, funcdef_no=21, decl_uid=6910, cgraph_uid=22, symbol_order=25)

Modification phase of node Can_ProcessPNInterrupt/25
Can_ProcessPNInterrupt (uint8 u8CtrlOffset)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned int _6;
  unsigned int _7;
  const struct Can_ControllerConfigType * const * _8;
  int _9;
  const struct Can_IcomConfigsType * _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _2 = _1->Can_pCtrlOffsetToCtrlIDMap;
  _3 = (sizetype) u8CtrlOffset_13(D);
  _4 = _2 + _3;
  u8ControllerID_14 = *_4;
  # DEBUG u8ControllerID => u8ControllerID_14
  # DEBUG BEGIN_STMT
  _5 = _1->Can_ppController;
  _6 = (unsigned int) u8ControllerID_14;
  _7 = _6 * 4;
  _8 = _5 + _7;
  Can_pController_15 = *_8;
  # DEBUG Can_pController => Can_pController_15
  # DEBUG BEGIN_STMT
  if (Can_pController_15 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 4> [local count: 526133494]:
  _9 = (int) u8ControllerID_14;
  _10 = Can_apxCtrlConfigIcomIndex[_9];
  if (_10 != 0B)
    goto <bb 5>; [53.47%]
  else
    goto <bb 6>; [46.53%]

  <bb 5> [local count: 281323579]:
  # DEBUG BEGIN_STMT
  Can_Ipw_ProcessPN (Can_pController_15, _10);

  <bb 6> [local count: 1073741824]:
  return;

}



;; Function Can_ProcessBusOffInterrupt (Can_ProcessBusOffInterrupt, funcdef_no=22, decl_uid=6908, cgraph_uid=23, symbol_order=26)

Modification phase of node Can_ProcessBusOffInterrupt/26
Can_ProcessBusOffInterrupt (uint8 u8CtrlOffset)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned int _6;
  unsigned int _7;
  const struct Can_ControllerConfigType * const * _8;
  unsigned char _9;
  int _10;
  unsigned char _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ControllerID => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pController => 0B
  # DEBUG BEGIN_STMT
  # DEBUG u32CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = Can_apxConfig[0];
  if (_1 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _2 = _1->Can_pCtrlOffsetToCtrlIDMap;
  _3 = (sizetype) u8CtrlOffset_14(D);
  _4 = _2 + _3;
  u8ControllerID_15 = *_4;
  # DEBUG u8ControllerID => u8ControllerID_15
  # DEBUG BEGIN_STMT
  _5 = _1->Can_ppController;
  _6 = (unsigned int) u8ControllerID_15;
  _7 = _6 * 4;
  _8 = _5 + _7;
  Can_pController_16 = *_8;
  # DEBUG Can_pController => Can_pController_16
  # DEBUG BEGIN_STMT
  if (Can_pController_16 != 0B)
    goto <bb 4>; [53.47%]
  else
    goto <bb 6>; [46.53%]

  <bb 4> [local count: 401890828]:
  # DEBUG BEGIN_STMT
  _9 = Can_Ipw_SetControllerToStopMode (Can_pController_16);
  if (_9 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 132623973]:
  # DEBUG BEGIN_STMT
  _10 = (int) u8ControllerID_15;
  Can_eControllerState[_10] = 2;
  # DEBUG BEGIN_STMT
  _11 = Can_pController_16->Can_u8AbstControllerID;
  CanIf_ControllerBusOff (_11);

  <bb 6> [local count: 1073741824]:
  return;

}


