

 local analysis of Platform_Ipw_Init
   scanning: _1 = pConfig_3(D)->pIntCtrlConfig;
    Indirect ref read is not const
  scanning: if (_1 != 0B)
  scanning: Platform_Ipw_InitIntCtrl (_1);
  scanning: return;
Function is locally pure.


 local analysis of Platform_Ipw_InitIntCtrl
   scanning: _1 = pIntCtrlCtrlConfig_16(D)->aIrqConfig;
    Indirect ref read is not const
  scanning: _2 = irqIdx_12 * 8;
  scanning: _3 = _1 + _2;
  scanning: _4 = _3->eIrqNumber;
    Indirect ref read is not const
  scanning: _5 = _3->u8IrqPriority;
    Indirect ref read is not const
  scanning: IntCtrl_Ip_SetPriority (_4, _5);
  scanning: _6 = pIntCtrlCtrlConfig_16(D)->aIrqConfig;
    Indirect ref read is not const
  scanning: _7 = _6 + _2;
  scanning: _8 = _7->bIrqEnabled;
    Indirect ref read is not const
  scanning: if (_8 != 0)
  scanning: _9 = _7->eIrqNumber;
    Indirect ref read is not const
  scanning: IntCtrl_Ip_EnableIrq (_9);
  scanning: _10 = _7->eIrqNumber;
    Indirect ref read is not const
  scanning: IntCtrl_Ip_DisableIrq (_10);
  scanning: irqIdx_20 = irqIdx_12 + 1;
  scanning: _11 = pIntCtrlCtrlConfig_16(D)->u32ConfigIrqCount;
    Indirect ref read is not const
  scanning: if (_11 > irqIdx_12)
  scanning: return 0;
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8
;;
;; Loop 1
;;  header 7, latch 6
;;  depth 1, outer 0
;;  nodes: 7 6 4 5 3
;; 2 succs { 7 }
;; 3 succs { 4 5 }
;; 4 succs { 6 }
;; 5 succs { 6 }
;; 6 succs { 7 }
;; 7 succs { 3 8 }
;; 8 succs { 1 }
    cannot prove finiteness of loop 1
Function is locally looping.
Function is locally pure.
callgraph:

IntCtrl_Ip_DisableIrq/9 (IntCtrl_Ip_DisableIrq) @0623f1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (2322615832 (estimated locally),2.16 per call) 
  Calls: 
IntCtrl_Ip_EnableIrq/8 (IntCtrl_Ip_EnableIrq) @0623f0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (2322615832 (estimated locally),2.16 per call) 
  Calls: 
IntCtrl_Ip_SetPriority/7 (IntCtrl_Ip_SetPriority) @0623f000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (4645231669 (estimated locally),4.33 per call) 
  Calls: 
Platform_Ipw_Init/6 (Platform_Ipw_Init) @05e8ea80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @062f40d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Platform_Ipw_InitIntCtrl/5 (inlined) (574129754 (estimated locally),0.53 per call) 
Platform_Ipw_InitIntCtrl/5 (Platform_Ipw_InitIntCtrl) @05e8e7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @062f43b8
  References: 
  Referring: 
  Function Platform_Ipw_InitIntCtrl/5 is inline copy in Platform_Ipw_Init/6
  Availability: local
  Function flags: count:574129754 (estimated locally) body local optimize_size
  Called by: Platform_Ipw_Init/6 (inlined) (574129754 (estimated locally),0.53 per call) 
  Calls: IntCtrl_Ip_DisableIrq/9 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_EnableIrq/8 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_SetPriority/7 (4645231669 (estimated locally),4.33 per call) 


 ordered call graph: reduced for nothrow
Platform_Ipw_Init/6 (Platform_Ipw_Init) @05e8ea80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @062f40d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Platform_Ipw_InitIntCtrl/5 (inlined) (574129754 (estimated locally),0.53 per call) 
Platform_Ipw_InitIntCtrl/5 (Platform_Ipw_InitIntCtrl) @05e8e7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @062f43b8
  References: 
  Referring: 
  Function Platform_Ipw_InitIntCtrl/5 is inline copy in Platform_Ipw_Init/6
  Availability: local
  Function flags: count:574129754 (estimated locally) body local optimize_size
  Called by: Platform_Ipw_Init/6 (inlined) (574129754 (estimated locally),0.53 per call) 
  Calls: IntCtrl_Ip_DisableIrq/9 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_EnableIrq/8 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_SetPriority/7 (4645231669 (estimated locally),4.33 per call) 



MALLOC LATTICE Initial:
Platform_Ipw_Init: malloc_bottom
Platform_Ipw_InitIntCtrl: malloc_bottom


MALLOC LATTICE after propagation:
Platform_Ipw_Init: malloc_bottom
Platform_Ipw_InitIntCtrl: malloc_bottom
callgraph:

IntCtrl_Ip_DisableIrq/9 (IntCtrl_Ip_DisableIrq) @0623f1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (2322615832 (estimated locally),2.16 per call) 
  Calls: 
IntCtrl_Ip_EnableIrq/8 (IntCtrl_Ip_EnableIrq) @0623f0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (2322615832 (estimated locally),2.16 per call) 
  Calls: 
IntCtrl_Ip_SetPriority/7 (IntCtrl_Ip_SetPriority) @0623f000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Platform_Ipw_InitIntCtrl/5 (4645231669 (estimated locally),4.33 per call) 
  Calls: 
Platform_Ipw_Init/6 (Platform_Ipw_Init) @05e8ea80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @062f42d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Platform_Ipw_InitIntCtrl/5 (inlined) (574129754 (estimated locally),0.53 per call) 
Platform_Ipw_InitIntCtrl/5 (Platform_Ipw_InitIntCtrl) @05e8e7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @062f4078
  References: 
  Referring: 
  Function Platform_Ipw_InitIntCtrl/5 is inline copy in Platform_Ipw_Init/6
  Availability: local
  Function flags: count:574129754 (estimated locally) body local optimize_size
  Called by: Platform_Ipw_Init/6 (inlined) (574129754 (estimated locally),0.53 per call) 
  Calls: IntCtrl_Ip_DisableIrq/9 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_EnableIrq/8 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_SetPriority/7 (4645231669 (estimated locally),4.33 per call) 


 ordered call graph: reduced
Platform_Ipw_Init/6 (Platform_Ipw_Init) @05e8ea80
  Type: function definition analyzed
  Visibility: externally_visible public
  Aux: @062f42d8
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Platform_Ipw_InitIntCtrl/5 (inlined) (574129754 (estimated locally),0.53 per call) 
Platform_Ipw_InitIntCtrl/5 (Platform_Ipw_InitIntCtrl) @05e8e7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Aux: @062f4078
  References: 
  Referring: 
  Function Platform_Ipw_InitIntCtrl/5 is inline copy in Platform_Ipw_Init/6
  Availability: local
  Function flags: count:574129754 (estimated locally) body local optimize_size
  Called by: Platform_Ipw_Init/6 (inlined) (574129754 (estimated locally),0.53 per call) 
  Calls: IntCtrl_Ip_DisableIrq/9 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_EnableIrq/8 (2322615832 (estimated locally),2.16 per call) IntCtrl_Ip_SetPriority/7 (4645231669 (estimated locally),4.33 per call) 

Platform_Ipw_Init (const struct Platform_Ipw_ConfigType * pConfig)
{
  const struct IntCtrl_Ip_CtrlConfigType * _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _1 = pConfig_3(D)->pIntCtrlConfig;
  if (_1 != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 574129754]:
  # DEBUG BEGIN_STMT
  Platform_Ipw_InitIntCtrl (_1);
  # DEBUG ret => NULL
  # DEBUG BEGIN_STMT
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 499612071]:
  # DEBUG ret => NULL
  # DEBUG BEGIN_STMT

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

}


Platform_Ipw_InitIntCtrl (const struct IntCtrl_Ip_CtrlConfigType * pIntCtrlCtrlConfig)
{
  uint32 irqIdx;
  const struct IntCtrl_Ip_IrqConfigType * _1;
  long unsigned int _2;
  const struct IntCtrl_Ip_IrqConfigType * _3;
  <unnamed type> _4;
  unsigned char _5;
  const struct IntCtrl_Ip_IrqConfigType * _6;
  const struct IntCtrl_Ip_IrqConfigType * _7;
  _Bool _8;
  <unnamed type> _9;
  <unnamed type> _10;
  long unsigned int _11;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG irqIdx => 0
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = pIntCtrlCtrlConfig_16(D)->aIrqConfig;
  _2 = irqIdx_12 * 8;
  _3 = _1 + _2;
  _4 = _3->eIrqNumber;
  _5 = _3->u8IrqPriority;
  IntCtrl_Ip_SetPriority (_4, _5);
  # DEBUG BEGIN_STMT
  _6 = pIntCtrlCtrlConfig_16(D)->aIrqConfig;
  _7 = _6 + _2;
  _8 = _7->bIrqEnabled;
  if (_8 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  _9 = _7->eIrqNumber;
  IntCtrl_Ip_EnableIrq (_9);
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  _10 = _7->eIrqNumber;
  IntCtrl_Ip_DisableIrq (_10);

  <bb 6> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  irqIdx_20 = irqIdx_12 + 1;
  # DEBUG irqIdx => irqIdx_20

  <bb 7> [local count: 1073741824]:
  # irqIdx_12 = PHI <0(2), irqIdx_20(6)>
  # DEBUG irqIdx => irqIdx_12
  # DEBUG BEGIN_STMT
  _11 = pIntCtrlCtrlConfig_16(D)->u32ConfigIrqCount;
  if (_11 > irqIdx_12)
    goto <bb 3>; [89.00%]
  else
    goto <bb 8>; [11.00%]

  <bb 8> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  return 0;

}


