
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00) @07038c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00) @07038b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Port_apInMuxSettings/23 (Port_apInMuxSettings) @07076750
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInputMode/6 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apInMuxSettingsIndex/22 (Port_apInMuxSettingsIndex) @07076708
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInputMode/6 (read)
  Availability: not_available
  Varpool flags: read-only
Port_au16NumInoutMuxSettings/21 (Port_au16NumInoutMuxSettings) @070765e8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_GetIndexForInoutEntry/3 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apInoutMuxSettings/20 (Port_apInoutMuxSettings) @07076240
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_GetIndexForInoutEntry/3 (read)Port_Ipw_SetInoutMode/5 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apSiul2InstancePinModeAvailability/19 (Port_apSiul2InstancePinModeAvailability) @0703abd0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetPinMode/12 (read)
  Availability: not_available
  Varpool flags: read-only
Det_ReportError/18 (Det_ReportError) @070381c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/12 (159060893 (estimated locally),0.15 per call) Port_Ipw_SetPinMode/12 (237404317 (estimated locally),0.22 per call) Port_Ipw_SetPinMode/12 (354334802 (estimated locally),0.33 per call) Port_Ipw_SetPinDirection/11 (237404317 (estimated locally),0.22 per call) Port_Ipw_SetPinDirection/11 (354334802 (estimated locally),0.33 per call) 
  Calls: 
Port_au32Siul2BaseAddr/17 (Port_au32Siul2BaseAddr) @0703a090
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInoutMode/5 (read)Port_Ipw_SetGpioPadOutput/14 (read)Port_Ipw_Init_UnusedPins/2 (read)Port_Ipw_Init_UnusedPins/2 (read)Port_Ipw_SetInputMode/6 (read)Port_Ipw_SetInoutMode/5 (read)Port_Ipw_SetAltMode/9 (read)Port_Ipw_SetOnlyInputMode/8 (read)Port_Ipw_SetGpioMode/7 (read)Port_Ipw_SetPinDirection/11 (read)Port_Ipw_SetInputMode/6 (read)Port_Ipw_RefreshPortDirection/15 (read)
  Availability: not_available
  Varpool flags: read-only
Siul2_Port_Ip_Init/16 (Siul2_Port_Ip_Init) @07023e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/10 (41279180 (estimated locally),1.00 per call) 
  Calls: 
Port_Ipw_RefreshPortDirection/15 (Port_Ipw_RefreshPortDirection) @070230e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Port_Ipw_SetGpioPadOutput/14 (Port_Ipw_SetGpioPadOutput) @07023d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetGpioMode/7 (86669348 (estimated locally),0.08 per call) Port_Ipw_SetGpioMode/7 (217325345 (estimated locally),0.20 per call) 
  Calls: 
Port_Ipw_SetGpioDirChangeability/13 (Port_Ipw_SetGpioDirChangeability) @07023a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (read)Port_Ipw_au16GPIODirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetGpioMode/7 (1073741823 (estimated locally),1.00 per call) Port_Ipw_SetOnlyInputMode/8 (1073741824 (estimated locally),1.00 per call) Port_Ipw_SetInputMode/6 (1073741824 (estimated locally),1.00 per call) Port_Ipw_SetInoutMode/5 (1073741824 (estimated locally),1.00 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinMode/12 (Port_Ipw_SetPinMode) @070237e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_apSiul2InstancePinModeAvailability/19 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_SetMode/4 (100275047 (estimated locally),0.09 per call) Det_ReportError/18 (159060893 (estimated locally),0.15 per call) Det_ReportError/18 (237404317 (estimated locally),0.22 per call) Det_ReportError/18 (354334802 (estimated locally),0.33 per call) 
Port_Ipw_SetPinDirection/11 (Port_Ipw_SetPinDirection) @07023540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetGpioMode/7 (1073741824 (estimated locally),1.00 per call) 
  Calls: Det_ReportError/18 (237404317 (estimated locally),0.22 per call) Det_ReportError/18 (354334802 (estimated locally),0.33 per call) 
Port_Ipw_Init/10 (Port_Ipw_Init) @070232a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:41279181 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (41279180 (estimated locally),1.00 per call) Siul2_Port_Ip_Init/16 (41279180 (estimated locally),1.00 per call) 
Port_Ipw_SetAltMode/9 (Port_Ipw_SetAltMode) @07023000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) 
  Calls: 
Port_Ipw_SetOnlyInputMode/8 (Port_Ipw_SetOnlyInputMode) @06ea8a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetGpioMode/7 (Port_Ipw_SetGpioMode) @06ea8540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741823 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) 
  Calls: Port_Ipw_SetPinDirection/11 (1073741824 (estimated locally),1.00 per call) Port_Ipw_SetGpioPadOutput/14 (86669348 (estimated locally),0.08 per call) Port_Ipw_SetGpioPadOutput/14 (217325345 (estimated locally),0.20 per call) Port_Ipw_SetGpioDirChangeability/13 (1073741823 (estimated locally),1.00 per call) 
Port_Ipw_SetInputMode/6 (Port_Ipw_SetInputMode) @06ea8ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_apInMuxSettingsIndex/22 (read)Port_apInMuxSettings/23 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetInoutMode/5 (Port_Ipw_SetInoutMode) @06ea8c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_apInoutMuxSettings/20 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (178956971 (estimated locally),0.17 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) Port_Ipw_GetIndexForInoutEntry/3 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetMode/4 (Port_Ipw_SetMode) @06ea89a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073527120 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetPinMode/12 (100275047 (estimated locally),0.09 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetAltMode/9 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetOnlyInputMode/8 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetGpioMode/7 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetInputMode/6 (178956971 (estimated locally),0.17 per call) Port_Ipw_SetInoutMode/5 (178956971 (estimated locally),0.17 per call) 
Port_Ipw_GetIndexForInoutEntry/3 (Port_Ipw_GetIndexForInoutEntry) @06ea8700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_apInoutMuxSettings/20 (read)Port_au16NumInoutMuxSettings/21 (read)
  Referring: 
  Availability: local
  Function flags: count:78030430 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetInoutMode/5 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @06ea8460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: local
  Function flags: count:118111602 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/10 (41279180 (estimated locally),1.00 per call) 
  Calls: 
Port_Ipw_au16GPIODirChangeability/1 (Port_Ipw_au16GPIODirChangeability) @06ea3510
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Port_Ipw_Init/10 (write)Port_Ipw_SetPinDirection/11 (read)Port_Ipw_SetGpioDirChangeability/13 (read)Port_Ipw_SetGpioDirChangeability/13 (write)
  Availability: available
  Varpool flags:
Port_Ipw_RefreshPortDirection (const struct Port_ConfigType * pConfigPtr)
{
  uint32 u32LocalMSCR;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  uint16 u16PinIndex;
  uint16 u16NumPins;
  const struct Port_Siul2_PinConfigType * _1;
  unsigned int _2;
  unsigned int _3;
  const struct Port_Siul2_PinConfigType * _4;
  unsigned char _5;
  int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  volatile uint32 * _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  u16NumPins_23 = pConfigPtr_22(D)->u16NumPins;
  # DEBUG u16NumPins => u16NumPins_23
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 12>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_22(D)->pUsedPadConfig;
  _2 = (unsigned int) u16PinIndex_16;
  _3 = _2 * 20;
  _4 = _1 + _3;
  _5 = _4->bDC;
  if (_5 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 4> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  u16MscrIdx_24 = _4->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_24
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_25 = _4->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_25
  # DEBUG BEGIN_STMT
  _6 = (int) u8MscrSiulInstance_25;
  _7 = Port_au32Siul2BaseAddr[_6];
  _8 = (long unsigned int) u16MscrIdx_24;
  _9 = _8 << 2;
  _10 = _7 + _9;
  _11 = _10 + 576;
  _12 = (volatile uint32 *) _11;
  u32LocalMSCR_26 ={v} *_12;
  # DEBUG u32LocalMSCR => u32LocalMSCR_26
  # DEBUG BEGIN_STMT
  _13 = _4->u32MSCR;
  _14 = _13 & 2097152;
  if (_14 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_28 = u32LocalMSCR_26 | 2097152;
  # DEBUG u32LocalMSCR => u32LocalMSCR_28
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_27 = u32LocalMSCR_26 & 4292870143;
  # DEBUG u32LocalMSCR => u32LocalMSCR_27

  <bb 7> [local count: 477815111]:
  # u32LocalMSCR_17 = PHI <u32LocalMSCR_28(5), u32LocalMSCR_27(6)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_17
  # DEBUG BEGIN_STMT
  _15 = _13 & 524288;
  if (_15 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_30 = u32LocalMSCR_17 | 524288;
  # DEBUG u32LocalMSCR => u32LocalMSCR_30
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_29 = u32LocalMSCR_17 & 4294443007;
  # DEBUG u32LocalMSCR => u32LocalMSCR_29

  <bb 10> [local count: 477815111]:
  # u32LocalMSCR_18 = PHI <u32LocalMSCR_30(8), u32LocalMSCR_29(9)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_18
  # DEBUG BEGIN_STMT
  *_12 ={v} u32LocalMSCR_18;

  <bb 11> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  u16PinIndex_32 = u16PinIndex_16 + 1;
  # DEBUG u16PinIndex => u16PinIndex_32

  <bb 12> [local count: 1073741824]:
  # u16PinIndex_16 = PHI <0(2), u16PinIndex_32(11)>
  # DEBUG u16PinIndex => u16PinIndex_16
  # DEBUG BEGIN_STMT
  if (u16PinIndex_16 < u16NumPins_23)
    goto <bb 3>; [89.00%]
  else
    goto <bb 13>; [11.00%]

  <bb 13> [local count: 118111601]:
  return;

}


Port_Ipw_SetGpioPadOutput (Port_PinType PinIndex, const struct Port_ConfigType * pConfigPtr)
{
  uint8 u8LocalPDO;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  int _4;
  long unsigned int _5;
  short unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  volatile uint8 * _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_13(D)->pUsedPadConfig;
  _2 = PinIndex_14(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_15 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_15
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_16 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_16
  # DEBUG BEGIN_STMT
  u8LocalPDO_17 = _3->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_17
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_17 != 2)
    goto <bb 3>; [66.00%]
  else
    goto <bb 4>; [34.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _4 = (int) u8MscrSiulInstance_16;
  _5 = Port_au32Siul2BaseAddr[_4];
  _6 = u16MscrIdx_15 ^ 3;
  _7 = (long unsigned int) _6;
  _8 = _5 + _7;
  _9 = _8 + 4864;
  _10 = (volatile uint8 *) _9;
  *_10 ={v} u8LocalPDO_17;

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

}


Port_Ipw_SetGpioDirChangeability (uint8 u8ImcrSiulInstance, uint16 u16MscrIdx, boolean bStatus)
{
  uint8 u8PinBitOffset;
  uint16 u16PinDirFlagWord;
  unsigned char _1;
  int _2;
  unsigned char _3;
  int _4;
  int _5;
  long unsigned int _6;
  short unsigned int _7;
  int _8;
  long unsigned int _9;
  short unsigned int _10;
  short unsigned int _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  _1 = (unsigned char) u16MscrIdx_15(D);
  u8PinBitOffset_16 = _1 & 15;
  # DEBUG u8PinBitOffset => u8PinBitOffset_16
  # DEBUG BEGIN_STMT
  _2 = (int) u8ImcrSiulInstance_17(D);
  _3 = _1 >> 4;
  _4 = (int) _3;
  u16PinDirFlagWord_18 = Port_Ipw_au16GPIODirChangeability[_2][_4];
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_18
  # DEBUG BEGIN_STMT
  if (bStatus_19(D) == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _5 = (int) u8PinBitOffset_16;
  _6 = 1 << _5;
  _7 = (short unsigned int) _6;
  u16PinDirFlagWord_21 = _7 | u16PinDirFlagWord_18;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_21
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _8 = (int) u8PinBitOffset_16;
  _9 = 1 << _8;
  _10 = (short unsigned int) _9;
  _11 = ~_10;
  u16PinDirFlagWord_20 = _11 & u16PinDirFlagWord_18;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_20

  <bb 5> [local count: 1073741824]:
  # u16PinDirFlagWord_12 = PHI <u16PinDirFlagWord_21(3), u16PinDirFlagWord_20(4)>
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_12
  # DEBUG BEGIN_STMT
  Port_Ipw_au16GPIODirChangeability[_2][_4] = u16PinDirFlagWord_12;
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00 ();
  return;

}


Port_Ipw_SetPinMode (Port_PinType PinIndex, Port_PinModeType PinMode, const struct Port_ConfigType * pConfigPtr)
{
  uint8 u8PinDescBitOffset;
  uint16 u16PinDescWord;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  Std_ReturnType PinModeError;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  short unsigned int _4;
  long unsigned int _5;
  const uint32 * _6;
  long unsigned int _7;
  const uint32 * _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  unsigned char _12;
  int _13;
  const uint16[21][12] * _14;
  int _15;
  short unsigned int _16;
  int _17;
  int _18;
  long unsigned int _19;
  short unsigned int _20;
  short unsigned int _21;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG PinModeError => 0
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_25(D)->pUsedPadConfig;
  _2 = PinIndex_26(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_27 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_28 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _4 = pConfigPtr_25(D)->u16NumPins;
  _5 = (long unsigned int) _4;
  if (_5 <= PinIndex_26(D))
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 10);
  goto <bb 11>; [100.00%]

  <bb 4> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  _6 = pConfigPtr_25(D)->pau32Port_PinToPartitionMap;
  _7 = PinIndex_26(D) * 4;
  _8 = _6 + _7;
  _9 = *_8;
  _10 = _9 & 1;
  if (_10 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 237404317]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 240);
  goto <bb 11>; [100.00%]

  <bb 6> [local count: 482002705]:
  # DEBUG BEGIN_STMT
  _11 = _3->bMC;
  if (_11 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 159060893]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 14);
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 322941812]:
  # DEBUG BEGIN_STMT
  if (PinMode_29(D) > 20)
    goto <bb 11>; [35.00%]
  else
    goto <bb 9>; [65.00%]

  <bb 9> [local count: 209912178]:
  # DEBUG BEGIN_STMT
  _12 = (unsigned char) u16MscrIdx_27;
  u8PinDescBitOffset_30 = _12 & 15;
  # DEBUG u8PinDescBitOffset => u8PinDescBitOffset_30
  # DEBUG BEGIN_STMT
  _13 = (int) u8MscrSiulInstance_28;
  _14 = Port_apSiul2InstancePinModeAvailability[_13];
  _15 = (int) PinMode_29(D);
  _16 = u16MscrIdx_27 >> 4;
  _17 = (int) _16;
  u16PinDescWord_31 = *_14[_15][_17];
  # DEBUG u16PinDescWord => u16PinDescWord_31
  # DEBUG BEGIN_STMT
  _18 = (int) u8PinDescBitOffset_30;
  _19 = 1 << _18;
  _20 = (short unsigned int) _19;
  _21 = _20 & u16PinDescWord_31;
  if (_21 != 0)
    goto <bb 10>; [47.77%]
  else
    goto <bb 11>; [52.23%]

  <bb 10> [local count: 100275047]:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetMode (u8MscrSiulInstance_28, u16MscrIdx_27, PinIndex_26(D), PinMode_29(D), pConfigPtr_25(D));

  <bb 11> [local count: 1073741824]:
  # PinModeError_22 = PHI <0(3), 0(5), 0(7), 13(8), 0(10), 13(9)>
  # DEBUG PinModeError => PinModeError_22
  # DEBUG BEGIN_STMT
  return PinModeError_22;

}


Port_Ipw_SetPinDirection (Port_PinType PinIndex, Port_PinDirectionType eDirection, const struct Port_ConfigType * pConfigPtr)
{
  uint16 u16PinChangeDirFlagWord;
  uint8 u8PinDescBitOffset;
  Std_ReturnType PinDirError;
  uint32 u32LocalMSCR;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  short unsigned int _4;
  long unsigned int _5;
  const uint32 * _6;
  long unsigned int _7;
  const uint32 * _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  int _12;
  short unsigned int _13;
  unsigned char _14;
  int _15;
  unsigned char _16;
  int _17;
  long unsigned int _18;
  short unsigned int _19;
  short unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  volatile uint32 * _26;
  long unsigned int _35;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_31(D)->pUsedPadConfig;
  _2 = PinIndex_32(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_33 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_33
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_34 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_34
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG PinDirError => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _4 = pConfigPtr_31(D)->u16NumPins;
  _5 = (long unsigned int) _4;
  if (_5 <= PinIndex_32(D))
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 1, 10);
  goto <bb 16>; [100.00%]

  <bb 4> [local count: 719407022]:
  # DEBUG BEGIN_STMT
  _6 = pConfigPtr_31(D)->pau32Port_PinToPartitionMap;
  _7 = PinIndex_32(D) * 4;
  _8 = _6 + _7;
  _9 = *_8;
  _10 = _9 & 1;
  if (_10 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 237404317]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 1, 240);
  goto <bb 16>; [100.00%]

  <bb 6> [local count: 482002704]:
  # DEBUG BEGIN_STMT
  _11 = (unsigned char) u16MscrIdx_33;
  u8PinDescBitOffset_36 = _11 & 15;
  # DEBUG u8PinDescBitOffset => u8PinDescBitOffset_36
  # DEBUG BEGIN_STMT
  _12 = (int) u8MscrSiulInstance_34;
  _13 = u16MscrIdx_33 >> 4;
  _14 = (unsigned char) _13;
  _15 = (int) _14;
  u16PinChangeDirFlagWord_37 = Port_Ipw_au16GPIODirChangeability[_12][_15];
  # DEBUG u16PinChangeDirFlagWord => u16PinChangeDirFlagWord_37
  # DEBUG BEGIN_STMT
  _16 = _3->bDC;
  if (_16 == 1)
    goto <bb 8>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 7> [local count: 318121785]:
  _17 = (int) u8PinDescBitOffset_36;
  _18 = 1 << _17;
  _19 = (short unsigned int) _18;
  _20 = _19 & u16PinChangeDirFlagWord_37;
  if (_20 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 8> [local count: 322941812]:
  # DEBUG BEGIN_STMT
  _21 = Port_au32Siul2BaseAddr[_12];
  _22 = (long unsigned int) u16MscrIdx_33;
  _23 = _22 << 2;
  _24 = _21 + _23;
  _25 = _24 + 576;
  _26 = (volatile uint32 *) _25;
  u32LocalMSCR_38 ={v} *_26;
  # DEBUG u32LocalMSCR => u32LocalMSCR_38
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 1)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 109800216]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_43 = u32LocalMSCR_38 & 4294443007;
  # DEBUG u32LocalMSCR => u32LocalMSCR_43
  # DEBUG BEGIN_STMT
  u32LocalMSCR_44 = u32LocalMSCR_43 | 2097152;
  # DEBUG u32LocalMSCR => u32LocalMSCR_44
  goto <bb 15>; [100.00%]

  <bb 10> [local count: 213141596]:
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 11> [local count: 106570798]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 | 524288
  # DEBUG BEGIN_STMT
  _35 = u32LocalMSCR_38 & 4292870143;
  u32LocalMSCR_42 = _35 | 524288;
  # DEBUG u32LocalMSCR => u32LocalMSCR_42
  goto <bb 15>; [100.00%]

  <bb 12> [local count: 106570798]:
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 2)
    goto <bb 13>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 13> [local count: 36234071]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 | 524288
  # DEBUG BEGIN_STMT
  u32LocalMSCR_41 = u32LocalMSCR_38 | 2621440;
  # DEBUG u32LocalMSCR => u32LocalMSCR_41
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 70336727]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 & 4294443007
  # DEBUG BEGIN_STMT
  u32LocalMSCR_40 = u32LocalMSCR_38 & 4292345855;
  # DEBUG u32LocalMSCR => u32LocalMSCR_40

  <bb 15> [local count: 322941812]:
  # u32LocalMSCR_27 = PHI <u32LocalMSCR_44(9), u32LocalMSCR_42(11), u32LocalMSCR_41(13), u32LocalMSCR_40(14)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_27
  # DEBUG BEGIN_STMT
  *_26 ={v} u32LocalMSCR_27;

  <bb 16> [local count: 1073741824]:
  # PinDirError_28 = PHI <0(3), 0(5), 0(15), 1(7)>
  # DEBUG PinDirError => PinDirError_28
  # DEBUG BEGIN_STMT
  return PinDirError_28;

}


Port_Ipw_Init (const struct Port_ConfigType * pConfigPtr)
{
  struct SIUL2_Type * imcrBase;
  uint8 u8Imcr;
  uint16 u16ImcrIdx;
  uint8 u8ImcrSiulInstance;
  uint16 u16Counter;
  const Port_Siul2_ImcrConfigType * _1;
  sizetype _2;
  const Port_Siul2_ImcrConfigType * _3;
  unsigned int _4;
  int _5;
  short unsigned int _6;
  const struct Siul2_Port_Ip_PinSettingsConfig * _7;
  int _8;
  int _9;
  short unsigned int _20;

  <bb 2> [local count: 41279181]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1074380800B
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  goto <bb 11>; [100.00%]

  <bb 3> [local count: 668072387]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_22(D)->pImcrConfig[_5];
  _2 = (sizetype) u16ImcrIdx_13;
  _3 = _1 + _2;
  u8Imcr_29 = *_3;
  # DEBUG u8Imcr => u8Imcr_29
  # DEBUG BEGIN_STMT
  if (u8Imcr_29 != 255)
    goto <bb 4>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 4> [local count: 440927775]:
  # DEBUG BEGIN_STMT
  if (u16ImcrIdx_13 <= 83)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 220463888]:
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1140916224B

  <bb 6> [local count: 440927775]:
  # imcrBase_14 = PHI <1074380800B(4), 1140916224B(5)>
  # DEBUG imcrBase => imcrBase_14
  # DEBUG BEGIN_STMT
  if (u16ImcrIdx_13 <= 495)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 220463888]:
  # DEBUG BEGIN_STMT
  _20 = u16ImcrIdx_13 & 511;
  _4 = (unsigned int) _20;
  imcrBase_14->IMCR[_4] ={v} 0;

  <bb 8> [local count: 668072387]:
  # DEBUG BEGIN_STMT
  u16ImcrIdx_31 = u16ImcrIdx_13 + 1;
  # DEBUG u16ImcrIdx => u16ImcrIdx_31

  <bb 9> [local count: 750643132]:
  # u16ImcrIdx_13 = PHI <u16ImcrIdx_31(8), 0(19)>
  # DEBUG u16ImcrIdx => u16ImcrIdx_13
  # DEBUG BEGIN_STMT
  _5 = (int) u8ImcrSiulInstance_11;
  _6 = pConfigPtr_22(D)->au16NumImcrs[_5];
  if (_6 > u16ImcrIdx_13)
    goto <bb 3>; [89.00%]
  else
    goto <bb 10>; [11.00%]

  <bb 10> [local count: 82570744]:
  # DEBUG BEGIN_STMT
  u8ImcrSiulInstance_28 = u8ImcrSiulInstance_11 + 1;
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_28

  <bb 11> [local count: 123849926]:
  # u8ImcrSiulInstance_11 = PHI <0(2), u8ImcrSiulInstance_28(10)>
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_11
  # DEBUG BEGIN_STMT
  if (u8ImcrSiulInstance_11 != 2)
    goto <bb 19>; [66.67%]
  else
    goto <bb 12>; [33.33%]

  <bb 19> [local count: 82570745]:
  goto <bb 9>; [100.00%]

  <bb 12> [local count: 41279180]:
  # DEBUG BEGIN_STMT
  _7 = pConfigPtr_22(D)->IpConfigPtr;
  Siul2_Port_Ip_Init (40, _7);
  # DEBUG BEGIN_STMT
  Port_Ipw_Init_UnusedPins (pConfigPtr_22(D));
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  goto <bb 16>; [100.00%]

  <bb 13> [local count: 991171080]:
  # DEBUG BEGIN_STMT
  _8 = (int) u8ImcrSiulInstance_12;
  _9 = (int) u16Counter_10;
  Port_Ipw_au16GPIODirChangeability[_8][_9] = 0;
  # DEBUG BEGIN_STMT
  u16Counter_27 = u16Counter_10 + 1;
  # DEBUG u16Counter => u16Counter_27

  <bb 14> [local count: 1073741824]:
  # u16Counter_10 = PHI <u16Counter_27(13), 0(18)>
  # DEBUG u16Counter => u16Counter_10
  # DEBUG BEGIN_STMT
  if (u16Counter_10 != 12)
    goto <bb 13>; [92.31%]
  else
    goto <bb 15>; [7.69%]

  <bb 15> [local count: 82570746]:
  # DEBUG BEGIN_STMT
  u8ImcrSiulInstance_25 = u8ImcrSiulInstance_12 + 1;
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_25

  <bb 16> [local count: 123849926]:
  # u8ImcrSiulInstance_12 = PHI <0(12), u8ImcrSiulInstance_25(15)>
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_12
  # DEBUG BEGIN_STMT
  if (u8ImcrSiulInstance_12 != 2)
    goto <bb 18>; [66.67%]
  else
    goto <bb 17>; [33.33%]

  <bb 18> [local count: 82570746]:
  goto <bb 14>; [100.00%]

  <bb 17> [local count: 41279181]:
  return;

}


Port_Ipw_SetAltMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinModeType PinMode)
{
  uint32 MscrValue;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  volatile uint32 * _7;
  long unsigned int _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) u8MscrSiulInstance_9(D);
  _2 = Port_au32Siul2BaseAddr[_1];
  _3 = (long unsigned int) u16MscrIdx_11(D);
  _4 = _3 << 2;
  _5 = _2 + _4;
  _6 = _5 + 576;
  _7 = (volatile uint32 *) _6;
  MscrValue_12 ={v} *_7;
  # DEBUG MscrValue => MscrValue_12
  # DEBUG BEGIN_STMT
  MscrValue_13 = MscrValue_12 & 4294967288;
  # DEBUG MscrValue => MscrValue_13
  # DEBUG BEGIN_STMT
  _8 = (long unsigned int) PinMode_14(D);
  MscrValue_15 = _8 | MscrValue_13;
  # DEBUG MscrValue => MscrValue_15
  # DEBUG BEGIN_STMT
  MscrValue_16 = MscrValue_15 | 2097152;
  # DEBUG MscrValue => MscrValue_16
  # DEBUG BEGIN_STMT
  *_7 ={v} MscrValue_16;
  return;

}


Port_Ipw_SetOnlyInputMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx)
{
  uint32 MscrValue;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  volatile uint32 * _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) u8MscrSiulInstance_8(D);
  _2 = Port_au32Siul2BaseAddr[_1];
  _3 = (long unsigned int) u16MscrIdx_10(D);
  _4 = _3 << 2;
  _5 = _2 + _4;
  _6 = _5 + 576;
  _7 = (volatile uint32 *) _6;
  MscrValue_11 ={v} *_7;
  # DEBUG MscrValue => MscrValue_11
  # DEBUG BEGIN_STMT
  MscrValue_12 = MscrValue_11 & 4292870136;
  # DEBUG MscrValue => MscrValue_12
  # DEBUG BEGIN_STMT
  MscrValue_13 = MscrValue_12 | 524288;
  # DEBUG MscrValue => MscrValue_13
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_8(D), u16MscrIdx_10(D), 0);
  # DEBUG BEGIN_STMT
  *_7 ={v} MscrValue_13;
  return;

}


Port_Ipw_SetGpioMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinType PinIndex, const struct Port_ConfigType * pConfigPtr)
{
  uint32 MscrValue;
  Port_PinDirectionType ePadDirection;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  volatile uint32 * _7;
  const struct Port_Siul2_PinConfigType * _8;
  long unsigned int _9;
  const struct Port_Siul2_PinConfigType * _10;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) u8MscrSiulInstance_13(D);
  _2 = Port_au32Siul2BaseAddr[_1];
  _3 = (long unsigned int) u16MscrIdx_15(D);
  _4 = _3 << 2;
  _5 = _2 + _4;
  _6 = _5 + 576;
  _7 = (volatile uint32 *) _6;
  MscrValue_16 ={v} *_7;
  # DEBUG MscrValue => MscrValue_16
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_13(D), u16MscrIdx_15(D), 1);
  # DEBUG BEGIN_STMT
  _8 = pConfigPtr_18(D)->pUsedPadConfig;
  _9 = PinIndex_19(D) * 20;
  _10 = _8 + _9;
  ePadDirection_20 = _10->ePadDir;
  # DEBUG ePadDirection => ePadDirection_20
  # DEBUG BEGIN_STMT
  MscrValue_21 = MscrValue_16 & 4294967288;
  # DEBUG MscrValue => MscrValue_21
  # DEBUG BEGIN_STMT
  if (ePadDirection_20 == 1)
    goto <bb 3>; [20.24%]
  else
    goto <bb 4>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  MscrValue_26 = MscrValue_21 | 2097152;
  # DEBUG MscrValue => MscrValue_26
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioPadOutput (PinIndex_19(D), pConfigPtr_18(D));
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 856416478]:
  # DEBUG BEGIN_STMT
  if (ePadDirection_20 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 428208239]:
  # DEBUG BEGIN_STMT
  MscrValue_25 = MscrValue_21 | 524288;
  # DEBUG MscrValue => MscrValue_25
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 428208239]:
  # DEBUG BEGIN_STMT
  if (ePadDirection_20 == 2)
    goto <bb 7>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 7> [local count: 86669348]:
  # DEBUG BEGIN_STMT
  MscrValue_23 = MscrValue_21 | 2621440;
  # DEBUG MscrValue => MscrValue_23
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioPadOutput (PinIndex_19(D), pConfigPtr_18(D));
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 341538891]:
  # DEBUG BEGIN_STMT
  MscrValue_22 = MscrValue_16 & 4292345848;
  # DEBUG MscrValue => MscrValue_22

  <bb 9> [local count: 1073741824]:
  # MscrValue_11 = PHI <MscrValue_26(3), MscrValue_25(5), MscrValue_23(7), MscrValue_22(8)>
  # DEBUG MscrValue => MscrValue_11
  # DEBUG BEGIN_STMT
  Port_Ipw_SetPinDirection (PinIndex_19(D), ePadDirection_20, pConfigPtr_18(D));
  # DEBUG BEGIN_STMT
  *_7 ={v} MscrValue_11;
  return;

}


Port_Ipw_SetInputMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinModeType PinMode)
{
  unsigned char PadInMuxData$u8ImcrSiulInstance;
  unsigned char PadInMuxData$u8ImcrSSS;
  short unsigned int PadInMuxData$u16ImcrIdx;
  uint32 ImcrValue;
  uint32 MscrValue;
  uint16 u16Index;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  volatile uint32 * _7;
  const uint16 * _8;
  unsigned int _9;
  const uint16 * _10;
  const struct Port_InMuxSettingType * _11;
  int _12;
  int _13;
  int _14;
  sizetype _15;
  sizetype _16;
  sizetype _17;
  const struct Port_InMuxSettingType * _18;
  int _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  volatile uint32 * _25;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG ImcrValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) u8MscrSiulInstance_29(D);
  _2 = Port_au32Siul2BaseAddr[_1];
  _3 = (long unsigned int) u16MscrIdx_31(D);
  _4 = _3 << 2;
  _5 = _2 + _4;
  _6 = _5 + 576;
  _7 = (volatile uint32 *) _6;
  MscrValue_32 ={v} *_7;
  # DEBUG MscrValue => MscrValue_32
  # DEBUG BEGIN_STMT
  _8 = Port_apInMuxSettingsIndex[_1];
  _9 = _3 * 2;
  _10 = _8 + _9;
  u16Index_33 = *_10;
  # DEBUG u16Index => u16Index_33
  # DEBUG BEGIN_STMT
  _11 = Port_apInMuxSettings[_1];
  _12 = (int) u16Index_33;
  _13 = (int) PinMode_34(D);
  _14 = _12 + _13;
  _15 = (sizetype) _14;
  _16 = _15 + 1073741816;
  _17 = _16 * 4;
  _18 = _11 + _17;
  PadInMuxData$u16ImcrIdx_26 = MEM[(const struct Port_InMuxSettingType *)_18];
  # DEBUG PadInMuxData$u16ImcrIdx => PadInMuxData$u16ImcrIdx_26
  PadInMuxData$u8ImcrSSS_27 = MEM[(const struct Port_InMuxSettingType *)_18 + 2B];
  # DEBUG PadInMuxData$u8ImcrSSS => PadInMuxData$u8ImcrSSS_27
  PadInMuxData$u8ImcrSiulInstance_28 = MEM[(const struct Port_InMuxSettingType *)_18 + 3B];
  # DEBUG PadInMuxData$u8ImcrSiulInstance => PadInMuxData$u8ImcrSiulInstance_28
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => PadInMuxData$u8ImcrSiulInstance_28
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => PadInMuxData$u16ImcrIdx_26
  # DEBUG BEGIN_STMT
  ImcrValue_35 = (uint32) PadInMuxData$u8ImcrSSS_27;
  # DEBUG ImcrValue => ImcrValue_35
  # DEBUG BEGIN_STMT
  _19 = (int) PadInMuxData$u8ImcrSiulInstance_28;
  _20 = Port_au32Siul2BaseAddr[_19];
  _21 = (long unsigned int) PadInMuxData$u16ImcrIdx_26;
  _22 = _21 << 2;
  _23 = _20 + _22;
  _24 = _23 + 2624;
  _25 = (volatile uint32 *) _24;
  *_25 ={v} ImcrValue_35;
  # DEBUG BEGIN_STMT
  MscrValue_37 = MscrValue_32 & 4292870136;
  # DEBUG MscrValue => MscrValue_37
  # DEBUG BEGIN_STMT
  MscrValue_38 = MscrValue_37 | 524288;
  # DEBUG MscrValue => MscrValue_38
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_29(D), u16MscrIdx_31(D), 0);
  # DEBUG BEGIN_STMT
  *_7 ={v} MscrValue_38;
  # DEBUG D#4 => {CLOBBER}
  # DEBUG PadInMuxData$u16ImcrIdx => D#4
  # DEBUG D#5 => {CLOBBER}
  # DEBUG PadInMuxData$u8ImcrSSS => D#5
  # DEBUG D#6 => {CLOBBER}
  # DEBUG PadInMuxData$u8ImcrSiulInstance => D#6
  return;

}


Port_Ipw_SetInoutMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinModeType PinMode)
{
  unsigned char PadInoutData$u8ImcrSiulInstance;
  unsigned char PadInoutData$u8ImcrSSS;
  short unsigned int PadInoutData$u16ImcrIdx;
  uint32 ImcrValue;
  uint16 u16Index;
  uint32 MscrValue;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  volatile uint32 * _7;
  const struct Port_InoutSettingType * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Port_InoutSettingType * _11;
  long unsigned int _12;
  int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  volatile uint32 * _19;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG ImcrValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  # DEBUG BEGIN_STMT
  _1 = (int) u8MscrSiulInstance_23(D);
  _2 = Port_au32Siul2BaseAddr[_1];
  _3 = (long unsigned int) u16MscrIdx_25(D);
  _4 = _3 << 2;
  _5 = _2 + _4;
  _6 = _5 + 576;
  _7 = (volatile uint32 *) _6;
  MscrValue_26 ={v} *_7;
  # DEBUG MscrValue => MscrValue_26
  # DEBUG BEGIN_STMT
  u16Index_29 = Port_Ipw_GetIndexForInoutEntry (u8MscrSiulInstance_23(D), u16MscrIdx_25(D), PinMode_27(D));
  # DEBUG u16Index => u16Index_29
  # DEBUG BEGIN_STMT
  _8 = Port_apInoutMuxSettings[_1];
  _9 = (unsigned int) u16Index_29;
  _10 = _9 * 8;
  _11 = _8 + _10;
  PadInoutData$u16ImcrIdx_20 = MEM[(const struct Port_InoutSettingType *)_11 + 4B];
  # DEBUG PadInoutData$u16ImcrIdx => PadInoutData$u16ImcrIdx_20
  PadInoutData$u8ImcrSSS_21 = MEM[(const struct Port_InoutSettingType *)_11 + 6B];
  # DEBUG PadInoutData$u8ImcrSSS => PadInoutData$u8ImcrSSS_21
  PadInoutData$u8ImcrSiulInstance_22 = MEM[(const struct Port_InoutSettingType *)_11 + 7B];
  # DEBUG PadInoutData$u8ImcrSiulInstance => PadInoutData$u8ImcrSiulInstance_22
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => PadInoutData$u8ImcrSiulInstance_22
  # DEBUG BEGIN_STMT
  _12 = (long unsigned int) PinMode_27(D);
  MscrValue_30 = _12 + 4294967282;
  # DEBUG MscrValue => MscrValue_30
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => PadInoutData$u16ImcrIdx_20
  # DEBUG BEGIN_STMT
  ImcrValue_31 = (uint32) PadInoutData$u8ImcrSSS_21;
  # DEBUG ImcrValue => ImcrValue_31
  # DEBUG BEGIN_STMT
  _13 = (int) PadInoutData$u8ImcrSiulInstance_22;
  _14 = Port_au32Siul2BaseAddr[_13];
  _15 = (long unsigned int) PadInoutData$u16ImcrIdx_20;
  _16 = _15 << 2;
  _17 = _14 + _16;
  _18 = _17 + 2624;
  _19 = (volatile uint32 *) _18;
  *_19 ={v} ImcrValue_31;
  # DEBUG BEGIN_STMT
  # DEBUG MscrValue => MscrValue_30 & 4294967288
  # DEBUG BEGIN_STMT
  # DEBUG MscrValue => MscrValue_30
  # DEBUG BEGIN_STMT
  MscrValue_33 = MscrValue_30 | 2621440;
  # DEBUG MscrValue => MscrValue_33
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_23(D), u16MscrIdx_25(D), 0);
  # DEBUG BEGIN_STMT
  *_7 ={v} MscrValue_33;
  # DEBUG D#1 => {CLOBBER}
  # DEBUG PadInoutData$u16ImcrIdx => D#1
  # DEBUG D#2 => {CLOBBER}
  # DEBUG PadInoutData$u8ImcrSSS => D#2
  # DEBUG D#3 => {CLOBBER}
  # DEBUG PadInoutData$u8ImcrSiulInstance => D#3
  return;

}


Port_Ipw_SetMode (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinType PinIndex, Port_PinModeType PinMode, const struct Port_ConfigType * pConfigPtr)
{
  <bb 2> [local count: 1073527120]:
  # DEBUG BEGIN_STMT
  switch (PinMode_2(D)) <default: <L21> [16.67%], case 0: <L13> [16.67%], case 1 ... 6: <L15> [16.67%], case 7: <L14> [16.67%], case 8 ... 14: <L6> [16.67%], case 15 ... 20: <L0> [16.67%]>

  <bb 3> [local count: 178956971]:
<L0>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetInoutMode (u8MscrSiulInstance_4(D), u16MscrIdx_5(D), PinMode_2(D));
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 178956971]:
<L6>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetInputMode (u8MscrSiulInstance_4(D), u16MscrIdx_5(D), PinMode_2(D));
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 5> [local count: 178956971]:
<L13>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioMode (u8MscrSiulInstance_4(D), u16MscrIdx_5(D), PinIndex_10(D), pConfigPtr_11(D));
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 178956971]:
<L14>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetOnlyInputMode (u8MscrSiulInstance_4(D), u16MscrIdx_5(D));
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 7> [local count: 178956971]:
<L15>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetAltMode (u8MscrSiulInstance_4(D), u16MscrIdx_5(D), PinMode_2(D));
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 178956971]:
<L21>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_4(D), u16MscrIdx_5(D), 0);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

}


Port_Ipw_GetIndexForInoutEntry (uint8 u8MscrSiulInstance, uint16 u16MscrIdx, Port_PinModeType PinMode)
{
  uint16 u16Counter;
  uint16 u16ReturnIndex;
  const struct Port_InoutSettingType * _1;
  unsigned int _2;
  unsigned int _3;
  const struct Port_InoutSettingType * _4;
  short unsigned int _5;
  unsigned char _6;
  int _7;
  short unsigned int _8;

  <bb 2> [local count: 78030430]:
  # DEBUG BEGIN_STMT
  # DEBUG u16ReturnIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16Counter => 0
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _1 = Port_apInoutMuxSettings[_7];
  _2 = (unsigned int) u16Counter_10;
  _3 = _2 * 8;
  _4 = _1 + _3;
  _5 = _4->u16MscrIdx;
  if (_5 == u16MscrIdx_13(D))
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 344993248]:
  _6 = _4->u8Mode;
  if (_6 == PinMode_14(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 5> [local count: 995711397]:
  # DEBUG BEGIN_STMT
  u16Counter_15 = u16Counter_10 + 1;
  # DEBUG u16Counter => u16Counter_15

  <bb 6> [local count: 1073741824]:
  # u16Counter_10 = PHI <0(2), u16Counter_15(5)>
  # DEBUG u16Counter => u16Counter_10
  # DEBUG BEGIN_STMT
  _7 = (int) u8MscrSiulInstance_11(D);
  _8 = Port_au16NumInoutMuxSettings[_7];
  if (_8 > u16Counter_10)
    goto <bb 3>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 78030429]:
  # u16ReturnIndex_9 = PHI <u16Counter_10(4), 0(6)>
  # DEBUG u16ReturnIndex => u16ReturnIndex_9
  # DEBUG BEGIN_STMT
  return u16ReturnIndex_9;

}


Port_Ipw_Init_UnusedPins (const struct Port_ConfigType * pConfigPtr)
{
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  uint32 u32LocalMSCR;
  uint8 u8LocalPDO;
  uint16 u16NumUnusedPins;
  uint16 u16PinIndex;
  const struct Port_Siul2_UnUsedPinConfigType * _1;
  const struct Port_Siul2_UnUsedPinType * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Port_Siul2_UnUsedPinType * _5;
  int _6;
  long unsigned int _7;
  short unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  volatile uint8 * _12;
  int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  volatile uint32 * _19;

  <bb 2> [local count: 118111602]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u16NumUnusedPins_25 = pConfigPtr_24(D)->u16NumUnusedPins;
  # DEBUG u16NumUnusedPins => u16NumUnusedPins_25
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_24(D)->pUnusedPadConfig;
  u8LocalPDO_26 = _1->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_26
  # DEBUG BEGIN_STMT
  u32LocalMSCR_27 = _1->u32MSCR;
  # DEBUG u32LocalMSCR => u32LocalMSCR_27
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _2 = pConfigPtr_24(D)->pUnusedPads;
  _3 = (unsigned int) u16PinIndex_20;
  _4 = _3 * 4;
  _5 = _2 + _4;
  u16MscrIdx_28 = _5->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_28
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_29 = _5->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_29
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_26 != 2)
    goto <bb 4>; [66.00%]
  else
    goto <bb 5>; [34.00%]

  <bb 4> [local count: 630715947]:
  # DEBUG BEGIN_STMT
  _6 = (int) u8MscrSiulInstance_29;
  _7 = Port_au32Siul2BaseAddr[_6];
  _8 = u16MscrIdx_28 ^ 3;
  _9 = (long unsigned int) _8;
  _10 = _7 + _9;
  _11 = _10 + 4864;
  _12 = (volatile uint8 *) _11;
  *_12 ={v} u8LocalPDO_26;

  <bb 5> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _13 = (int) u8MscrSiulInstance_29;
  _14 = Port_au32Siul2BaseAddr[_13];
  _15 = (long unsigned int) u16MscrIdx_28;
  _16 = _15 << 2;
  _17 = _14 + _16;
  _18 = _17 + 576;
  _19 = (volatile uint32 *) _18;
  *_19 ={v} u32LocalMSCR_27;
  # DEBUG BEGIN_STMT
  u16PinIndex_32 = u16PinIndex_20 + 1;
  # DEBUG u16PinIndex => u16PinIndex_32

  <bb 6> [local count: 1073741824]:
  # u16PinIndex_20 = PHI <0(2), u16PinIndex_32(5)>
  # DEBUG u16PinIndex => u16PinIndex_20
  # DEBUG BEGIN_STMT
  if (u16PinIndex_20 < u16NumUnusedPins_25)
    goto <bb 3>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 7> [local count: 118111601]:
  return;

}


