list.c.017i.build_ssa_passes 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. uxListRemove (struct ListItem_t * const pxItemToRemove)
  2. {
  3. struct List_t * const pxList;
  4. UBaseType_t D.6027;
  5. <bb 2> :
  6. # DEBUG BEGIN_STMT
  7. pxList = pxItemToRemove->pvContainer;
  8. # DEBUG BEGIN_STMT
  9. _1 = pxItemToRemove->pxNext;
  10. _2 = pxItemToRemove->pxPrevious;
  11. _1->pxPrevious = _2;
  12. # DEBUG BEGIN_STMT
  13. _3 = pxItemToRemove->pxPrevious;
  14. _4 = pxItemToRemove->pxNext;
  15. _3->pxNext = _4;
  16. # DEBUG BEGIN_STMT
  17. # DEBUG BEGIN_STMT
  18. _5 = pxList->pxIndex;
  19. if (pxItemToRemove == _5)
  20. goto <bb 3>; [INV]
  21. else
  22. goto <bb 4>; [INV]
  23. <bb 3> :
  24. # DEBUG BEGIN_STMT
  25. _6 = pxItemToRemove->pxPrevious;
  26. pxList->pxIndex = _6;
  27. <bb 4> :
  28. # DEBUG BEGIN_STMT
  29. # DEBUG BEGIN_STMT
  30. pxItemToRemove->pvContainer = 0B;
  31. # DEBUG BEGIN_STMT
  32. _7 = pxList->uxNumberOfItems;
  33. _8 = _7 + 4294967295;
  34. pxList->uxNumberOfItems = _8;
  35. # DEBUG BEGIN_STMT
  36. D.6027 = pxList->uxNumberOfItems;
  37. return D.6027;
  38. }
  39. vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  40. {
  41. const TickType_t xValueOfInsertion;
  42. struct ListItem_t * pxIterator;
  43. <bb 2> :
  44. # DEBUG BEGIN_STMT
  45. # DEBUG BEGIN_STMT
  46. xValueOfInsertion = pxNewListItem->xItemValue;
  47. # DEBUG BEGIN_STMT
  48. # DEBUG BEGIN_STMT
  49. # DEBUG BEGIN_STMT
  50. if (xValueOfInsertion == 4294967295)
  51. goto <bb 3>; [INV]
  52. else
  53. goto <bb 4>; [INV]
  54. <bb 3> :
  55. # DEBUG BEGIN_STMT
  56. pxIterator = pxList->xListEnd.pxPrevious;
  57. goto <bb 7>; [INV]
  58. <bb 4> :
  59. # DEBUG BEGIN_STMT
  60. pxIterator = &pxList->xListEnd;
  61. goto <bb 6>; [INV]
  62. <bb 5> :
  63. # DEBUG BEGIN_STMT
  64. # DEBUG BEGIN_STMT
  65. pxIterator = pxIterator->pxNext;
  66. <bb 6> :
  67. # DEBUG BEGIN_STMT
  68. _1 = pxIterator->pxNext;
  69. _2 = _1->xItemValue;
  70. if (xValueOfInsertion >= _2)
  71. goto <bb 5>; [INV]
  72. else
  73. goto <bb 7>; [INV]
  74. <bb 7> :
  75. # DEBUG BEGIN_STMT
  76. _3 = pxIterator->pxNext;
  77. pxNewListItem->pxNext = _3;
  78. # DEBUG BEGIN_STMT
  79. _4 = pxNewListItem->pxNext;
  80. _4->pxPrevious = pxNewListItem;
  81. # DEBUG BEGIN_STMT
  82. pxNewListItem->pxPrevious = pxIterator;
  83. # DEBUG BEGIN_STMT
  84. pxIterator->pxNext = pxNewListItem;
  85. # DEBUG BEGIN_STMT
  86. pxNewListItem->pvContainer = pxList;
  87. # DEBUG BEGIN_STMT
  88. _5 = pxList->uxNumberOfItems;
  89. _6 = _5 + 1;
  90. pxList->uxNumberOfItems = _6;
  91. return;
  92. }
  93. vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  94. {
  95. struct ListItem_t * const pxIndex;
  96. <bb 2> :
  97. # DEBUG BEGIN_STMT
  98. pxIndex = pxList->pxIndex;
  99. # DEBUG BEGIN_STMT
  100. # DEBUG BEGIN_STMT
  101. # DEBUG BEGIN_STMT
  102. pxNewListItem->pxNext = pxIndex;
  103. # DEBUG BEGIN_STMT
  104. _1 = pxIndex->pxPrevious;
  105. pxNewListItem->pxPrevious = _1;
  106. # DEBUG BEGIN_STMT
  107. # DEBUG BEGIN_STMT
  108. _2 = pxIndex->pxPrevious;
  109. _2->pxNext = pxNewListItem;
  110. # DEBUG BEGIN_STMT
  111. pxIndex->pxPrevious = pxNewListItem;
  112. # DEBUG BEGIN_STMT
  113. pxNewListItem->pvContainer = pxList;
  114. # DEBUG BEGIN_STMT
  115. _3 = pxList->uxNumberOfItems;
  116. _4 = _3 + 1;
  117. pxList->uxNumberOfItems = _4;
  118. return;
  119. }
  120. vListInitialiseItem (struct ListItem_t * const pxItem)
  121. {
  122. <bb 2> :
  123. # DEBUG BEGIN_STMT
  124. pxItem->pvContainer = 0B;
  125. # DEBUG BEGIN_STMT
  126. # DEBUG BEGIN_STMT
  127. return;
  128. }
  129. vListInitialise (struct List_t * const pxList)
  130. {
  131. <bb 2> :
  132. # DEBUG BEGIN_STMT
  133. _1 = &pxList->xListEnd;
  134. pxList->pxIndex = _1;
  135. # DEBUG BEGIN_STMT
  136. pxList->xListEnd.xItemValue = 4294967295;
  137. # DEBUG BEGIN_STMT
  138. _2 = &pxList->xListEnd;
  139. pxList->xListEnd.pxNext = _2;
  140. # DEBUG BEGIN_STMT
  141. _3 = &pxList->xListEnd;
  142. pxList->xListEnd.pxPrevious = _3;
  143. # DEBUG BEGIN_STMT
  144. pxList->uxNumberOfItems = 0;
  145. # DEBUG BEGIN_STMT
  146. # DEBUG BEGIN_STMT
  147. return;
  148. }