
Analyzing function: uxListRemove/8
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }

Analyzing function body size: uxListRemove

IPA function summary for uxListRemove/8 inlinable
  global time:     15.300000
  self size:       17
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:10.500000, time:9.800000
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
  calls:


Analyzing function: vListInsert/7
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 7 6
;;
;; Loop 1
;;  header 5, latch 7
;;  depth 1, outer 0
;;  nodes: 5 7
;; 2 succs { 3 4 }
;; 3 succs { 6 }
;; 4 succs { 5 }
;; 5 succs { 7 6 }
;; 7 succs { 5 }
;; 6 succs { 1 }

Analyzing function body size: vListInsert

IPA function summary for vListInsert/7 inlinable
  global time:     38.340000
  self size:       20
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.000000, time:5.000000
    size:5.000000, time:4.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
  calls:


Analyzing function: vListInsertEnd/6
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vListInsertEnd

IPA function summary for vListInsertEnd/6 inlinable
  global time:     13.000000
  self size:       14
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:6.000000, time:6.000000
    size:5.000000, time:4.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
  calls:


Analyzing function: vListInitialiseItem/5
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vListInitialiseItem

IPA function summary for vListInitialiseItem/5 inlinable
  global time:     3.000000
  self size:       4
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
  calls:


Analyzing function: vListInitialise/4
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vListInitialise

IPA function summary for vListInitialise/4 inlinable
  global time:     7.000000
  self size:       8
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:2.500000, time:2.500000
    size:5.500000, time:4.500000,  executed if:(not inlined)
  calls:

Symbol table:

uxListRemove/8 (uxListRemove) @05e3bee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vListInsert/7 (vListInsert) @05e3bc40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:178956970 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vListInsertEnd/6 (vListInsertEnd) @05e3b9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vListInitialiseItem/5 (vListInitialiseItem) @05e3b700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vListInitialise/4 (vListInitialise) @05e3b460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxListRemove (struct ListItem_t * const pxItemToRemove)
{
  struct List_t * const pxList;
  struct xLIST_ITEM * _1;
  struct xLIST_ITEM * _2;
  struct ListItem_t * _3;
  long unsigned int _4;
  long unsigned int _5;
  UBaseType_t _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxList_9 = pxItemToRemove_8(D)->pvContainer;
  # DEBUG pxList => pxList_9
  # DEBUG BEGIN_STMT
  _1 = pxItemToRemove_8(D)->pxNext;
  _2 = pxItemToRemove_8(D)->pxPrevious;
  _1->pxPrevious = _2;
  # DEBUG BEGIN_STMT
  _2->pxNext = _1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = pxList_9->pxIndex;
  if (_3 == pxItemToRemove_8(D))
    goto <bb 3>; [30.00%]
  else
    goto <bb 4>; [70.00%]

  <bb 3> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  pxList_9->pxIndex = _2;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxItemToRemove_8(D)->pvContainer = 0B;
  # DEBUG BEGIN_STMT
  _4 ={v} pxList_9->uxNumberOfItems;
  _5 = _4 + 4294967295;
  pxList_9->uxNumberOfItems ={v} _5;
  # DEBUG BEGIN_STMT
  _15 ={v} pxList_9->uxNumberOfItems;
  return _15;

}


vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
{
  const TickType_t xValueOfInsertion;
  struct ListItem_t * pxIterator;
  struct xLIST_ITEM * _1;
  long unsigned int _2;
  struct xLIST_ITEM * _3;
  long unsigned int _4;
  long unsigned int _5;

  <bb 2> [local count: 178956970]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
  # DEBUG xValueOfInsertion => xValueOfInsertion_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xValueOfInsertion_10 == 4294967295)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 60845370]:
  # DEBUG BEGIN_STMT
  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
  # DEBUG pxIterator => pxIterator_13
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  pxIterator_12 = &pxList_11(D)->xListEnd;
  # DEBUG pxIterator => pxIterator_12

  <bb 5> [local count: 1073741824]:
  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
  # DEBUG pxIterator => pxIterator_6
  # DEBUG BEGIN_STMT
  _1 = pxIterator_6->pxNext;
  _2 = _1->xItemValue;
  if (_2 <= xValueOfInsertion_10)
    goto <bb 7>; [89.00%]
  else
    goto <bb 6>; [11.00%]

  <bb 7> [local count: 955630223]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 178956970]:
  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
  # DEBUG pxIterator => pxIterator_7
  # DEBUG BEGIN_STMT
  _3 = pxIterator_7->pxNext;
  pxNewListItem_9(D)->pxNext = _3;
  # DEBUG BEGIN_STMT
  _3->pxPrevious = pxNewListItem_9(D);
  # DEBUG BEGIN_STMT
  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
  # DEBUG BEGIN_STMT
  pxIterator_7->pxNext = pxNewListItem_9(D);
  # DEBUG BEGIN_STMT
  pxNewListItem_9(D)->pvContainer = pxList_11(D);
  # DEBUG BEGIN_STMT
  _4 ={v} pxList_11(D)->uxNumberOfItems;
  _5 = _4 + 1;
  pxList_11(D)->uxNumberOfItems ={v} _5;
  return;

}


vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
{
  struct ListItem_t * const pxIndex;
  struct xLIST_ITEM * _1;
  struct xLIST_ITEM * _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxIndex_7 = pxList_6(D)->pxIndex;
  # DEBUG pxIndex => pxIndex_7
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxNewListItem_8(D)->pxNext = pxIndex_7;
  # DEBUG BEGIN_STMT
  _1 = pxIndex_7->pxPrevious;
  pxNewListItem_8(D)->pxPrevious = _1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = pxIndex_7->pxPrevious;
  _2->pxNext = pxNewListItem_8(D);
  # DEBUG BEGIN_STMT
  pxIndex_7->pxPrevious = pxNewListItem_8(D);
  # DEBUG BEGIN_STMT
  pxNewListItem_8(D)->pvContainer = pxList_6(D);
  # DEBUG BEGIN_STMT
  _3 ={v} pxList_6(D)->uxNumberOfItems;
  _4 = _3 + 1;
  pxList_6(D)->uxNumberOfItems ={v} _4;
  return;

}


vListInitialiseItem (struct ListItem_t * const pxItem)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxItem_2(D)->pvContainer = 0B;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


vListInitialise (struct List_t * const pxList)
{
  struct MiniListItem_t * _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = &pxList_2(D)->xListEnd;
  pxList_2(D)->pxIndex = _1;
  # DEBUG BEGIN_STMT
  pxList_2(D)->xListEnd.xItemValue = 4294967295;
  # DEBUG BEGIN_STMT
  pxList_2(D)->xListEnd.pxNext = _1;
  # DEBUG BEGIN_STMT
  pxList_2(D)->xListEnd.pxPrevious = _1;
  # DEBUG BEGIN_STMT
  pxList_2(D)->uxNumberOfItems ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


