
Marking local functions: OsIf_Timer_System_Internal_GetElapsed OsIf_Timer_System_Internal_Init


Marking externally visible functions: OsIf_Timer_System_MicrosToTicks OsIf_Timer_System_SetTimerFrequency OsIf_Timer_System_GetElapsed OsIf_Timer_System_GetCounter OsIf_Timer_System_Init


Marking externally visible variables:

Clearing variable flags: OsIf_au32InternalFrequencies (non-addressable) OsIf_apxInternalCfg (non-addressable) OsIf_abMdlInit (non-addressable)

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

OsIf_apxPredefinedConfig/12 (OsIf_apxPredefinedConfig) @06ac33f0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: OsIf_Timer_System_Init/7 (read)
  Availability: not_available
  Varpool flags: read-only
OsIf_Timer_System_MicrosToTicks/11 (OsIf_Timer_System_MicrosToTicks) @06ac1460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: OsIf_abMdlInit/4 (read)OsIf_apxInternalCfg/5 (read)OsIf_au32InternalFrequencies/6 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: 
OsIf_Timer_System_SetTimerFrequency/10 (OsIf_Timer_System_SetTimerFrequency) @06ac11c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: OsIf_abMdlInit/4 (read)OsIf_apxInternalCfg/5 (read)OsIf_au32InternalFrequencies/6 (write)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: 
OsIf_Timer_System_GetElapsed/9 (OsIf_Timer_System_GetElapsed) @06abee00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: OsIf_abMdlInit/4 (read)OsIf_apxInternalCfg/5 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: OsIf_Timer_System_Internal_GetElapsed/3 (114826 (estimated locally),0.27 per call) 
OsIf_Timer_System_GetCounter/8 (OsIf_Timer_System_GetCounter) @06abe9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: OsIf_abMdlInit/4 (read)OsIf_apxInternalCfg/5 (read)
  Referring: 
  Availability: available
  Function flags: count:429496 (estimated locally) body optimize_size
  Called by: 
  Calls: 
OsIf_Timer_System_Init/7 (OsIf_Timer_System_Init) @06abed20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: OsIf_apxPredefinedConfig/12 (read)OsIf_abMdlInit/4 (write)OsIf_apxInternalCfg/5 (write)OsIf_au32InternalFrequencies/6 (write)
  Referring: 
  Availability: available
  Function flags: count:461526 (estimated locally) body optimize_size
  Called by: 
  Calls: OsIf_Timer_System_Internal_Init/1 (354152 (estimated locally),0.77 per call) 
OsIf_au32InternalFrequencies/6 (OsIf_au32InternalFrequencies) @06a5fab0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: OsIf_Timer_System_Init/7 (write)OsIf_Timer_System_SetTimerFrequency/10 (write)OsIf_Timer_System_MicrosToTicks/11 (read)
  Availability: available
  Varpool flags:
OsIf_apxInternalCfg/5 (OsIf_apxInternalCfg) @06a5fa20
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: OsIf_Timer_System_GetCounter/8 (read)OsIf_Timer_System_GetElapsed/9 (read)OsIf_Timer_System_SetTimerFrequency/10 (read)OsIf_Timer_System_Init/7 (write)OsIf_Timer_System_MicrosToTicks/11 (read)
  Availability: available
  Varpool flags:
OsIf_abMdlInit/4 (OsIf_abMdlInit) @06a5f990
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: OsIf_Timer_System_GetElapsed/9 (read)OsIf_Timer_System_SetTimerFrequency/10 (read)OsIf_Timer_System_Init/7 (write)OsIf_Timer_System_GetCounter/8 (read)OsIf_Timer_System_MicrosToTicks/11 (read)
  Availability: available
  Varpool flags:
OsIf_Timer_System_Internal_GetElapsed/3 (OsIf_Timer_System_Internal_GetElapsed) @06a61ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: OsIf_Timer_System_GetElapsed/9 (114826 (estimated locally),0.27 per call) 
  Calls: 
OsIf_Timer_System_Internal_Init/1 (OsIf_Timer_System_Internal_Init) @06a619a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: OsIf_Timer_System_Init/7 (354152 (estimated locally),0.77 per call) 
  Calls: 
OsIf_Timer_System_MicrosToTicks (uint32 Micros)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  uint32 ticks;
  uint64 interim;
  _Bool _1;
  const struct OsIf_ConfigType * _2;
  long long unsigned int _3;
  long unsigned int _4;
  long long unsigned int _5;
  _Bool _6;
  _Bool x.0_14;
  _Bool x.0_15;
  _Bool x.0_16;

  <bb 2> [local count: 429496]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ticks => 0
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = OsIf_abMdlInit[0];
  if (_1 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_14 ={v} x;
  if (x.0_14 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 107374]:

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _2 = OsIf_apxInternalCfg[0];
  if (_2 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_15 ={v} x;
  if (x.0_15 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 13> [local count: 32212]:

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 322122547]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 150324]:
  # DEBUG BEGIN_STMT
  _3 = (long long unsigned int) Micros_10(D);
  _4 = OsIf_au32InternalFrequencies[0];
  _5 = (long long unsigned int) _4;
  interim_11 = _3 * _5;
  # DEBUG interim => interim_11
  # DEBUG BEGIN_STMT
  interim_12 = interim_11 / 1000000;
  # DEBUG interim => interim_12
  # DEBUG BEGIN_STMT
  _6 = interim_11 <= 4294967295999999;
  x ={v} _6;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_16 ={v} x;
  if (x.0_16 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 75162]:

  <bb 9> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 751619279]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 75162]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  ticks_13 = (uint32) interim_12;
  # DEBUG ticks => ticks_13

  <bb 11> [local count: 214748]:
  # ticks_7 = PHI <0(3), 0(6), ticks_13(10)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG ticks => ticks_7
  # DEBUG BEGIN_STMT
  return ticks_7;

}


OsIf_Timer_System_SetTimerFrequency (uint32 Freq)
{
  volatile boolean x;
  volatile boolean x;
  _Bool _1;
  const struct OsIf_ConfigType * _2;
  _Bool x.0_7;
  _Bool x.0_8;

  <bb 2> [local count: 429496]:
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = OsIf_abMdlInit[0];
  if (_1 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_7 ={v} x;
  if (x.0_7 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 107374]:

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _2 = OsIf_apxInternalCfg[0];
  if (_2 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_8 ={v} x;
  if (x.0_8 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 32212]:

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 322122547]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 150324]:
  # DEBUG BEGIN_STMT
  OsIf_au32InternalFrequencies[0] = Freq_5(D);

  <bb 9> [local count: 289910]:
  # DEBUG x => NULL
  # DEBUG x => NULL
  return;

}


OsIf_Timer_System_GetElapsed (uint32 * const CurrentRef)
{
  volatile boolean x;
  volatile boolean x;
  uint32 Elapsed;
  _Bool _1;
  const struct OsIf_ConfigType * _2;
  _Bool x.0_9;
  _Bool x.0_10;

  <bb 2> [local count: 429496]:
  # DEBUG BEGIN_STMT
  # DEBUG Elapsed => 0
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = OsIf_abMdlInit[0];
  if (_1 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_9 ={v} x;
  if (x.0_9 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 107374]:

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _2 = OsIf_apxInternalCfg[0];
  if (_2 == 0B)
    goto <bb 6>; [46.53%]
  else
    goto <bb 8>; [53.47%]

  <bb 6> [local count: 99922]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_10 ={v} x;
  if (x.0_10 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 49961]:

  <bb 7> [local count: 499612071]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 499612071]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 114826]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Elapsed_8 = OsIf_Timer_System_Internal_GetElapsed (CurrentRef_6(D));
  # DEBUG Elapsed => Elapsed_8

  <bb 9> [local count: 272161]:
  # Elapsed_3 = PHI <0(3), 0(6), Elapsed_8(8)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG Elapsed => Elapsed_3
  # DEBUG BEGIN_STMT
  return Elapsed_3;

}


OsIf_Timer_System_GetCounter ()
{
  volatile boolean x;
  volatile boolean x;
  uint32 Counter;
  _Bool _1;
  const struct OsIf_ConfigType * _2;
  _Bool x.0_6;
  _Bool x.0_7;
  long unsigned int _8;
  long unsigned int _9;

  <bb 2> [local count: 429496]:
  # DEBUG BEGIN_STMT
  # DEBUG Counter => 0
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = OsIf_abMdlInit[0];
  if (_1 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_6 ={v} x;
  if (x.0_6 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 107374]:

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _2 = OsIf_apxInternalCfg[0];
  if (_2 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 64424]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_7 ={v} x;
  if (x.0_7 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 32212]:

  <bb 7> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 322122547]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 150324]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY OsIf_Timer_System_Internal_GetCounter
  # DEBUG BEGIN_STMT
  _8 ={v} MEM[(struct S32_SysTick_Type *)3758153744B].CVR;
  _9 = _8 & 16777215;
  # DEBUG Counter => _9

  <bb 9> [local count: 289910]:
  # Counter_3 = PHI <0(3), 0(6), _9(8)>
  # DEBUG x => NULL
  # DEBUG x => NULL
  # DEBUG Counter => Counter_3
  # DEBUG BEGIN_STMT
  return Counter_3;

}


OsIf_Timer_System_Init ()
{
  volatile boolean x;
  const struct OsIf_ConfigType * _1;
  long unsigned int _2;
  _Bool x.0_9;

  <bb 2> [local count: 461526]:
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _1 = OsIf_apxPredefinedConfig[0];
  if (_1 == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  x ={v} 0;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.0_9 ={v} x;
  if (x.0_9 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 107374]:

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 354152]:
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  OsIf_abMdlInit[0] = 1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  OsIf_apxInternalCfg[0] = _1;
  # DEBUG BEGIN_STMT
  _2 = _1->counterFrequency;
  OsIf_au32InternalFrequencies[0] = _2;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  OsIf_Timer_System_Internal_Init ();
  return;

}


OsIf_Timer_System_Internal_GetElapsed (uint32 * const CurrentRef)
{
  uint32 dif;
  uint32 CurrentVal;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct S32_SysTick_Type *)3758153744B].CVR;
  CurrentVal_7 = _1 & 16777215;
  # DEBUG CurrentVal => CurrentVal_7
  # DEBUG BEGIN_STMT
  # DEBUG dif => 0
  # DEBUG BEGIN_STMT
  _2 = *CurrentRef_8(D);
  if (_2 < CurrentVal_7)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(struct S32_SysTick_Type *)3758153744B].RVR;
  _4 = _2 - CurrentVal_7;
  dif_10 = _3 + _4;
  # DEBUG dif => dif_10
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  dif_9 = _2 - CurrentVal_7;
  # DEBUG dif => dif_9

  <bb 5> [local count: 1073741824]:
  # dif_5 = PHI <dif_10(3), dif_9(4)>
  # DEBUG dif => dif_5
  # DEBUG BEGIN_STMT
  *CurrentRef_8(D) = CurrentVal_7;
  # DEBUG BEGIN_STMT
  return dif_5;

}


OsIf_Timer_System_Internal_Init ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SysTick_Type *)3758153744B].CSRr ={v} 0;
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SysTick_Type *)3758153744B].RVR ={v} 16777215;
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SysTick_Type *)3758153744B].CVR ={v} 0;
  # DEBUG BEGIN_STMT
  MEM[(struct S32_SysTick_Type *)3758153744B].CSRr ={v} 5;
  return;

}


