list.c.070i.icf 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. Parsed function:uxListRemove
  2. Parsed function:vListInsert
  3. Parsed function:vListInsertEnd
  4. Parsed function:vListInitialiseItem
  5. Parsed function:vListInitialise
  6. Dump after hash based groups
  7. Congruence classes: 5 (unique hash values: 5), with total: 5 items
  8. Class size histogram [num of members]: number of classe number of classess
  9. [1]: 5 classes
  10. Dump after WPA based types groups
  11. Congruence classes: 5 (unique hash values: 5), with total: 5 items
  12. Class size histogram [num of members]: number of classe number of classess
  13. [1]: 5 classes
  14. Worklist has been filled with: 0
  15. Address reference subdivision created: 0 new classes.
  16. Dump after callgraph-based congruence reduction
  17. Congruence classes: 5 (unique hash values: 5), with total: 5 items
  18. Class size histogram [num of members]: number of classe number of classess
  19. [1]: 5 classes
  20. Init called for 0 items (0.00%).
  21. Dump after full equality comparison of groups
  22. Congruence classes: 5 (unique hash values: 5), with total: 5 items
  23. Class size histogram [num of members]: number of classe number of classess
  24. [1]: 5 classes
  25. Worklist has been filled with: 0
  26. Address reference subdivision created: 0 new classes.
  27. Congruence classes: 5 (unique hash values: 5), with total: 5 items
  28. Class size histogram [num of members]: number of classe number of classess
  29. [1]: 5 classes
  30. Item count: 5
  31. Congruent classes before: 5, after: 5
  32. Average class size before: 1.00, after: 1.00
  33. Average non-singular class size: 0.00, count: 0
  34. Equal symbols: 0
  35. Fraction of visited symbols: 0.00%
  36. uxListRemove (struct ListItem_t * const pxItemToRemove)
  37. {
  38. struct List_t * const pxList;
  39. struct xLIST_ITEM * _1;
  40. struct xLIST_ITEM * _2;
  41. struct ListItem_t * _3;
  42. long unsigned int _4;
  43. long unsigned int _5;
  44. UBaseType_t _15;
  45. <bb 2> [local count: 1073741824]:
  46. # DEBUG BEGIN_STMT
  47. pxList_9 = pxItemToRemove_8(D)->pvContainer;
  48. # DEBUG pxList => pxList_9
  49. # DEBUG BEGIN_STMT
  50. _1 = pxItemToRemove_8(D)->pxNext;
  51. _2 = pxItemToRemove_8(D)->pxPrevious;
  52. _1->pxPrevious = _2;
  53. # DEBUG BEGIN_STMT
  54. _2->pxNext = _1;
  55. # DEBUG BEGIN_STMT
  56. # DEBUG BEGIN_STMT
  57. _3 = pxList_9->pxIndex;
  58. if (_3 == pxItemToRemove_8(D))
  59. goto <bb 3>; [30.00%]
  60. else
  61. goto <bb 4>; [70.00%]
  62. <bb 3> [local count: 322122547]:
  63. # DEBUG BEGIN_STMT
  64. pxList_9->pxIndex = _2;
  65. <bb 4> [local count: 1073741824]:
  66. # DEBUG BEGIN_STMT
  67. # DEBUG BEGIN_STMT
  68. pxItemToRemove_8(D)->pvContainer = 0B;
  69. # DEBUG BEGIN_STMT
  70. _4 ={v} pxList_9->uxNumberOfItems;
  71. _5 = _4 + 4294967295;
  72. pxList_9->uxNumberOfItems ={v} _5;
  73. # DEBUG BEGIN_STMT
  74. _15 ={v} pxList_9->uxNumberOfItems;
  75. return _15;
  76. }
  77. vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  78. {
  79. const TickType_t xValueOfInsertion;
  80. struct ListItem_t * pxIterator;
  81. struct xLIST_ITEM * _1;
  82. long unsigned int _2;
  83. struct xLIST_ITEM * _3;
  84. long unsigned int _4;
  85. long unsigned int _5;
  86. <bb 2> [local count: 178956970]:
  87. # DEBUG BEGIN_STMT
  88. # DEBUG BEGIN_STMT
  89. xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
  90. # DEBUG xValueOfInsertion => xValueOfInsertion_10
  91. # DEBUG BEGIN_STMT
  92. # DEBUG BEGIN_STMT
  93. # DEBUG BEGIN_STMT
  94. if (xValueOfInsertion_10 == 4294967295)
  95. goto <bb 3>; [34.00%]
  96. else
  97. goto <bb 4>; [66.00%]
  98. <bb 3> [local count: 60845370]:
  99. # DEBUG BEGIN_STMT
  100. pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
  101. # DEBUG pxIterator => pxIterator_13
  102. goto <bb 6>; [100.00%]
  103. <bb 4> [local count: 118111600]:
  104. # DEBUG BEGIN_STMT
  105. pxIterator_12 = &pxList_11(D)->xListEnd;
  106. # DEBUG pxIterator => pxIterator_12
  107. <bb 5> [local count: 1073741824]:
  108. # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
  109. # DEBUG pxIterator => pxIterator_6
  110. # DEBUG BEGIN_STMT
  111. _1 = pxIterator_6->pxNext;
  112. _2 = _1->xItemValue;
  113. if (_2 <= xValueOfInsertion_10)
  114. goto <bb 7>; [89.00%]
  115. else
  116. goto <bb 6>; [11.00%]
  117. <bb 7> [local count: 955630223]:
  118. goto <bb 5>; [100.00%]
  119. <bb 6> [local count: 178956970]:
  120. # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
  121. # DEBUG pxIterator => pxIterator_7
  122. # DEBUG BEGIN_STMT
  123. _3 = pxIterator_7->pxNext;
  124. pxNewListItem_9(D)->pxNext = _3;
  125. # DEBUG BEGIN_STMT
  126. _3->pxPrevious = pxNewListItem_9(D);
  127. # DEBUG BEGIN_STMT
  128. pxNewListItem_9(D)->pxPrevious = pxIterator_7;
  129. # DEBUG BEGIN_STMT
  130. pxIterator_7->pxNext = pxNewListItem_9(D);
  131. # DEBUG BEGIN_STMT
  132. pxNewListItem_9(D)->pvContainer = pxList_11(D);
  133. # DEBUG BEGIN_STMT
  134. _4 ={v} pxList_11(D)->uxNumberOfItems;
  135. _5 = _4 + 1;
  136. pxList_11(D)->uxNumberOfItems ={v} _5;
  137. return;
  138. }
  139. vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  140. {
  141. struct ListItem_t * const pxIndex;
  142. struct xLIST_ITEM * _1;
  143. struct xLIST_ITEM * _2;
  144. long unsigned int _3;
  145. long unsigned int _4;
  146. <bb 2> [local count: 1073741824]:
  147. # DEBUG BEGIN_STMT
  148. pxIndex_7 = pxList_6(D)->pxIndex;
  149. # DEBUG pxIndex => pxIndex_7
  150. # DEBUG BEGIN_STMT
  151. # DEBUG BEGIN_STMT
  152. # DEBUG BEGIN_STMT
  153. pxNewListItem_8(D)->pxNext = pxIndex_7;
  154. # DEBUG BEGIN_STMT
  155. _1 = pxIndex_7->pxPrevious;
  156. pxNewListItem_8(D)->pxPrevious = _1;
  157. # DEBUG BEGIN_STMT
  158. # DEBUG BEGIN_STMT
  159. _2 = pxIndex_7->pxPrevious;
  160. _2->pxNext = pxNewListItem_8(D);
  161. # DEBUG BEGIN_STMT
  162. pxIndex_7->pxPrevious = pxNewListItem_8(D);
  163. # DEBUG BEGIN_STMT
  164. pxNewListItem_8(D)->pvContainer = pxList_6(D);
  165. # DEBUG BEGIN_STMT
  166. _3 ={v} pxList_6(D)->uxNumberOfItems;
  167. _4 = _3 + 1;
  168. pxList_6(D)->uxNumberOfItems ={v} _4;
  169. return;
  170. }
  171. vListInitialiseItem (struct ListItem_t * const pxItem)
  172. {
  173. <bb 2> [local count: 1073741824]:
  174. # DEBUG BEGIN_STMT
  175. pxItem_2(D)->pvContainer = 0B;
  176. # DEBUG BEGIN_STMT
  177. # DEBUG BEGIN_STMT
  178. return;
  179. }
  180. vListInitialise (struct List_t * const pxList)
  181. {
  182. struct MiniListItem_t * _1;
  183. <bb 2> [local count: 1073741824]:
  184. # DEBUG BEGIN_STMT
  185. _1 = &pxList_2(D)->xListEnd;
  186. pxList_2(D)->pxIndex = _1;
  187. # DEBUG BEGIN_STMT
  188. pxList_2(D)->xListEnd.xItemValue = 4294967295;
  189. # DEBUG BEGIN_STMT
  190. pxList_2(D)->xListEnd.pxNext = _1;
  191. # DEBUG BEGIN_STMT
  192. pxList_2(D)->xListEnd.pxPrevious = _1;
  193. # DEBUG BEGIN_STMT
  194. pxList_2(D)->uxNumberOfItems ={v} 0;
  195. # DEBUG BEGIN_STMT
  196. # DEBUG BEGIN_STMT
  197. return;
  198. }