

 local analysis of Port_Ipw_RefreshPortDirection
   scanning: u16NumPins_27 = pConfigPtr_26(D)->u16NumPins;
    Indirect ref read is not const
  scanning: _1 = pConfigPtr_26(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _2 = (unsigned int) u16PinIndex_22;
  scanning: _3 = _2 * 20;
  scanning: _4 = _1 + _3;
  scanning: _5 = _4->bDC;
    Indirect ref read is not const
  scanning: if (_5 != 0)
  scanning: _6 = _4->bGPIO;
    Indirect ref read is not const
  scanning: if (_6 != 0)
  scanning: PinPad_29 = _4->Pin;
    Indirect ref read is not const
  scanning: _7 = _4->ePadDir;
    Indirect ref read is not const
  scanning: if (_7 == 2)
  scanning: _8 = PinPad_29 >> 5;
  scanning: _9 = (long unsigned int) _8;
  scanning: _10 = Port_au32PortCiGpioBaseAddr[_9];
  scanning: _34 = PinPad_29 & 31;
  scanning: _11 = (long unsigned int) _34;
  scanning: _12 = 1 << _11;
  scanning: Port_Ci_Port_Ip_SetPDDR (_10, _12);
  scanning: if (_7 == 1)
  scanning: if (_7 == 3)
  scanning: _13 = PinPad_29 >> 5;
  scanning: _14 = (long unsigned int) _13;
  scanning: _15 = Port_au32PortCiGpioBaseAddr[_14];
  scanning: _28 = PinPad_29 & 31;
  scanning: _16 = (long unsigned int) _28;
  scanning: _17 = 1 << _16;
  scanning: Port_Ci_Port_Ip_ClearPDDR (_15, _17);
  scanning: _18 = pConfigPtr_26(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _19 = _18 + _3;
  scanning: _20 = _19->ePadDir;
    Indirect ref read is not const
  scanning: if (_20 == 3)
  scanning: _21 = Port_au32PortCiGpioBaseAddr[_14];
  scanning: Port_Ci_Port_Ip_SetPIDR (_21, _17);
  scanning: u16PinIndex_33 = u16PinIndex_22 + 1;
  scanning: if (u16PinIndex_22 < u16NumPins_27)
  scanning: return;
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
;;
;; Loop 1
;;  header 12, latch 11
;;  depth 1, outer 0
;;  nodes: 12 11 3 4 6 8 9 10 7 5
;; 2 succs { 12 }
;; 3 succs { 4 11 }
;; 4 succs { 5 11 }
;; 5 succs { 6 7 }
;; 6 succs { 11 }
;; 7 succs { 9 8 }
;; 8 succs { 9 11 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 3 13 }
;; 13 succs { 1 }
Function is locally pure.


 local analysis of Port_Ipw_SetGpioPadOutput
   scanning: _1 = pConfigPtr_16(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _2 = PinIndex_17(D) * 20;
  scanning: _3 = _1 + _2;
  scanning: Pin_18 = _3->Pin;
    Indirect ref read is not const
  scanning: u8LocalPDO_19 = _3->u8PDO;
    Indirect ref read is not const
  scanning: if (u8LocalPDO_19 == 1)
  scanning: _4 = Pin_18 >> 5;
  scanning: _5 = (long unsigned int) _4;
  scanning: _6 = Port_au32PortCiGpioBaseAddr[_5];
  scanning: _23 = Pin_18 & 31;
  scanning: _7 = (long unsigned int) _23;
  scanning: _8 = 1 << _7;
  scanning: Port_Ci_Port_Ip_SetPSOR (_6, _8);
  scanning: if (u8LocalPDO_19 == 0)
  scanning: _9 = Pin_18 >> 5;
  scanning: _10 = (long unsigned int) _9;
  scanning: _11 = Port_au32PortCiGpioBaseAddr[_10];
  scanning: _22 = Pin_18 & 31;
  scanning: _12 = (long unsigned int) _22;
  scanning: _13 = 1 << _12;
  scanning: Port_Ci_Port_Ip_SetPCOR (_11, _13);
  scanning: return;
Function is locally pure.


 local analysis of Port_Ipw_SetGpioDirChangeability
   scanning: SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00 ();
  scanning: _1 = (unsigned char) PadID_14(D);
  scanning: u8PinBitOffset_15 = _1 & 15;
  scanning: _2 = _1 >> 4;
  scanning: _3 = (int) _2;
  scanning: u16PinDirFlagWord_16 = Port_Ipw_au16GpioDirChangeability[_3];
  scanning: if (bStatus_17(D) != 0)
  scanning: _4 = (int) u8PinBitOffset_15;
  scanning: _5 = 1 << _4;
  scanning: _6 = (short unsigned int) _5;
  scanning: u16PinDirFlagWord_19 = _6 | u16PinDirFlagWord_16;
  scanning: _7 = (int) u8PinBitOffset_15;
  scanning: _8 = 1 << _7;
  scanning: _9 = (short unsigned int) _8;
  scanning: _10 = ~_9;
  scanning: u16PinDirFlagWord_18 = _10 & u16PinDirFlagWord_16;
  scanning: Port_Ipw_au16GpioDirChangeability[_3] = u16PinDirFlagWord_11;
  scanning: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00 ();
  scanning: return;
Function is locally const.


 local analysis of Port_Ipw_SetPinMode
   scanning: _1 = pConfigPtr_26(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _2 = PinIndex_27(D) * 20;
  scanning: _3 = _1 + _2;
  scanning: PinPad_28 = _3->Pin;
    Indirect ref read is not const
  scanning: if (PinMode_29(D) > 7)
  scanning: u16PinDescBitOffset_30 = PinPad_28 & 15;
  scanning: _4 = (int) PinMode_29(D);
  scanning: _5 = PinPad_28 >> 4;
  scanning: _6 = (int) _5;
  scanning: u16PinDescWord_31 = Port_au16PinDescription[_4][_6];
  scanning: _7 = (int) u16PinDescWord_31;
  scanning: _8 = (int) u16PinDescBitOffset_30;
  scanning: _9 = _7 >> _8;
  scanning: _10 = _9 & 1;
  scanning: if (_10 != 0)
  scanning: if (PinMode_29(D) == 1)
  scanning: <L3>:
  scanning: Port_Ipw_SetGpioDirChangeability (PinPad_28, 1);
  scanning: _11 = pConfigPtr_26(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _12 = _11 + _2;
  scanning: ePadDirection_33 = _12->ePadDir;
    Indirect ref read is not const
  scanning: if (ePadDirection_33 != 1)
  scanning: if (ePadDirection_33 != 3)
  scanning: Port_Ipw_SetGpioPadOutput (PinIndex_27(D), pConfigPtr_26(D));
  scanning: Port_Ipw_SetPinDirection (PinIndex_27(D), ePadDirection_33, pConfigPtr_26(D));
  scanning: <L8>:
  scanning: Port_Ipw_SetGpioDirChangeability (PinPad_28, 0);
  scanning: _13 = PinPad_28 >> 5;
  scanning: _14 = (long unsigned int) _13;
  scanning: _15 = Port_au32PortCiPortBaseAddr[_14];
  scanning: _24 = PinPad_28 & 31;
  scanning: _16 = (long unsigned int) _24;
  scanning: u32LocalPCR_38 = Port_Ci_Port_Ip_ReadPCR (_15, _16);
  scanning: u32LocalPCR_39 = u32LocalPCR_38 & 4294965503;
  scanning: _17 = (long unsigned int) PinMode_29(D);
  scanning: _18 = _17 << 8;
  scanning: u32LocalPCR_40 = _18 | u32LocalPCR_39;
  scanning: _19 = Port_au32PortCiPortBaseAddr[_14];
  scanning: Port_Ci_Port_Ip_SetPCR (_19, _16, u32LocalPCR_40);
  scanning: return PinModeError_20;
Function is locally pure.


 local analysis of Port_Ipw_SetPinDirection
   scanning: _1 = pConfigPtr_27(D)->pUsedPadConfig;
    Indirect ref read is not const
  scanning: _2 = PinIndex_28(D) * 20;
  scanning: _3 = _1 + _2;
  scanning: Pin_29 = _3->Pin;
    Indirect ref read is not const
  scanning: _4 = (unsigned char) Pin_29;
  scanning: u8PinDescBitOffset_31 = _4 & 15;
  scanning: _5 = Pin_29 >> 4;
  scanning: _6 = (unsigned char) _5;
  scanning: _7 = (int) _6;
  scanning: u16PinChangeDirFlagWord_32 = Port_Ipw_au16GpioDirChangeability[_7];
  scanning: _8 = _3->bDC;
    Indirect ref read is not const
  scanning: if (_8 != 0)
  scanning: _9 = (int) u8PinDescBitOffset_31;
  scanning: _10 = 1 << _9;
  scanning: _11 = (short unsigned int) _10;
  scanning: _12 = _11 & u16PinChangeDirFlagWord_32;
  scanning: if (_12 != 0)
  scanning: if (eDirection_33(D) == 2)
  scanning: _13 = Pin_29 >> 5;
  scanning: _14 = (long unsigned int) _13;
  scanning: _15 = Port_au32PortCiGpioBaseAddr[_14];
  scanning: _37 = Pin_29 & 31;
  scanning: _16 = (long unsigned int) _37;
  scanning: _17 = 1 << _16;
  scanning: Port_Ci_Port_Ip_SetPDDR (_15, _17);
  scanning: if (eDirection_33(D) == 1)
  scanning: if (eDirection_33(D) == 3)
  scanning: _18 = Pin_29 >> 5;
  scanning: _19 = (long unsigned int) _18;
  scanning: _20 = Port_au32PortCiGpioBaseAddr[_19];
  scanning: _30 = Pin_29 & 31;
  scanning: _21 = (long unsigned int) _30;
  scanning: _22 = 1 << _21;
  scanning: Port_Ci_Port_Ip_ClearPDDR (_20, _22);
  scanning: if (eDirection_33(D) == 3)
  scanning: _23 = Port_au32PortCiGpioBaseAddr[_19];
  scanning: Port_Ci_Port_Ip_SetPIDR (_23, _22);
  scanning: return PinDirError_24;
Function is locally pure.


 local analysis of Port_Ipw_Init
   scanning: u8NumDigFilterPorts_20 = pConfigPtr_19(D)->u8NumDigitalFilterPorts;
    Indirect ref read is not const
  scanning: _1 = pConfigPtr_19(D)->pDigitalFilterConfig;
    Indirect ref read is not const
  scanning: _2 = (unsigned int) u16PinIndex_14;
  scanning: _3 = _2 * 8;
  scanning: _4 = _1 + _3;
  scanning: u8Port_25 = _4->u8Port;
    Indirect ref read is not const
  scanning: _5 = (int) u8Port_25;
  scanning: _6 = Port_au32PortCiPortBaseAddr[_5];
  scanning: Port_Ci_Port_Ip_ConfigDigitalFilter (_6, _4);
  scanning: _7 = Port_au32PortCiPortBaseAddr[_5];
  scanning: _8 = pConfigPtr_19(D)->pDigitalFilterConfig;
    Indirect ref read is not const
  scanning: _9 = _8 + _3;
  scanning: _10 = _9->u32PinMask;
    Indirect ref read is not const
  scanning: Port_Ci_Port_Ip_SetDFER (_7, _10);
  scanning: u16PinIndex_28 = u16PinIndex_14 + 1;
  scanning: _11 = (short unsigned int) u8NumDigFilterPorts_20;
  scanning: if (_11 > u16PinIndex_14)
  scanning: _12 = pConfigPtr_19(D)->IpConfigPtr;
    Indirect ref read is not const
  scanning: Port_Ci_Port_Ip_Init (13, _12);
  scanning: Port_Ipw_Init_UnusedPins (pConfigPtr_19(D));
  scanning: _13 = (int) u16PinIndex_15;
  scanning: Port_Ipw_au16GpioDirChangeability[_13] = 0;
  scanning: u16PinIndex_24 = u16PinIndex_15 + 1;
  scanning: if (u16PinIndex_15 != 9)
  scanning: return;
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8
;;
;; Loop 2
;;  header 7, latch 6
;;  depth 1, outer 0
;;  nodes: 7 6
;;
;; Loop 1
;;  header 4, latch 3
;;  depth 1, outer 0
;;  nodes: 4 3
;; 2 succs { 4 }
;; 3 succs { 4 }
;; 4 succs { 3 5 }
;; 5 succs { 7 }
;; 6 succs { 7 }
;; 7 succs { 6 8 }
;; 8 succs { 1 }
Function is locally pure.


 local analysis of Port_Ipw_Init_UnusedPins
   scanning: u16NumUnusedPins_65 = pConfigPtr_64(D)->u16NumUnusedPins;
    Indirect ref read is not const
  scanning: _1 = pConfigPtr_64(D)->pUnusedPadConfig;
    Indirect ref read is not const
  scanning: u8LocalPDO_66 = _1->u8PDO;
    Indirect ref read is not const
  scanning: u32LocalPCR_67 = _1->u32PCR;
    Indirect ref read is not const
  scanning: eLocalPDDIR_68 = _1->ePadDir;
    Indirect ref read is not const
  scanning: if (eLocalPDDIR_68 == 2)
  scanning: if (u8LocalPDO_66 == 1)
  scanning: _2 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _3 = (unsigned int) u16PinIndex_59;
  scanning: _4 = _3 * 2;
  scanning: _5 = _2 + _4;
  scanning: _6 = *_5;
    Indirect ref read is not const
  scanning: _7 = _6 >> 5;
  scanning: _8 = (long unsigned int) _7;
  scanning: _9 = Port_au32PortCiGpioBaseAddr[_8];
  scanning: _79 = _6 & 31;
  scanning: _10 = (long unsigned int) _79;
  scanning: _11 = 1 << _10;
  scanning: Port_Ci_Port_Ip_SetPSOR (_9, _11);
  scanning: if (u8LocalPDO_66 == 0)
  scanning: _12 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _13 = (unsigned int) u16PinIndex_59;
  scanning: _14 = _13 * 2;
  scanning: _15 = _12 + _14;
  scanning: _16 = *_15;
    Indirect ref read is not const
  scanning: _17 = _16 >> 5;
  scanning: _18 = (long unsigned int) _17;
  scanning: _19 = Port_au32PortCiGpioBaseAddr[_18];
  scanning: _78 = _16 & 31;
  scanning: _20 = (long unsigned int) _78;
  scanning: _21 = 1 << _20;
  scanning: Port_Ci_Port_Ip_SetPCOR (_19, _21);
  scanning: _22 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _23 = (unsigned int) u16PinIndex_59;
  scanning: _24 = _23 * 2;
  scanning: _25 = _22 + _24;
  scanning: _26 = *_25;
    Indirect ref read is not const
  scanning: _27 = _26 >> 5;
  scanning: _28 = (long unsigned int) _27;
  scanning: _29 = Port_au32PortCiGpioBaseAddr[_28];
  scanning: _80 = _26 & 31;
  scanning: _30 = (long unsigned int) _80;
  scanning: _31 = 1 << _30;
  scanning: Port_Ci_Port_Ip_SetPDDR (_29, _31);
  scanning: _32 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _33 = (unsigned int) u16PinIndex_59;
  scanning: _34 = _33 * 2;
  scanning: _35 = _32 + _34;
  scanning: _36 = *_35;
    Indirect ref read is not const
  scanning: _37 = _36 >> 5;
  scanning: _38 = (long unsigned int) _37;
  scanning: _39 = Port_au32PortCiGpioBaseAddr[_38];
  scanning: _69 = _36 & 31;
  scanning: _40 = (long unsigned int) _69;
  scanning: _41 = 1 << _40;
  scanning: Port_Ci_Port_Ip_ClearPDDR (_39, _41);
  scanning: if (eLocalPDDIR_68 == 3)
  scanning: _42 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _43 = _42 + _34;
  scanning: _44 = *_43;
    Indirect ref read is not const
  scanning: _45 = _44 >> 5;
  scanning: _46 = (long unsigned int) _45;
  scanning: _47 = Port_au32PortCiGpioBaseAddr[_46];
  scanning: _77 = _44 & 31;
  scanning: _48 = (long unsigned int) _77;
  scanning: _49 = 1 << _48;
  scanning: Port_Ci_Port_Ip_SetPIDR (_47, _49);
  scanning: _50 = pConfigPtr_64(D)->pUnusedPads;
    Indirect ref read is not const
  scanning: _51 = (unsigned int) u16PinIndex_59;
  scanning: _52 = _51 * 2;
  scanning: _53 = _50 + _52;
  scanning: _54 = *_53;
    Indirect ref read is not const
  scanning: _55 = _54 >> 5;
  scanning: _56 = (long unsigned int) _55;
  scanning: _57 = Port_au32PortCiPortBaseAddr[_56];
  scanning: _81 = _54 & 31;
  scanning: _58 = (long unsigned int) _81;
  scanning: Port_Ci_Port_Ip_SetPCR (_57, _58, u32LocalPCR_67);
  scanning: u16PinIndex_76 = u16PinIndex_59 + 1;
  scanning: if (u16PinIndex_59 < u16NumUnusedPins_65)
  scanning: return;
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
;;
;; Loop 1
;;  header 12, latch 11
;;  depth 1, outer 0
;;  nodes: 12 11 8 9 10 3 5 6 7 4
;; 2 succs { 12 }
;; 3 succs { 4 9 }
;; 4 succs { 5 6 }
;; 5 succs { 8 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 11 }
;; 9 succs { 10 11 }
;; 10 succs { 11 }
;; 11 succs { 12 }
;; 12 succs { 3 13 }
;; 13 succs { 1 }
Function is locally pure.
callgraph:

SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00) @05fc47e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/6 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00) @05fc4700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/6 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Port_Ci_Port_Ip_ReadPCR/21 (Port_Ci_Port_Ip_ReadPCR) @05fc4540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/5 (453655921 (estimated locally),0.42 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPCR/19 (Port_Ci_Port_Ip_SetPCR) @05fc42a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/5 (453655921 (estimated locally),0.42 per call) Port_Ipw_Init_UnusedPins/2 (868754750 (estimated locally),8.09 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPIDR/18 (Port_Ci_Port_Ip_SetPIDR) @05fc40e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (18265121 (estimated locally),0.15 per call) Port_Ipw_SetPinDirection/4 (61567824 (estimated locally),0.06 per call) Port_Ipw_Init_UnusedPins/2 (85948617 (estimated locally),0.80 per call) 
  Calls: 
Port_Ci_Port_Ip_ClearPDDR/17 (Port_Ci_Port_Ip_ClearPDDR) @05fc4000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (90242694 (estimated locally),0.76 per call) Port_Ipw_SetPinDirection/4 (304188856 (estimated locally),0.28 per call) Port_Ipw_Init_UnusedPins/2 (424647321 (estimated locally),3.95 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPDDR/16 (Port_Ci_Port_Ip_SetPDDR) @05edce00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (48354889 (estimated locally),0.41 per call) Port_Ipw_SetPinDirection/4 (162994009 (estimated locally),0.15 per call) Port_Ipw_Init_UnusedPins/2 (444107427 (estimated locally),4.14 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPCOR/15 (Port_Ci_Port_Ip_SetPCOR) @05edc000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioPadOutput/7 (282617438 (estimated locally),0.26 per call) Port_Ipw_Init_UnusedPins/2 (116892627 (estimated locally),1.09 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPSOR/14 (Port_Ci_Port_Ip_SetPSOR) @05edcee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioPadOutput/7 (217325345 (estimated locally),0.20 per call) Port_Ipw_Init_UnusedPins/2 (89887343 (estimated locally),0.84 per call) 
  Calls: 
Port_Ci_Port_Ip_Init/12 (Port_Ci_Port_Ip_Init) @05edcd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (107374182 (estimated locally),1.00 per call) 
  Calls: 
Port_Ci_Port_Ip_SetDFER/11 (Port_Ci_Port_Ip_SetDFER) @05edcc40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (868754747 (estimated locally),8.09 per call) 
  Calls: 
Port_Ci_Port_Ip_ConfigDigitalFilter/10 (Port_Ci_Port_Ip_ConfigDigitalFilter) @05edcb60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (868754747 (estimated locally),8.09 per call) 
  Calls: 
Port_Ipw_RefreshPortDirection/8 (Port_Ipw_RefreshPortDirection) @05edc700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c22c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (18265121 (estimated locally),0.15 per call) Port_Ci_Port_Ip_ClearPDDR/17 (90242694 (estimated locally),0.76 per call) Port_Ci_Port_Ip_SetPDDR/16 (48354889 (estimated locally),0.41 per call) 
Port_Ipw_SetGpioPadOutput/7 (Port_Ipw_SetGpioPadOutput) @05ed6c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2140
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (49760030 (estimated locally),0.05 per call) 
  Calls: Port_Ci_Port_Ip_SetPCOR/15 (282617438 (estimated locally),0.26 per call) Port_Ci_Port_Ip_SetPSOR/14 (217325345 (estimated locally),0.20 per call) 
Port_Ipw_SetGpioDirChangeability/6 (Port_Ipw_SetGpioDirChangeability) @05ed6b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2300
  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_SetPinMode/5 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinMode/5 (Port_Ipw_SetPinMode) @05ed68c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c22a0
  References: Port_au16PinDescription/20 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (453655921 (estimated locally),0.42 per call) Port_Ci_Port_Ip_ReadPCR/21 (453655921 (estimated locally),0.42 per call) Port_Ipw_SetGpioDirChangeability/6 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinDirection/4 (154243013 (estimated locally),0.14 per call) Port_Ipw_SetGpioPadOutput/7 (49760030 (estimated locally),0.05 per call) Port_Ipw_SetGpioDirChangeability/6 (154243013 (estimated locally),0.14 per call) 
Port_Ipw_SetPinDirection/4 (Port_Ipw_SetPinDirection) @05ed62a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2260
  References: Port_Ipw_au16GpioDirChangeability/1 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (61567824 (estimated locally),0.06 per call) Port_Ci_Port_Ip_ClearPDDR/17 (304188856 (estimated locally),0.28 per call) Port_Ci_Port_Ip_SetPDDR/16 (162994009 (estimated locally),0.15 per call) 
Port_Ipw_Init/3 (Port_Ipw_Init) @05e34c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c23a0
  References: Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_Ipw_au16GpioDirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:107374182 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (inlined) (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_Init/12 (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_SetDFER/11 (868754747 (estimated locally),8.09 per call) Port_Ci_Port_Ip_ConfigDigitalFilter/10 (868754747 (estimated locally),8.09 per call) 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @05e349a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @060c21c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Function Port_Ipw_Init_UnusedPins/2 is inline copy in Port_Ipw_Init/3
  Availability: local
  Function flags: count:107374182 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/3 (inlined) (107374182 (estimated locally),1.00 per call) 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (868754750 (estimated locally),8.09 per call) Port_Ci_Port_Ip_SetPIDR/18 (85948617 (estimated locally),0.80 per call) Port_Ci_Port_Ip_ClearPDDR/17 (424647321 (estimated locally),3.95 per call) Port_Ci_Port_Ip_SetPDDR/16 (444107427 (estimated locally),4.14 per call) Port_Ci_Port_Ip_SetPCOR/15 (116892627 (estimated locally),1.09 per call) Port_Ci_Port_Ip_SetPSOR/14 (89887343 (estimated locally),0.84 per call) 


 ordered call graph: reduced for nothrow
Port_Ipw_RefreshPortDirection/8 (Port_Ipw_RefreshPortDirection) @05edc700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c22c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (18265121 (estimated locally),0.15 per call) Port_Ci_Port_Ip_ClearPDDR/17 (90242694 (estimated locally),0.76 per call) Port_Ci_Port_Ip_SetPDDR/16 (48354889 (estimated locally),0.41 per call) 
Port_Ipw_SetGpioPadOutput/7 (Port_Ipw_SetGpioPadOutput) @05ed6c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2140
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (49760030 (estimated locally),0.05 per call) 
  Calls: Port_Ci_Port_Ip_SetPCOR/15 (282617438 (estimated locally),0.26 per call) Port_Ci_Port_Ip_SetPSOR/14 (217325345 (estimated locally),0.20 per call) 
Port_Ipw_SetGpioDirChangeability/6 (Port_Ipw_SetGpioDirChangeability) @05ed6b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2300
  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_SetPinMode/5 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinMode/5 (Port_Ipw_SetPinMode) @05ed68c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c22a0
  References: Port_au16PinDescription/20 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (453655921 (estimated locally),0.42 per call) Port_Ci_Port_Ip_ReadPCR/21 (453655921 (estimated locally),0.42 per call) Port_Ipw_SetGpioDirChangeability/6 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinDirection/4 (154243013 (estimated locally),0.14 per call) Port_Ipw_SetGpioPadOutput/7 (49760030 (estimated locally),0.05 per call) Port_Ipw_SetGpioDirChangeability/6 (154243013 (estimated locally),0.14 per call) 
Port_Ipw_SetPinDirection/4 (Port_Ipw_SetPinDirection) @05ed62a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2260
  References: Port_Ipw_au16GpioDirChangeability/1 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (61567824 (estimated locally),0.06 per call) Port_Ci_Port_Ip_ClearPDDR/17 (304188856 (estimated locally),0.28 per call) Port_Ci_Port_Ip_SetPDDR/16 (162994009 (estimated locally),0.15 per call) 
Port_Ipw_Init/3 (Port_Ipw_Init) @05e34c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c23a0
  References: Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_Ipw_au16GpioDirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:107374182 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (inlined) (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_Init/12 (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_SetDFER/11 (868754747 (estimated locally),8.09 per call) Port_Ci_Port_Ip_ConfigDigitalFilter/10 (868754747 (estimated locally),8.09 per call) 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @05e349a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @060c21c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Function Port_Ipw_Init_UnusedPins/2 is inline copy in Port_Ipw_Init/3
  Availability: local
  Function flags: count:107374182 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/3 (inlined) (107374182 (estimated locally),1.00 per call) 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (868754750 (estimated locally),8.09 per call) Port_Ci_Port_Ip_SetPIDR/18 (85948617 (estimated locally),0.80 per call) Port_Ci_Port_Ip_ClearPDDR/17 (424647321 (estimated locally),3.95 per call) Port_Ci_Port_Ip_SetPDDR/16 (444107427 (estimated locally),4.14 per call) Port_Ci_Port_Ip_SetPCOR/15 (116892627 (estimated locally),1.09 per call) Port_Ci_Port_Ip_SetPSOR/14 (89887343 (estimated locally),0.84 per call) 



MALLOC LATTICE Initial:
Port_Ipw_RefreshPortDirection: malloc_bottom
Port_Ipw_SetGpioPadOutput: malloc_bottom
Port_Ipw_SetGpioDirChangeability: malloc_bottom
Port_Ipw_SetPinMode: malloc_bottom
Port_Ipw_SetPinDirection: malloc_bottom
Port_Ipw_Init: malloc_bottom
Port_Ipw_Init_UnusedPins: malloc_bottom


MALLOC LATTICE after propagation:
Port_Ipw_RefreshPortDirection: malloc_bottom
Port_Ipw_SetGpioPadOutput: malloc_bottom
Port_Ipw_SetGpioDirChangeability: malloc_bottom
Port_Ipw_SetPinMode: malloc_bottom
Port_Ipw_SetPinDirection: malloc_bottom
Port_Ipw_Init: malloc_bottom
Port_Ipw_Init_UnusedPins: malloc_bottom
callgraph:

SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00) @05fc47e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/6 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00) @05fc4700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/6 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Port_Ci_Port_Ip_ReadPCR/21 (Port_Ci_Port_Ip_ReadPCR) @05fc4540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/5 (453655921 (estimated locally),0.42 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPCR/19 (Port_Ci_Port_Ip_SetPCR) @05fc42a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/5 (453655921 (estimated locally),0.42 per call) Port_Ipw_Init_UnusedPins/2 (868754750 (estimated locally),8.09 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPIDR/18 (Port_Ci_Port_Ip_SetPIDR) @05fc40e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (18265121 (estimated locally),0.15 per call) Port_Ipw_SetPinDirection/4 (61567824 (estimated locally),0.06 per call) Port_Ipw_Init_UnusedPins/2 (85948617 (estimated locally),0.80 per call) 
  Calls: 
Port_Ci_Port_Ip_ClearPDDR/17 (Port_Ci_Port_Ip_ClearPDDR) @05fc4000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (90242694 (estimated locally),0.76 per call) Port_Ipw_SetPinDirection/4 (304188856 (estimated locally),0.28 per call) Port_Ipw_Init_UnusedPins/2 (424647321 (estimated locally),3.95 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPDDR/16 (Port_Ci_Port_Ip_SetPDDR) @05edce00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_RefreshPortDirection/8 (48354889 (estimated locally),0.41 per call) Port_Ipw_SetPinDirection/4 (162994009 (estimated locally),0.15 per call) Port_Ipw_Init_UnusedPins/2 (444107427 (estimated locally),4.14 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPCOR/15 (Port_Ci_Port_Ip_SetPCOR) @05edc000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioPadOutput/7 (282617438 (estimated locally),0.26 per call) Port_Ipw_Init_UnusedPins/2 (116892627 (estimated locally),1.09 per call) 
  Calls: 
Port_Ci_Port_Ip_SetPSOR/14 (Port_Ci_Port_Ip_SetPSOR) @05edcee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioPadOutput/7 (217325345 (estimated locally),0.20 per call) Port_Ipw_Init_UnusedPins/2 (89887343 (estimated locally),0.84 per call) 
  Calls: 
Port_Ci_Port_Ip_Init/12 (Port_Ci_Port_Ip_Init) @05edcd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (107374182 (estimated locally),1.00 per call) 
  Calls: 
Port_Ci_Port_Ip_SetDFER/11 (Port_Ci_Port_Ip_SetDFER) @05edcc40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (868754747 (estimated locally),8.09 per call) 
  Calls: 
Port_Ci_Port_Ip_ConfigDigitalFilter/10 (Port_Ci_Port_Ip_ConfigDigitalFilter) @05edcb60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/3 (868754747 (estimated locally),8.09 per call) 
  Calls: 
Port_Ipw_RefreshPortDirection/8 (Port_Ipw_RefreshPortDirection) @05edc700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2140
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (18265121 (estimated locally),0.15 per call) Port_Ci_Port_Ip_ClearPDDR/17 (90242694 (estimated locally),0.76 per call) Port_Ci_Port_Ip_SetPDDR/16 (48354889 (estimated locally),0.41 per call) 
Port_Ipw_SetGpioPadOutput/7 (Port_Ipw_SetGpioPadOutput) @05ed6c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c21c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (49760030 (estimated locally),0.05 per call) 
  Calls: Port_Ci_Port_Ip_SetPCOR/15 (282617438 (estimated locally),0.26 per call) Port_Ci_Port_Ip_SetPSOR/14 (217325345 (estimated locally),0.20 per call) 
Port_Ipw_SetGpioDirChangeability/6 (Port_Ipw_SetGpioDirChangeability) @05ed6b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2440
  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_SetPinMode/5 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinMode/5 (Port_Ipw_SetPinMode) @05ed68c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2360
  References: Port_au16PinDescription/20 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (453655921 (estimated locally),0.42 per call) Port_Ci_Port_Ip_ReadPCR/21 (453655921 (estimated locally),0.42 per call) Port_Ipw_SetGpioDirChangeability/6 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinDirection/4 (154243013 (estimated locally),0.14 per call) Port_Ipw_SetGpioPadOutput/7 (49760030 (estimated locally),0.05 per call) Port_Ipw_SetGpioDirChangeability/6 (154243013 (estimated locally),0.14 per call) 
Port_Ipw_SetPinDirection/4 (Port_Ipw_SetPinDirection) @05ed62a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c21a0
  References: Port_Ipw_au16GpioDirChangeability/1 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (61567824 (estimated locally),0.06 per call) Port_Ci_Port_Ip_ClearPDDR/17 (304188856 (estimated locally),0.28 per call) Port_Ci_Port_Ip_SetPDDR/16 (162994009 (estimated locally),0.15 per call) 
Port_Ipw_Init/3 (Port_Ipw_Init) @05e34c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2060
  References: Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_Ipw_au16GpioDirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:107374182 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (inlined) (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_Init/12 (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_SetDFER/11 (868754747 (estimated locally),8.09 per call) Port_Ci_Port_Ip_ConfigDigitalFilter/10 (868754747 (estimated locally),8.09 per call) 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @05e349a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @060c2080
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Function Port_Ipw_Init_UnusedPins/2 is inline copy in Port_Ipw_Init/3
  Availability: local
  Function flags: count:107374182 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/3 (inlined) (107374182 (estimated locally),1.00 per call) 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (868754750 (estimated locally),8.09 per call) Port_Ci_Port_Ip_SetPIDR/18 (85948617 (estimated locally),0.80 per call) Port_Ci_Port_Ip_ClearPDDR/17 (424647321 (estimated locally),3.95 per call) Port_Ci_Port_Ip_SetPDDR/16 (444107427 (estimated locally),4.14 per call) Port_Ci_Port_Ip_SetPCOR/15 (116892627 (estimated locally),1.09 per call) Port_Ci_Port_Ip_SetPSOR/14 (89887343 (estimated locally),0.84 per call) 


 ordered call graph: reduced
Port_Ipw_RefreshPortDirection/8 (Port_Ipw_RefreshPortDirection) @05edc700
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2140
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (18265121 (estimated locally),0.15 per call) Port_Ci_Port_Ip_ClearPDDR/17 (90242694 (estimated locally),0.76 per call) Port_Ci_Port_Ip_SetPDDR/16 (48354889 (estimated locally),0.41 per call) 
Port_Ipw_SetPinMode/5 (Port_Ipw_SetPinMode) @05ed68c0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2360
  References: Port_au16PinDescription/20 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (453655921 (estimated locally),0.42 per call) Port_Ci_Port_Ip_ReadPCR/21 (453655921 (estimated locally),0.42 per call) Port_Ipw_SetGpioDirChangeability/6 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinDirection/4 (154243013 (estimated locally),0.14 per call) Port_Ipw_SetGpioPadOutput/7 (49760030 (estimated locally),0.05 per call) Port_Ipw_SetGpioDirChangeability/6 (154243013 (estimated locally),0.14 per call) 
Port_Ipw_SetGpioPadOutput/7 (Port_Ipw_SetGpioPadOutput) @05ed6c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c21c0
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (49760030 (estimated locally),0.05 per call) 
  Calls: Port_Ci_Port_Ip_SetPCOR/15 (282617438 (estimated locally),0.26 per call) Port_Ci_Port_Ip_SetPSOR/14 (217325345 (estimated locally),0.20 per call) 
Port_Ipw_SetGpioDirChangeability/6 (Port_Ipw_SetGpioDirChangeability) @05ed6b60
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2440
  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_SetPinMode/5 (299412908 (estimated locally),0.28 per call) Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/23 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/22 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinDirection/4 (Port_Ipw_SetPinDirection) @05ed62a0
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c21a0
  References: Port_Ipw_au16GpioDirChangeability/1 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetPinMode/5 (154243013 (estimated locally),0.14 per call) 
  Calls: Port_Ci_Port_Ip_SetPIDR/18 (61567824 (estimated locally),0.06 per call) Port_Ci_Port_Ip_ClearPDDR/17 (304188856 (estimated locally),0.28 per call) Port_Ci_Port_Ip_SetPDDR/16 (162994009 (estimated locally),0.15 per call) 
Port_Ipw_Init/3 (Port_Ipw_Init) @05e34c40
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @060c2060
  References: Port_au32PortCiPortBaseAddr/9 (read)Port_au32PortCiPortBaseAddr/9 (read)Port_Ipw_au16GpioDirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:107374182 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (inlined) (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_Init/12 (107374182 (estimated locally),1.00 per call) Port_Ci_Port_Ip_SetDFER/11 (868754747 (estimated locally),8.09 per call) Port_Ci_Port_Ip_ConfigDigitalFilter/10 (868754747 (estimated locally),8.09 per call) 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @05e349a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @060c2080
  References: Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiGpioBaseAddr/13 (read)Port_au32PortCiPortBaseAddr/9 (read)
  Referring: 
  Function Port_Ipw_Init_UnusedPins/2 is inline copy in Port_Ipw_Init/3
  Availability: local
  Function flags: count:107374182 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/3 (inlined) (107374182 (estimated locally),1.00 per call) 
  Calls: Port_Ci_Port_Ip_SetPCR/19 (868754750 (estimated locally),8.09 per call) Port_Ci_Port_Ip_SetPIDR/18 (85948617 (estimated locally),0.80 per call) Port_Ci_Port_Ip_ClearPDDR/17 (424647321 (estimated locally),3.95 per call) Port_Ci_Port_Ip_SetPDDR/16 (444107427 (estimated locally),4.14 per call) Port_Ci_Port_Ip_SetPCOR/15 (116892627 (estimated locally),1.09 per call) Port_Ci_Port_Ip_SetPSOR/14 (89887343 (estimated locally),0.84 per call) 

Port_Ipw_RefreshPortDirection (const struct Port_ConfigType * pConfigPtr)
{
  uint16 PinPad;
  uint16 u16PinIndex;
  uint16 u16NumPins;
  const struct Port_PinConfigType * _1;
  unsigned int _2;
  unsigned int _3;
  const struct Port_PinConfigType * _4;
  _Bool _5;
  _Bool _6;
  <unnamed type> _7;
  short unsigned int _8;
  long unsigned int _9;
  struct GPIO_Type * _10;
  long unsigned int _11;
  long unsigned int _12;
  short unsigned int _13;
  long unsigned int _14;
  struct GPIO_Type * _15;
  long unsigned int _16;
  long unsigned int _17;
  const struct Port_PinConfigType * _18;
  const struct Port_PinConfigType * _19;
  <unnamed type> _20;
  struct GPIO_Type * _21;
  short unsigned int _28;
  short unsigned int _34;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  u16NumPins_27 = pConfigPtr_26(D)->u16NumPins;
  # DEBUG u16NumPins => u16NumPins_27
  # 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_26(D)->pUsedPadConfig;
  _2 = (unsigned int) u16PinIndex_22;
  _3 = _2 * 20;
  _4 = _1 + _3;
  _5 = _4->bDC;
  if (_5 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  _6 = _4->bGPIO;
  if (_6 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 5> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  PinPad_29 = _4->Pin;
  # DEBUG PinPad => PinPad_29
  # DEBUG BEGIN_STMT
  _7 = _4->ePadDir;
  if (_7 == 2)
    goto <bb 6>; [20.24%]
  else
    goto <bb 7>; [79.76%]

  <bb 6> [local count: 48354889]:
  # DEBUG BEGIN_STMT
  _8 = PinPad_29 >> 5;
  _9 = (long unsigned int) _8;
  _10 = Port_au32PortCiGpioBaseAddr[_9];
  _34 = PinPad_29 & 31;
  _11 = (long unsigned int) _34;
  _12 = 1 << _11;
  Port_Ci_Port_Ip_SetPDDR (_10, _12);
  goto <bb 11>; [100.00%]

  <bb 7> [local count: 190552666]:
  # DEBUG BEGIN_STMT
  if (_7 == 1)
    goto <bb 9>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 8> [local count: 151984807]:
  if (_7 == 3)
    goto <bb 9>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 9> [local count: 90242694]:
  # DEBUG BEGIN_STMT
  _13 = PinPad_29 >> 5;
  _14 = (long unsigned int) _13;
  _15 = Port_au32PortCiGpioBaseAddr[_14];
  _28 = PinPad_29 & 31;
  _16 = (long unsigned int) _28;
  _17 = 1 << _16;
  Port_Ci_Port_Ip_ClearPDDR (_15, _17);
  # DEBUG BEGIN_STMT
  _18 = pConfigPtr_26(D)->pUsedPadConfig;
  _19 = _18 + _3;
  _20 = _19->ePadDir;
  if (_20 == 3)
    goto <bb 10>; [20.24%]
  else
    goto <bb 11>; [79.76%]

  <bb 10> [local count: 18265121]:
  # DEBUG BEGIN_STMT
  _21 = Port_au32PortCiGpioBaseAddr[_14];
  Port_Ci_Port_Ip_SetPIDR (_21, _17);

  <bb 11> [local count: 955630225]:
  # DEBUG BEGIN_STMT
  u16PinIndex_33 = u16PinIndex_22 + 1;
  # DEBUG u16PinIndex => u16PinIndex_33

  <bb 12> [local count: 1073741824]:
  # u16PinIndex_22 = PHI <0(2), u16PinIndex_33(11)>
  # DEBUG u16PinIndex => u16PinIndex_22
  # DEBUG BEGIN_STMT
  if (u16PinIndex_22 < u16NumPins_27)
    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;
  uint16 Pin;
  const struct Port_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_PinConfigType * _3;
  short unsigned int _4;
  long unsigned int _5;
  struct GPIO_Type * _6;
  long unsigned int _7;
  long unsigned int _8;
  short unsigned int _9;
  long unsigned int _10;
  struct GPIO_Type * _11;
  long unsigned int _12;
  long unsigned int _13;
  short unsigned int _22;
  short unsigned int _23;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_16(D)->pUsedPadConfig;
  _2 = PinIndex_17(D) * 20;
  _3 = _1 + _2;
  Pin_18 = _3->Pin;
  # DEBUG Pin => Pin_18
  # DEBUG BEGIN_STMT
  u8LocalPDO_19 = _3->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_19
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_19 == 1)
    goto <bb 3>; [20.24%]
  else
    goto <bb 4>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  _4 = Pin_18 >> 5;
  _5 = (long unsigned int) _4;
  _6 = Port_au32PortCiGpioBaseAddr[_5];
  _23 = Pin_18 & 31;
  _7 = (long unsigned int) _23;
  _8 = 1 << _7;
  Port_Ci_Port_Ip_SetPSOR (_6, _8);
  goto <bb 6>; [100.00%]

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

  <bb 5> [local count: 282617438]:
  # DEBUG BEGIN_STMT
  _9 = Pin_18 >> 5;
  _10 = (long unsigned int) _9;
  _11 = Port_au32PortCiGpioBaseAddr[_10];
  _22 = Pin_18 & 31;
  _12 = (long unsigned int) _22;
  _13 = 1 << _12;
  Port_Ci_Port_Ip_SetPCOR (_11, _13);

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

}


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

  <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) PadID_14(D);
  u8PinBitOffset_15 = _1 & 15;
  # DEBUG u8PinBitOffset => u8PinBitOffset_15
  # DEBUG BEGIN_STMT
  _2 = _1 >> 4;
  _3 = (int) _2;
  u16PinDirFlagWord_16 = Port_Ipw_au16GpioDirChangeability[_3];
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_16
  # DEBUG BEGIN_STMT
  if (bStatus_17(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _4 = (int) u8PinBitOffset_15;
  _5 = 1 << _4;
  _6 = (short unsigned int) _5;
  u16PinDirFlagWord_19 = _6 | u16PinDirFlagWord_16;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_19
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _7 = (int) u8PinBitOffset_15;
  _8 = 1 << _7;
  _9 = (short unsigned int) _8;
  _10 = ~_9;
  u16PinDirFlagWord_18 = _10 & u16PinDirFlagWord_16;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_18

  <bb 5> [local count: 1073741824]:
  # u16PinDirFlagWord_11 = PHI <u16PinDirFlagWord_19(3), u16PinDirFlagWord_18(4)>
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_11
  # DEBUG BEGIN_STMT
  Port_Ipw_au16GpioDirChangeability[_3] = u16PinDirFlagWord_11;
  # 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)
{
  Port_PinDirectionType ePadDirection;
  uint32 u32LocalPCR;
  uint16 u16PinDescBitOffset;
  uint16 u16PinDescWord;
  uint16 PinPad;
  Std_ReturnType PinModeError;
  const struct Port_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_PinConfigType * _3;
  int _4;
  short unsigned int _5;
  int _6;
  int _7;
  int _8;
  int _9;
  int _10;
  const struct Port_PinConfigType * _11;
  const struct Port_PinConfigType * _12;
  short unsigned int _13;
  long unsigned int _14;
  struct PORT_Type * _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  struct PORT_Type * _19;
  short unsigned int _24;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG PinModeError => 0
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_26(D)->pUsedPadConfig;
  _2 = PinIndex_27(D) * 20;
  _3 = _1 + _2;
  PinPad_28 = _3->Pin;
  # DEBUG PinPad => PinPad_28
  # DEBUG BEGIN_STMT
  # DEBUG PinCfgRegValue => PinMode_29(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (PinMode_29(D) > 7)
    goto <bb 11>; [35.00%]
  else
    goto <bb 3>; [65.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  # DEBUG ePadDirection => 0
  # DEBUG BEGIN_STMT
  u16PinDescBitOffset_30 = PinPad_28 & 15;
  # DEBUG u16PinDescBitOffset => u16PinDescBitOffset_30
  # DEBUG BEGIN_STMT
  _4 = (int) PinMode_29(D);
  _5 = PinPad_28 >> 4;
  _6 = (int) _5;
  u16PinDescWord_31 = Port_au16PinDescription[_4][_6];
  # DEBUG u16PinDescWord => u16PinDescWord_31
  # DEBUG BEGIN_STMT
  _7 = (int) u16PinDescWord_31;
  _8 = (int) u16PinDescBitOffset_30;
  _9 = _7 >> _8;
  _10 = _9 & 1;
  if (_10 != 0)
    goto <bb 4>; [65.00%]
  else
    goto <bb 11>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  if (PinMode_29(D) == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 5> [local count: 154243013]:
<L3>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (PinPad_28, 1);
  # DEBUG BEGIN_STMT
  _11 = pConfigPtr_26(D)->pUsedPadConfig;
  _12 = _11 + _2;
  ePadDirection_33 = _12->ePadDir;
  # DEBUG ePadDirection => ePadDirection_33
  # DEBUG BEGIN_STMT
  if (ePadDirection_33 != 1)
    goto <bb 6>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 6> [local count: 101800389]:
  if (ePadDirection_33 != 3)
    goto <bb 7>; [48.88%]
  else
    goto <bb 8>; [51.12%]

  <bb 7> [local count: 49760030]:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioPadOutput (PinIndex_27(D), pConfigPtr_26(D));

  <bb 8> [local count: 154243013]:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetPinDirection (PinIndex_27(D), ePadDirection_33, pConfigPtr_26(D));
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 299412908]:
<L8>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (PinPad_28, 0);
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  _13 = PinPad_28 >> 5;
  _14 = (long unsigned int) _13;
  _15 = Port_au32PortCiPortBaseAddr[_14];
  _24 = PinPad_28 & 31;
  _16 = (long unsigned int) _24;
  u32LocalPCR_38 = Port_Ci_Port_Ip_ReadPCR (_15, _16);
  # DEBUG u32LocalPCR => u32LocalPCR_38
  # DEBUG BEGIN_STMT
  u32LocalPCR_39 = u32LocalPCR_38 & 4294965503;
  # DEBUG u32LocalPCR => u32LocalPCR_39
  # DEBUG BEGIN_STMT
  _17 = (long unsigned int) PinMode_29(D);
  _18 = _17 << 8;
  u32LocalPCR_40 = _18 | u32LocalPCR_39;
  # DEBUG u32LocalPCR => u32LocalPCR_40
  # DEBUG BEGIN_STMT
  _19 = Port_au32PortCiPortBaseAddr[_14];
  Port_Ci_Port_Ip_SetPCR (_19, _16, u32LocalPCR_40);

  <bb 11> [local count: 1073741824]:
  # PinModeError_20 = PHI <13(2), 0(10), 13(3)>
  # DEBUG PinModeError => PinModeError_20
  # DEBUG BEGIN_STMT
  return PinModeError_20;

}


Port_Ipw_SetPinDirection (Port_PinType PinIndex, Port_PinDirectionType eDirection, const struct Port_ConfigType * pConfigPtr)
{
  uint16 u16PinChangeDirFlagWord;
  uint8 u8PinDescBitOffset;
  Std_ReturnType PinDirError;
  uint16 Pin;
  const struct Port_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_PinConfigType * _3;
  unsigned char _4;
  short unsigned int _5;
  unsigned char _6;
  int _7;
  _Bool _8;
  int _9;
  long unsigned int _10;
  short unsigned int _11;
  short unsigned int _12;
  short unsigned int _13;
  long unsigned int _14;
  struct GPIO_Type * _15;
  long unsigned int _16;
  long unsigned int _17;
  short unsigned int _18;
  long unsigned int _19;
  struct GPIO_Type * _20;
  long unsigned int _21;
  long unsigned int _22;
  struct GPIO_Type * _23;
  short unsigned int _30;
  short unsigned int _37;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_27(D)->pUsedPadConfig;
  _2 = PinIndex_28(D) * 20;
  _3 = _1 + _2;
  Pin_29 = _3->Pin;
  # DEBUG Pin => Pin_29
  # DEBUG BEGIN_STMT
  # DEBUG PinDirError => 0
  # DEBUG BEGIN_STMT
  _4 = (unsigned char) Pin_29;
  u8PinDescBitOffset_31 = _4 & 15;
  # DEBUG u8PinDescBitOffset => u8PinDescBitOffset_31
  # DEBUG BEGIN_STMT
  _5 = Pin_29 >> 4;
  _6 = (unsigned char) _5;
  _7 = (int) _6;
  u16PinChangeDirFlagWord_32 = Port_Ipw_au16GpioDirChangeability[_7];
  # DEBUG u16PinChangeDirFlagWord => u16PinChangeDirFlagWord_32
  # DEBUG BEGIN_STMT
  _8 = _3->bDC;
  if (_8 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870911]:
  _9 = (int) u8PinDescBitOffset_31;
  _10 = 1 << _9;
  _11 = (short unsigned int) _10;
  _12 = _11 & u16PinChangeDirFlagWord_32;
  if (_12 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 4> [local count: 805306368]:
  # DEBUG BEGIN_STMT
  if (eDirection_33(D) == 2)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 162994009]:
  # DEBUG BEGIN_STMT
  _13 = Pin_29 >> 5;
  _14 = (long unsigned int) _13;
  _15 = Port_au32PortCiGpioBaseAddr[_14];
  _37 = Pin_29 & 31;
  _16 = (long unsigned int) _37;
  _17 = 1 << _16;
  Port_Ci_Port_Ip_SetPDDR (_15, _17);
  goto <bb 10>; [100.00%]

  <bb 6> [local count: 642312359]:
  # DEBUG BEGIN_STMT
  if (eDirection_33(D) == 1)
    goto <bb 8>; [20.24%]
  else
    goto <bb 7>; [79.76%]

  <bb 7> [local count: 512308337]:
  if (eDirection_33(D) == 3)
    goto <bb 8>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 8> [local count: 304188856]:
  # DEBUG BEGIN_STMT
  _18 = Pin_29 >> 5;
  _19 = (long unsigned int) _18;
  _20 = Port_au32PortCiGpioBaseAddr[_19];
  _30 = Pin_29 & 31;
  _21 = (long unsigned int) _30;
  _22 = 1 << _21;
  Port_Ci_Port_Ip_ClearPDDR (_20, _22);
  # DEBUG BEGIN_STMT
  if (eDirection_33(D) == 3)
    goto <bb 9>; [20.24%]
  else
    goto <bb 10>; [79.76%]

  <bb 9> [local count: 61567824]:
  # DEBUG BEGIN_STMT
  _23 = Port_au32PortCiGpioBaseAddr[_19];
  Port_Ci_Port_Ip_SetPIDR (_23, _22);

  <bb 10> [local count: 1073741824]:
  # PinDirError_24 = PHI <0(7), 1(3), 0(5), 0(9), 0(8)>
  # DEBUG PinDirError => PinDirError_24
  # DEBUG BEGIN_STMT
  return PinDirError_24;

}


Port_Ipw_Init (const struct Port_ConfigType * pConfigPtr)
{
  uint8 u8Port;
  uint8 u8NumDigFilterPorts;
  uint16 u16PinIndex;
  const struct Port_Ci_Port_Ip_DigitalFilterConfigType * _1;
  unsigned int _2;
  unsigned int _3;
  const struct Port_Ci_Port_Ip_DigitalFilterConfigType * _4;
  int _5;
  struct PORT_Type * _6;
  struct PORT_Type * _7;
  const struct Port_Ci_Port_Ip_DigitalFilterConfigType * _8;
  const struct Port_Ci_Port_Ip_DigitalFilterConfigType * _9;
  long unsigned int _10;
  short unsigned int _11;
  const struct Port_Ci_Port_Ip_PinSettingsConfig * _12;
  int _13;

  <bb 2> [local count: 107374182]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u8NumDigFilterPorts_20 = pConfigPtr_19(D)->u8NumDigitalFilterPorts;
  # DEBUG u8NumDigFilterPorts => u8NumDigFilterPorts_20
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 868754747]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_19(D)->pDigitalFilterConfig;
  _2 = (unsigned int) u16PinIndex_14;
  _3 = _2 * 8;
  _4 = _1 + _3;
  u8Port_25 = _4->u8Port;
  # DEBUG u8Port => u8Port_25
  # DEBUG BEGIN_STMT
  _5 = (int) u8Port_25;
  _6 = Port_au32PortCiPortBaseAddr[_5];
  Port_Ci_Port_Ip_ConfigDigitalFilter (_6, _4);
  # DEBUG BEGIN_STMT
  _7 = Port_au32PortCiPortBaseAddr[_5];
  _8 = pConfigPtr_19(D)->pDigitalFilterConfig;
  _9 = _8 + _3;
  _10 = _9->u32PinMask;
  Port_Ci_Port_Ip_SetDFER (_7, _10);
  # DEBUG BEGIN_STMT
  u16PinIndex_28 = u16PinIndex_14 + 1;
  # DEBUG u16PinIndex => u16PinIndex_28

  <bb 4> [local count: 976128930]:
  # u16PinIndex_14 = PHI <0(2), u16PinIndex_28(3)>
  # DEBUG u16PinIndex => u16PinIndex_14
  # DEBUG BEGIN_STMT
  _11 = (short unsigned int) u8NumDigFilterPorts_20;
  if (_11 > u16PinIndex_14)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 107374182]:
  # DEBUG BEGIN_STMT
  _12 = pConfigPtr_19(D)->IpConfigPtr;
  Port_Ci_Port_Ip_Init (13, _12);
  # DEBUG BEGIN_STMT
  Port_Ipw_Init_UnusedPins (pConfigPtr_19(D));
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 966367642]:
  # DEBUG BEGIN_STMT
  _13 = (int) u16PinIndex_15;
  Port_Ipw_au16GpioDirChangeability[_13] = 0;
  # DEBUG BEGIN_STMT
  u16PinIndex_24 = u16PinIndex_15 + 1;
  # DEBUG u16PinIndex => u16PinIndex_24

  <bb 7> [local count: 1073741824]:
  # u16PinIndex_15 = PHI <0(5), u16PinIndex_24(6)>
  # DEBUG u16PinIndex => u16PinIndex_15
  # DEBUG BEGIN_STMT
  if (u16PinIndex_15 != 9)
    goto <bb 6>; [90.00%]
  else
    goto <bb 8>; [10.00%]

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

}


Port_Ipw_Init_UnusedPins (const struct Port_ConfigType * pConfigPtr)
{
  Port_PinDirectionType eLocalPDDIR;
  uint32 u32LocalPCR;
  uint8 u8LocalPDO;
  uint16 u16NumUnusedPins;
  uint16 u16PinIndex;
  const struct Port_UnUsedPinConfigType * _1;
  const uint16 * _2;
  unsigned int _3;
  unsigned int _4;
  const uint16 * _5;
  short unsigned int _6;
  short unsigned int _7;
  long unsigned int _8;
  struct GPIO_Type * _9;
  long unsigned int _10;
  long unsigned int _11;
  const uint16 * _12;
  unsigned int _13;
  unsigned int _14;
  const uint16 * _15;
  short unsigned int _16;
  short unsigned int _17;
  long unsigned int _18;
  struct GPIO_Type * _19;
  long unsigned int _20;
  long unsigned int _21;
  const uint16 * _22;
  unsigned int _23;
  unsigned int _24;
  const uint16 * _25;
  short unsigned int _26;
  short unsigned int _27;
  long unsigned int _28;
  struct GPIO_Type * _29;
  long unsigned int _30;
  long unsigned int _31;
  const uint16 * _32;
  unsigned int _33;
  unsigned int _34;
  const uint16 * _35;
  short unsigned int _36;
  short unsigned int _37;
  long unsigned int _38;
  struct GPIO_Type * _39;
  long unsigned int _40;
  long unsigned int _41;
  const uint16 * _42;
  const uint16 * _43;
  short unsigned int _44;
  short unsigned int _45;
  long unsigned int _46;
  struct GPIO_Type * _47;
  long unsigned int _48;
  long unsigned int _49;
  const uint16 * _50;
  unsigned int _51;
  unsigned int _52;
  const uint16 * _53;
  short unsigned int _54;
  short unsigned int _55;
  long unsigned int _56;
  struct PORT_Type * _57;
  long unsigned int _58;
  short unsigned int _69;
  short unsigned int _77;
  short unsigned int _78;
  short unsigned int _79;
  short unsigned int _80;
  short unsigned int _81;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u16NumUnusedPins_65 = pConfigPtr_64(D)->u16NumUnusedPins;
  # DEBUG u16NumUnusedPins => u16NumUnusedPins_65
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_64(D)->pUnusedPadConfig;
  u8LocalPDO_66 = _1->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_66
  # DEBUG BEGIN_STMT
  u32LocalPCR_67 = _1->u32PCR;
  # DEBUG u32LocalPCR => u32LocalPCR_67
  # DEBUG BEGIN_STMT
  eLocalPDDIR_68 = _1->ePadDir;
  # DEBUG eLocalPDDIR => eLocalPDDIR_68
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 12>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  if (eLocalPDDIR_68 == 2)
    goto <bb 4>; [51.12%]
  else
    goto <bb 9>; [48.88%]

  <bb 4> [local count: 488518169]:
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_66 == 1)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 98876077]:
  # DEBUG BEGIN_STMT
  _2 = pConfigPtr_64(D)->pUnusedPads;
  _3 = (unsigned int) u16PinIndex_59;
  _4 = _3 * 2;
  _5 = _2 + _4;
  _6 = *_5;
  _7 = _6 >> 5;
  _8 = (long unsigned int) _7;
  _9 = Port_au32PortCiGpioBaseAddr[_8];
  _79 = _6 & 31;
  _10 = (long unsigned int) _79;
  _11 = 1 << _10;
  Port_Ci_Port_Ip_SetPSOR (_9, _11);
  goto <bb 8>; [100.00%]

  <bb 6> [local count: 389642091]:
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_66 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 128581890]:
  # DEBUG BEGIN_STMT
  _12 = pConfigPtr_64(D)->pUnusedPads;
  _13 = (unsigned int) u16PinIndex_59;
  _14 = _13 * 2;
  _15 = _12 + _14;
  _16 = *_15;
  _17 = _16 >> 5;
  _18 = (long unsigned int) _17;
  _19 = Port_au32PortCiGpioBaseAddr[_18];
  _78 = _16 & 31;
  _20 = (long unsigned int) _78;
  _21 = 1 << _20;
  Port_Ci_Port_Ip_SetPCOR (_19, _21);

  <bb 8> [local count: 488518169]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _22 = pConfigPtr_64(D)->pUnusedPads;
  _23 = (unsigned int) u16PinIndex_59;
  _24 = _23 * 2;
  _25 = _22 + _24;
  _26 = *_25;
  _27 = _26 >> 5;
  _28 = (long unsigned int) _27;
  _29 = Port_au32PortCiGpioBaseAddr[_28];
  _80 = _26 & 31;
  _30 = (long unsigned int) _80;
  _31 = 1 << _30;
  Port_Ci_Port_Ip_SetPDDR (_29, _31);
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 467112052]:
  # DEBUG BEGIN_STMT
  _32 = pConfigPtr_64(D)->pUnusedPads;
  _33 = (unsigned int) u16PinIndex_59;
  _34 = _33 * 2;
  _35 = _32 + _34;
  _36 = *_35;
  _37 = _36 >> 5;
  _38 = (long unsigned int) _37;
  _39 = Port_au32PortCiGpioBaseAddr[_38];
  _69 = _36 & 31;
  _40 = (long unsigned int) _69;
  _41 = 1 << _40;
  Port_Ci_Port_Ip_ClearPDDR (_39, _41);
  # DEBUG BEGIN_STMT
  if (eLocalPDDIR_68 == 3)
    goto <bb 10>; [20.24%]
  else
    goto <bb 11>; [79.76%]

  <bb 10> [local count: 94543479]:
  # DEBUG BEGIN_STMT
  _42 = pConfigPtr_64(D)->pUnusedPads;
  _43 = _42 + _34;
  _44 = *_43;
  _45 = _44 >> 5;
  _46 = (long unsigned int) _45;
  _47 = Port_au32PortCiGpioBaseAddr[_46];
  _77 = _44 & 31;
  _48 = (long unsigned int) _77;
  _49 = 1 << _48;
  Port_Ci_Port_Ip_SetPIDR (_47, _49);

  <bb 11> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _50 = pConfigPtr_64(D)->pUnusedPads;
  _51 = (unsigned int) u16PinIndex_59;
  _52 = _51 * 2;
  _53 = _50 + _52;
  _54 = *_53;
  _55 = _54 >> 5;
  _56 = (long unsigned int) _55;
  _57 = Port_au32PortCiPortBaseAddr[_56];
  _81 = _54 & 31;
  _58 = (long unsigned int) _81;
  Port_Ci_Port_Ip_SetPCR (_57, _58, u32LocalPCR_67);
  # DEBUG BEGIN_STMT
  u16PinIndex_76 = u16PinIndex_59 + 1;
  # DEBUG u16PinIndex => u16PinIndex_76

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

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

}


