
Marking local functions:


Marking externally visible functions:


Marking externally visible variables: Clock_Ip_axDividerCallbacks

Clearing variable flags:

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

Clock_Ip_ReportClockErrors/11 (Clock_Ip_ReportClockErrors) @070d27e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (37904965 (estimated locally),0.33 per call) 
  Calls: 
Clock_Ip_TimeoutExpired/10 (Clock_Ip_TimeoutExpired) @070d2700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (1073741824 (estimated locally),9.35 per call) 
  Calls: 
Clock_Ip_StartTimeout/9 (Clock_Ip_StartTimeout) @070d2620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (114863532 (estimated locally),1.00 per call) 
  Calls: 
Clock_Ip_apxCgm/8 (Clock_Ip_apxCgm) @06ff0ca8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)
  Availability: not_available
  Varpool flags: read-only
Clock_Ip_axFeatureExtensions/7 (Clock_Ip_axFeatureExtensions) @06ff0c60
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)
  Availability: not_available
  Varpool flags: read-only
Clock_Ip_pxPll/6 (Clock_Ip_pxPll) @06ff09d8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_SetPlldigPll0divDeDivOutput/3 (read)
  Availability: not_available
  Varpool flags: read-only
Clock_Ip_au8ClockFeatures/5 (Clock_Ip_au8ClockFeatures) @06ff0990
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_SetPlldigPll0divDeDivOutput/3 (read)Clock_Ip_SetPlldigPll0divDeDivOutput/3 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (read)
  Availability: not_available
  Varpool flags: read-only
Clock_Ip_axDividerCallbacks/4 (Clock_Ip_axDividerCallbacks) @06ff0630
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: Clock_Ip_Callback_DividerEmpty/0 (addr)Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (addr)Clock_Ip_SetCgmXDeDivWithoutPhase/2 (addr)Clock_Ip_SetPlldigPll0divDeDivOutput/3 (addr)
  Referring: 
  Availability: available
  Varpool flags: initialized read-only const-value-known
Clock_Ip_SetPlldigPll0divDeDivOutput/3 (Clock_Ip_SetPlldigPll0divDeDivOutput) @06fef540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_pxPll/6 (read)
  Referring: Clock_Ip_axDividerCallbacks/4 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Clock_Ip_SetCgmXDeDivWithoutPhase/2 (Clock_Ip_SetCgmXDeDivWithoutPhase) @06fefc40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_axFeatureExtensions/7 (read)Clock_Ip_axFeatureExtensions/7 (read)Clock_Ip_apxCgm/8 (read)Clock_Ip_apxCgm/8 (read)Clock_Ip_apxCgm/8 (read)
  Referring: Clock_Ip_axDividerCallbacks/4 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Clock_Ip_SetCgmXDeDivStatWithoutPhase/1 (Clock_Ip_SetCgmXDeDivStatWithoutPhase) @06fef9a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_au8ClockFeatures/5 (read)Clock_Ip_axFeatureExtensions/7 (read)Clock_Ip_axFeatureExtensions/7 (read)Clock_Ip_apxCgm/8 (read)Clock_Ip_apxCgm/8 (read)
  Referring: Clock_Ip_axDividerCallbacks/4 (addr)
  Availability: available
  Function flags: count:114863532 (estimated locally) body optimize_size
  Called by: 
  Calls: Clock_Ip_ReportClockErrors/11 (37904965 (estimated locally),0.33 per call) Clock_Ip_TimeoutExpired/10 (1073741824 (estimated locally),9.35 per call) Clock_Ip_StartTimeout/9 (114863532 (estimated locally),1.00 per call) 
Clock_Ip_Callback_DividerEmpty/0 (Clock_Ip_Callback_DividerEmpty) @06fef700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: Clock_Ip_axDividerCallbacks/4 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Clock_Ip_SetPlldigPll0divDeDivOutput (const struct Clock_Ip_DividerConfigType * Config)
{
  uint32 RegValue;
  uint32 DividerIndex;
  uint32 Instance;
  <unnamed type> _1;
  int _2;
  unsigned char _3;
  unsigned char _4;
  struct PLLDIG_Type * _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _22;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Config_14(D)->Name;
  _2 = (int) _1;
  _3 = Clock_Ip_au8ClockFeatures[_2][0];
  Instance_15 = (uint32) _3;
  # DEBUG Instance => Instance_15
  # DEBUG BEGIN_STMT
  _4 = Clock_Ip_au8ClockFeatures[_2][5];
  DividerIndex_16 = (uint32) _4;
  # DEBUG DividerIndex => DividerIndex_16
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = Clock_Ip_pxPll[Instance_15];
  _6 ={v} _5->PLLODIV[DividerIndex_16];
  _7 = _6 & 2147483647;
  _5->PLLODIV[DividerIndex_16] ={v} _7;
  # DEBUG BEGIN_STMT
  _8 = Config_14(D)->Value;
  if (_8 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  RegValue_18 ={v} _5->PLLODIV[DividerIndex_16];
  # DEBUG RegValue => RegValue_18
  # DEBUG BEGIN_STMT
  # DEBUG RegValue => RegValue_18 | 2147483648
  # DEBUG BEGIN_STMT
  _22 = RegValue_18 & 4278255615;
  RegValue_19 = _22 | 2147483648;
  # DEBUG RegValue => RegValue_19
  # DEBUG BEGIN_STMT
  _9 = _8 + 4294967295;
  _10 = _9 << 16;
  _11 = _10 & 16711680;
  RegValue_20 = _11 | RegValue_19;
  # DEBUG RegValue => RegValue_20
  # DEBUG BEGIN_STMT
  _5->PLLODIV[DividerIndex_16] ={v} RegValue_20;

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

}


Clock_Ip_SetCgmXDeDivWithoutPhase (const struct Clock_Ip_DividerConfigType * Config)
{
  uint32 RegValue;
  uint32 DividerShift;
  uint32 DividerMask;
  uint32 DividerIndex;
  uint32 SelectorIndex;
  uint32 Instance;
  <unnamed type> _1;
  int _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  unsigned char _6;
  int _7;
  long unsigned int _8;
  volatile struct Clock_Ip_CgmMuxType * _9;
  long unsigned int _10;
  long unsigned int _11;
  volatile struct Clock_Ip_CgmMuxType * _12;
  long unsigned int _13;
  long unsigned int _14;
  volatile struct Clock_Ip_CgmMuxType * _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _32;
  long unsigned int _33;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Config_21(D)->Name;
  _2 = (int) _1;
  _3 = Clock_Ip_au8ClockFeatures[_2][0];
  Instance_22 = (uint32) _3;
  # DEBUG Instance => Instance_22
  # DEBUG BEGIN_STMT
  _4 = Clock_Ip_au8ClockFeatures[_2][4];
  SelectorIndex_23 = (uint32) _4;
  # DEBUG SelectorIndex => SelectorIndex_23
  # DEBUG BEGIN_STMT
  _5 = Clock_Ip_au8ClockFeatures[_2][5];
  DividerIndex_24 = (uint32) _5;
  # DEBUG DividerIndex => DividerIndex_24
  # DEBUG BEGIN_STMT
  _6 = Clock_Ip_au8ClockFeatures[_2][2];
  _7 = (int) _6;
  DividerMask_25 = Clock_Ip_axFeatureExtensions[_7].DividerValueMask;
  # DEBUG DividerMask => DividerMask_25
  # DEBUG BEGIN_STMT
  DividerShift_26 = Clock_Ip_axFeatureExtensions[_7].DividerValueShift;
  # DEBUG DividerShift => DividerShift_26
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = Config_21(D)->Value;
  if (_8 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _9 = Clock_Ip_apxCgm[Instance_22][SelectorIndex_23];
  RegValue_27 ={v} _9->Divider[DividerIndex_24];
  # DEBUG RegValue => RegValue_27
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => ~DividerMask_25
  # DEBUG RegValue => D#1 & RegValue_27
  # DEBUG BEGIN_STMT
  _10 = _8 + 4294967295;
  _11 = _10 << DividerShift_26;
  _32 = _11 ^ RegValue_27;
  _33 = DividerMask_25 & _32;
  RegValue_28 = RegValue_27 ^ _33;
  # DEBUG RegValue => RegValue_28
  # DEBUG BEGIN_STMT
  _9->Divider[DividerIndex_24] ={v} RegValue_28;

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

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _12 = Clock_Ip_apxCgm[Instance_22][SelectorIndex_23];
  _13 ={v} _12->Divider[DividerIndex_24];
  _14 = _13 | 2147483648;
  _12->Divider[DividerIndex_24] ={v} _14;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _15 = Clock_Ip_apxCgm[Instance_22][SelectorIndex_23];
  _16 ={v} _15->Divider[DividerIndex_24];
  _17 = _16 & 2147483647;
  _15->Divider[DividerIndex_24] ={v} _17;

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

}


Clock_Ip_SetCgmXDeDivStatWithoutPhase (const struct Clock_Ip_DividerConfigType * Config)
{
  uint32 DividerStatus;
  uint32 TimeoutTicks;
  uint32 ElapsedTime;
  uint32 StartTime;
  boolean TimeoutOccurred;
  uint32 RegValue;
  uint32 DividerShift;
  uint32 DividerMask;
  uint32 DividerIndex;
  uint32 SelectorIndex;
  uint32 Instance;
  <unnamed type> _1;
  int _2;
  unsigned char _3;
  volatile struct Clock_Ip_CgmMuxType * _4;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  int _9;
  long unsigned int _10;
  volatile struct Clock_Ip_CgmMuxType * _11;
  long unsigned int _12;
  long unsigned int _13;
  volatile struct Clock_Ip_CgmMuxType * _14;
  long unsigned int _15;
  long unsigned int TimeoutTicks.0_16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  <unnamed type> _22;
  long unsigned int _33;
  long unsigned int _47;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  _1 = Config_27(D)->Name;
  _2 = (int) _1;
  _3 = Clock_Ip_au8ClockFeatures[_2][0];
  Instance_28 = (uint32) _3;
  # DEBUG Instance => Instance_28
  # DEBUG BEGIN_STMT
  _6 = Clock_Ip_au8ClockFeatures[_2][4];
  SelectorIndex_29 = (uint32) _6;
  # DEBUG SelectorIndex => SelectorIndex_29
  # DEBUG BEGIN_STMT
  _7 = Clock_Ip_au8ClockFeatures[_2][5];
  DividerIndex_30 = (uint32) _7;
  # DEBUG DividerIndex => DividerIndex_30
  # DEBUG BEGIN_STMT
  _8 = Clock_Ip_au8ClockFeatures[_2][2];
  _9 = (int) _8;
  DividerMask_31 = Clock_Ip_axFeatureExtensions[_9].DividerValueMask;
  # DEBUG DividerMask => DividerMask_31
  # DEBUG BEGIN_STMT
  DividerShift_32 = Clock_Ip_axFeatureExtensions[_9].DividerValueShift;
  # DEBUG DividerShift => DividerShift_32
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG TimeoutOccurred => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = Config_27(D)->Value;
  if (_10 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  _11 = Clock_Ip_apxCgm[Instance_28][SelectorIndex_29];
  RegValue_34 ={v} _11->Divider[DividerIndex_30];
  # DEBUG RegValue => RegValue_34
  # DEBUG BEGIN_STMT
  # DEBUG D#2 => ~DividerMask_31
  # DEBUG RegValue => D#2 & RegValue_34
  # DEBUG BEGIN_STMT
  _12 = _10 + 4294967295;
  _13 = _12 << DividerShift_32;
  _33 = _13 ^ RegValue_34;
  _47 = DividerMask_31 & _33;
  RegValue_35 = RegValue_34 ^ _47;
  # DEBUG RegValue => RegValue_35
  # DEBUG BEGIN_STMT
  _11->Divider[DividerIndex_30] ={v} RegValue_35;

  <bb 4> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  Clock_Ip_StartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 50000);

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _14 = Clock_Ip_apxCgm[Instance_28][SelectorIndex_29];
  _15 ={v} _14->MUX_DIV_UPD_STAT;
  DividerStatus_38 = _15 & 1;
  # DEBUG DividerStatus => DividerStatus_38
  # DEBUG BEGIN_STMT
  TimeoutTicks.0_16 = TimeoutTicks;
  TimeoutOccurred_40 = Clock_Ip_TimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_16);
  # DEBUG TimeoutOccurred => TimeoutOccurred_40
  # DEBUG BEGIN_STMT
  if (DividerStatus_38 != 0)
    goto <bb 6>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 6> [local count: 1014686025]:
  if (TimeoutOccurred_40 == 0)
    goto <bb 13>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 13> [local count: 958878293]:
  goto <bb 5>; [100.00%]

  <bb 7> [local count: 114863532]:
  # _4 = PHI <_14(5), _14(6)>
  # TimeoutOccurred_5 = PHI <TimeoutOccurred_40(5), TimeoutOccurred_40(6)>
  # DEBUG BEGIN_STMT
  if (TimeoutOccurred_5 == 0)
    goto <bb 8>; [67.00%]
  else
    goto <bb 11>; [33.00%]

  <bb 8> [local count: 76958566]:
  # DEBUG BEGIN_STMT
  _17 = Config_27(D)->Value;
  if (_17 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 38479283]:
  # DEBUG BEGIN_STMT
  _18 ={v} _4->Divider[DividerIndex_30];
  _19 = _18 | 2147483648;
  _4->Divider[DividerIndex_30] ={v} _19;
  goto <bb 12>; [100.00%]

  <bb 10> [local count: 38479283]:
  # DEBUG BEGIN_STMT
  _20 ={v} _4->Divider[DividerIndex_30];
  _21 = _20 & 2147483647;
  _4->Divider[DividerIndex_30] ={v} _21;
  goto <bb 12>; [100.00%]

  <bb 11> [local count: 37904965]:
  # DEBUG BEGIN_STMT
  _22 = Config_27(D)->Name;
  Clock_Ip_ReportClockErrors (1, _22);

  <bb 12> [local count: 114863532]:
  StartTime ={v} {CLOBBER};
  ElapsedTime ={v} {CLOBBER};
  TimeoutTicks ={v} {CLOBBER};
  return;

}


Clock_Ip_Callback_DividerEmpty (const struct Clock_Ip_DividerConfigType * Config)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


