
IPA constant propagation start:

IPA structures before propagation:

Jump functions:
  Jump functions of caller  Power_Ip_CM4_DisableDeepSleep/5:
  Jump functions of caller  Power_Ip_CM4_EnableDeepSleep/4:
  Jump functions of caller  Power_Ip_CM4_EnableSleepOnExit/3:
  Jump functions of caller  Power_Ip_CM4_DisableSleepOnExit/2:
  Jump functions of caller  Power_Ip_CM4_SystemReset/1:

 Propagating constants:

Not considering Power_Ip_CM4_DisableDeepSleep for cloning; -fipa-cp-clone disabled.
Not considering Power_Ip_CM4_EnableDeepSleep for cloning; -fipa-cp-clone disabled.
Not considering Power_Ip_CM4_EnableSleepOnExit for cloning; -fipa-cp-clone disabled.
Not considering Power_Ip_CM4_DisableSleepOnExit for cloning; -fipa-cp-clone disabled.
Not considering Power_Ip_CM4_SystemReset for cloning; -fipa-cp-clone disabled.

overall_size: 39, max_new_size: 11001

IPA lattices after all propagation:

Lattices:
  Node: Power_Ip_CM4_DisableDeepSleep/5:
  Node: Power_Ip_CM4_EnableDeepSleep/4:
  Node: Power_Ip_CM4_EnableSleepOnExit/3:
  Node: Power_Ip_CM4_DisableSleepOnExit/2:
  Node: Power_Ip_CM4_SystemReset/1:

IPA decision stage:


IPA constant propagation end

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

Power_Ip_CM4_DisableDeepSleep/5 (Power_Ip_CM4_DisableDeepSleep) @05e0e460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pCM4/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Power_Ip_CM4_EnableDeepSleep/4 (Power_Ip_CM4_EnableDeepSleep) @05e0e1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pCM4/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Power_Ip_CM4_EnableSleepOnExit/3 (Power_Ip_CM4_EnableSleepOnExit) @05e03d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pCM4/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Power_Ip_CM4_DisableSleepOnExit/2 (Power_Ip_CM4_DisableSleepOnExit) @05e03ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pCM4/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Power_Ip_CM4_SystemReset/1 (Power_Ip_CM4_SystemReset) @05e03c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pCM4/0 (read)pCM4/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
pCM4/0 (pCM4) @05e08a20
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Power_Ip_CM4_DisableSleepOnExit/2 (read)Power_Ip_CM4_EnableSleepOnExit/3 (read)Power_Ip_CM4_SystemReset/1 (read)Power_Ip_CM4_EnableDeepSleep/4 (read)Power_Ip_CM4_SystemReset/1 (read)Power_Ip_CM4_DisableDeepSleep/5 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known

;; Function Power_Ip_CM4_SystemReset (Power_Ip_CM4_SystemReset, funcdef_no=0, decl_uid=5601, cgraph_uid=1, symbol_order=1)

Modification phase of node Power_Ip_CM4_SystemReset/1
Power_Ip_CM4_SystemReset ()
{
  uint32 u32TmpValue;
  struct Power_Ip_CM4_Type * pCM4.0_1;
  long unsigned int _2;
  struct Power_Ip_CM4_Type * pCM4.1_3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pCM4.0_1 = pCM4;
  _2 ={v} pCM4.0_1->AIRCR;
  u32TmpValue_5 = _2 & 1792;
  # DEBUG u32TmpValue => u32TmpValue_5
  # DEBUG BEGIN_STMT
  # DEBUG u32TmpValue => u32TmpValue_5 | 4
  # DEBUG BEGIN_STMT
  u32TmpValue_6 = u32TmpValue_5 | 100270084;
  # DEBUG u32TmpValue => u32TmpValue_6
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" dsb");
  # DEBUG BEGIN_STMT
  pCM4.1_3 = pCM4;
  pCM4.1_3->AIRCR ={v} u32TmpValue_6;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" dsb");
  return;

}



;; Function Power_Ip_CM4_DisableSleepOnExit (Power_Ip_CM4_DisableSleepOnExit, funcdef_no=1, decl_uid=5605, cgraph_uid=2, symbol_order=2)

Modification phase of node Power_Ip_CM4_DisableSleepOnExit/2
Power_Ip_CM4_DisableSleepOnExit ()
{
  uint32 tempValue;
  struct Power_Ip_CM4_Type * pCM4.2_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG tempValue => 0
  # DEBUG BEGIN_STMT
  pCM4.2_1 = pCM4;
  tempValue_3 ={v} pCM4.2_1->SCR;
  # DEBUG tempValue => tempValue_3
  # DEBUG BEGIN_STMT
  tempValue_4 = tempValue_3 & 4294967293;
  # DEBUG tempValue => tempValue_4
  # DEBUG BEGIN_STMT
  pCM4.2_1->SCR ={v} tempValue_4;
  return;

}



;; Function Power_Ip_CM4_EnableSleepOnExit (Power_Ip_CM4_EnableSleepOnExit, funcdef_no=2, decl_uid=5603, cgraph_uid=3, symbol_order=3)

Modification phase of node Power_Ip_CM4_EnableSleepOnExit/3
Power_Ip_CM4_EnableSleepOnExit ()
{
  uint32 tempValue;
  struct Power_Ip_CM4_Type * pCM4.4_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG tempValue => 0
  # DEBUG BEGIN_STMT
  pCM4.4_1 = pCM4;
  tempValue_3 ={v} pCM4.4_1->SCR;
  # DEBUG tempValue => tempValue_3
  # DEBUG BEGIN_STMT
  tempValue_4 = tempValue_3 | 2;
  # DEBUG tempValue => tempValue_4
  # DEBUG BEGIN_STMT
  pCM4.4_1->SCR ={v} tempValue_4;
  return;

}



;; Function Power_Ip_CM4_EnableDeepSleep (Power_Ip_CM4_EnableDeepSleep, funcdef_no=3, decl_uid=5607, cgraph_uid=4, symbol_order=4)

Modification phase of node Power_Ip_CM4_EnableDeepSleep/4
Power_Ip_CM4_EnableDeepSleep ()
{
  uint32 tempValue;
  struct Power_Ip_CM4_Type * pCM4.6_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG tempValue => 0
  # DEBUG BEGIN_STMT
  pCM4.6_1 = pCM4;
  tempValue_3 ={v} pCM4.6_1->SCR;
  # DEBUG tempValue => tempValue_3
  # DEBUG BEGIN_STMT
  tempValue_4 = tempValue_3 | 4;
  # DEBUG tempValue => tempValue_4
  # DEBUG BEGIN_STMT
  pCM4.6_1->SCR ={v} tempValue_4;
  return;

}



;; Function Power_Ip_CM4_DisableDeepSleep (Power_Ip_CM4_DisableDeepSleep, funcdef_no=4, decl_uid=5609, cgraph_uid=5, symbol_order=5)

Modification phase of node Power_Ip_CM4_DisableDeepSleep/5
Power_Ip_CM4_DisableDeepSleep ()
{
  uint32 tempValue;
  struct Power_Ip_CM4_Type * pCM4.8_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG tempValue => 0
  # DEBUG BEGIN_STMT
  pCM4.8_1 = pCM4;
  tempValue_3 ={v} pCM4.8_1->SCR;
  # DEBUG tempValue => tempValue_3
  # DEBUG BEGIN_STMT
  tempValue_4 = tempValue_3 & 4294967291;
  # DEBUG tempValue => tempValue_4
  # DEBUG BEGIN_STMT
  pCM4.8_1->SCR ={v} tempValue_4;
  return;

}


