123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536 |
- local analysis of uxListRemove
- scanning: pxList_9 = pxItemToRemove_8(D)->pvContainer;
- Indirect ref read is not const
- scanning: _1 = pxItemToRemove_8(D)->pxNext;
- Indirect ref read is not const
- scanning: _2 = pxItemToRemove_8(D)->pxPrevious;
- Indirect ref read is not const
- scanning: _1->pxPrevious = _2;
- Indirect ref write is not const/pure
- scanning: _2->pxNext = _1;
- Indirect ref write is not const/pure
- scanning: _3 = pxList_9->pxIndex;
- Indirect ref read is not const
- scanning: if (_3 == pxItemToRemove_8(D))
- scanning: pxList_9->pxIndex = _2;
- Indirect ref write is not const/pure
- scanning: pxItemToRemove_8(D)->pvContainer = 0B;
- Indirect ref write is not const/pure
- scanning: _4 ={v} pxList_9->uxNumberOfItems;
- Volatile stmt is not const/pure
- Indirect ref read is not const
- scanning: _5 = _4 + 4294967295;
- scanning: pxList_9->uxNumberOfItems ={v} _5;
- Volatile stmt is not const/pure
- Indirect ref write is not const/pure
- scanning: _15 ={v} pxList_9->uxNumberOfItems;
- Volatile stmt is not const/pure
- Indirect ref read is not const
- scanning: return _15;
- local analysis of vListInsert
- scanning: xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
- Indirect ref read is not const
- scanning: if (xValueOfInsertion_10 == 4294967295)
- scanning: pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
- Indirect ref read is not const
- scanning: pxIterator_12 = &pxList_11(D)->xListEnd;
- scanning: _1 = pxIterator_6->pxNext;
- Indirect ref read is not const
- scanning: _2 = _1->xItemValue;
- Indirect ref read is not const
- scanning: if (_2 <= xValueOfInsertion_10)
- scanning: _3 = pxIterator_7->pxNext;
- Indirect ref read is not const
- scanning: pxNewListItem_9(D)->pxNext = _3;
- Indirect ref write is not const/pure
- scanning: _3->pxPrevious = pxNewListItem_9(D);
- Indirect ref write is not const/pure
- scanning: pxNewListItem_9(D)->pxPrevious = pxIterator_7;
- Indirect ref write is not const/pure
- scanning: pxIterator_7->pxNext = pxNewListItem_9(D);
- Indirect ref write is not const/pure
- scanning: pxNewListItem_9(D)->pvContainer = pxList_11(D);
- Indirect ref write is not const/pure
- scanning: _4 ={v} pxList_11(D)->uxNumberOfItems;
- Volatile stmt is not const/pure
- Indirect ref read is not const
- scanning: _5 = _4 + 1;
- scanning: pxList_11(D)->uxNumberOfItems ={v} _5;
- Volatile stmt is not const/pure
- Indirect ref write is not const/pure
- scanning: return;
- local analysis of vListInsertEnd
- scanning: pxIndex_7 = pxList_6(D)->pxIndex;
- Indirect ref read is not const
- scanning: pxNewListItem_8(D)->pxNext = pxIndex_7;
- Indirect ref write is not const/pure
- scanning: _1 = pxIndex_7->pxPrevious;
- Indirect ref read is not const
- scanning: pxNewListItem_8(D)->pxPrevious = _1;
- Indirect ref write is not const/pure
- scanning: _2 = pxIndex_7->pxPrevious;
- Indirect ref read is not const
- scanning: _2->pxNext = pxNewListItem_8(D);
- Indirect ref write is not const/pure
- scanning: pxIndex_7->pxPrevious = pxNewListItem_8(D);
- Indirect ref write is not const/pure
- scanning: pxNewListItem_8(D)->pvContainer = pxList_6(D);
- Indirect ref write is not const/pure
- scanning: _3 ={v} pxList_6(D)->uxNumberOfItems;
- Volatile stmt is not const/pure
- Indirect ref read is not const
- scanning: _4 = _3 + 1;
- scanning: pxList_6(D)->uxNumberOfItems ={v} _4;
- Volatile stmt is not const/pure
- Indirect ref write is not const/pure
- scanning: return;
- local analysis of vListInitialiseItem
- scanning: pxItem_2(D)->pvContainer = 0B;
- Indirect ref write is not const/pure
- scanning: return;
- local analysis of vListInitialise
- scanning: _1 = &pxList_2(D)->xListEnd;
- scanning: pxList_2(D)->pxIndex = _1;
- Indirect ref write is not const/pure
- scanning: pxList_2(D)->xListEnd.xItemValue = 4294967295;
- Indirect ref write is not const/pure
- scanning: pxList_2(D)->xListEnd.pxNext = _1;
- Indirect ref write is not const/pure
- scanning: pxList_2(D)->xListEnd.pxPrevious = _1;
- Indirect ref write is not const/pure
- scanning: pxList_2(D)->uxNumberOfItems ={v} 0;
- Volatile stmt is not const/pure
- Indirect ref write is not const/pure
- scanning: return;
- callgraph:
- uxListRemove/8 (uxListRemove) @05e53ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34778
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsert/7 (vListInsert) @05e53c40
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a344f8
- References:
- Referring:
- Availability: available
- Function flags: count:178956970 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsertEnd/6 (vListInsertEnd) @05e539a0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34618
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialiseItem/5 (vListInitialiseItem) @05e53700
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34638
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialise/4 (vListInitialise) @05e53460
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a347b8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- ordered call graph: reduced for nothrow
- uxListRemove/8 (uxListRemove) @05e53ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34778
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsert/7 (vListInsert) @05e53c40
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a344f8
- References:
- Referring:
- Availability: available
- Function flags: count:178956970 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsertEnd/6 (vListInsertEnd) @05e539a0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34618
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialiseItem/5 (vListInitialiseItem) @05e53700
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34638
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialise/4 (vListInitialise) @05e53460
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a347b8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- MALLOC LATTICE Initial:
- uxListRemove: malloc_bottom
- vListInsert: malloc_bottom
- vListInsertEnd: malloc_bottom
- vListInitialiseItem: malloc_bottom
- vListInitialise: malloc_bottom
- MALLOC LATTICE after propagation:
- uxListRemove: malloc_bottom
- vListInsert: malloc_bottom
- vListInsertEnd: malloc_bottom
- vListInitialiseItem: malloc_bottom
- vListInitialise: malloc_bottom
- callgraph:
- uxListRemove/8 (uxListRemove) @05e53ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34618
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsert/7 (vListInsert) @05e53c40
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a344d8
- References:
- Referring:
- Availability: available
- Function flags: count:178956970 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsertEnd/6 (vListInsertEnd) @05e539a0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a343f8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialiseItem/5 (vListInitialiseItem) @05e53700
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a346f8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialise/4 (vListInitialise) @05e53460
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34638
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- ordered call graph: reduced
- uxListRemove/8 (uxListRemove) @05e53ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34618
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsert/7 (vListInsert) @05e53c40
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a344d8
- References:
- Referring:
- Availability: available
- Function flags: count:178956970 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInsertEnd/6 (vListInsertEnd) @05e539a0
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a343f8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialiseItem/5 (vListInitialiseItem) @05e53700
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a346f8
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vListInitialise/4 (vListInitialise) @05e53460
- Type: function definition analyzed
- Visibility: externally_visible public
- Aux: @05a34638
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- Function found not to call free: vListInitialise
- Function found not to call free: vListInitialiseItem
- Function found not to call free: vListInsertEnd
- Function found not to call free: vListInsert
- Function found not to call free: uxListRemove
- 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;
- }
|