
Marking local functions:


Marking externally visible functions: Ram_Ip_InitRamSection


Marking externally visible variables:


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

Ram_Ip_InitRamSection/0 (Ram_Ip_InitRamSection) @06c531c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
Ram_Ip_InitRamSection (const struct Ram_Ip_RamConfigType * RamConfigPtr)
{
  Ram_Ip_RamSizeType RamCounterLimit;
  Ram_Ip_RamIndexType RamCounter;
  Ram_Ip_StatusType RamStatus;
  Ram_Ip_StatusType D.5723;

  <bb 2> :
  # DEBUG BEGIN_STMT
  RamStatus = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = RamConfigPtr->RamSize;
  _2 = (long unsigned int) _1;
  _3 = RamConfigPtr->RamWriteSize;
  RamCounterLimit = _2 / _3;
  # DEBUG BEGIN_STMT
  RamStatus = 0;
  # DEBUG BEGIN_STMT
  RamCounter = 0;
  # DEBUG BEGIN_STMT
  goto <bb 10>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _4 = RamConfigPtr->RamWriteSize;
  switch (_4) <default: <L5> [INV], case 1: <L1> [INV], case 2: <L2> [INV], case 4: <L3> [INV], case 8: <L4> [INV]>

  <bb 4> :
<L1>:
  # DEBUG BEGIN_STMT
  _5 = RamConfigPtr->RamDefaultValue;
  _6 = RamConfigPtr->RamBaseAddrPtr;
  _7 = (unsigned char) _5;
  *_6[RamCounter] = _7;
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 5> :
<L2>:
  # DEBUG BEGIN_STMT
  _8 = RamConfigPtr->RamDefaultValue;
  _9 = RamConfigPtr->RamBaseAddrPtr;
  _10 = (short unsigned int) _8;
  MEM[(uint16[1] *)_9][RamCounter] = _10;
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 6> :
<L3>:
  # DEBUG BEGIN_STMT
  _11 = RamConfigPtr->RamDefaultValue;
  _12 = RamConfigPtr->RamBaseAddrPtr;
  _13 = (long unsigned int) _11;
  MEM[(uint32[1] *)_12][RamCounter] = _13;
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 7> :
<L4>:
  # DEBUG BEGIN_STMT
  _14 = RamConfigPtr->RamBaseAddrPtr;
  _15 = RamConfigPtr->RamDefaultValue;
  MEM[(uint64[1] *)_14][RamCounter] = _15;
  # DEBUG BEGIN_STMT
  goto <bb 9>; [INV]

  <bb 8> :
<L5>:
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  # DEBUG BEGIN_STMT

  <bb 9> :
  # DEBUG BEGIN_STMT
  RamCounter = RamCounter + 1;

  <bb 10> :
  # DEBUG BEGIN_STMT
  if (RamCounter < RamCounterLimit)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  if (RamStatus == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  # DEBUG BEGIN_STMT
  if (RamStatus == 0)
    goto <bb 13>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 13> :
  # DEBUG BEGIN_STMT
  RamCounter = 0;
  # DEBUG BEGIN_STMT
  goto <bb 25>; [INV]

  <bb 14> :
  # DEBUG BEGIN_STMT
  _16 = RamConfigPtr->RamWriteSize;
  switch (_16) <default: <L24> [INV], case 1: <L12> [INV], case 2: <L15> [INV], case 4: <L18> [INV], case 8: <L21> [INV]>

  <bb 15> :
<L12>:
  # DEBUG BEGIN_STMT
  _17 = RamConfigPtr->RamDefaultValue;
  _18 = (unsigned char) _17;
  _19 = RamConfigPtr->RamBaseAddrPtr;
  _20 = *_19[RamCounter];
  if (_18 != _20)
    goto <bb 16>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 16> :
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  goto <bb 24>; [INV]

  <bb 17> :
<L15>:
  # DEBUG BEGIN_STMT
  _21 = RamConfigPtr->RamDefaultValue;
  _22 = (short unsigned int) _21;
  _23 = RamConfigPtr->RamBaseAddrPtr;
  _24 = MEM[(uint16[1] *)_23][RamCounter];
  if (_22 != _24)
    goto <bb 18>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 18> :
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  goto <bb 24>; [INV]

  <bb 19> :
<L18>:
  # DEBUG BEGIN_STMT
  _25 = RamConfigPtr->RamDefaultValue;
  _26 = (long unsigned int) _25;
  _27 = RamConfigPtr->RamBaseAddrPtr;
  _28 = MEM[(uint32[1] *)_27][RamCounter];
  if (_26 != _28)
    goto <bb 20>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 20> :
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  goto <bb 24>; [INV]

  <bb 21> :
<L21>:
  # DEBUG BEGIN_STMT
  _29 = RamConfigPtr->RamDefaultValue;
  _30 = RamConfigPtr->RamBaseAddrPtr;
  _31 = MEM[(uint64[1] *)_30][RamCounter];
  if (_29 != _31)
    goto <bb 22>; [INV]
  else
    goto <bb 24>; [INV]

  <bb 22> :
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  goto <bb 24>; [INV]

  <bb 23> :
<L24>:
  # DEBUG BEGIN_STMT
  RamStatus = 1;
  # DEBUG BEGIN_STMT

  <bb 24> :
  # DEBUG BEGIN_STMT
  RamCounter = RamCounter + 1;

  <bb 25> :
  # DEBUG BEGIN_STMT
  if (RamCounter < RamCounterLimit)
    goto <bb 26>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 26> :
  if (RamStatus == 0)
    goto <bb 14>; [INV]
  else
    goto <bb 27>; [INV]

  <bb 27> :
  # DEBUG BEGIN_STMT
  D.5723 = RamStatus;
  return D.5723;

}


