IPA function summary for uxListRemove/8 inlinable global time: 15.300000 self size: 17 global size: 17 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: IPA function summary for vListInsert/7 inlinable global time: 38.340000 self size: 20 global size: 20 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: IPA function summary for vListInsertEnd/6 inlinable global time: 13.000000 self size: 14 global size: 14 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: IPA function summary for vListInitialiseItem/5 inlinable global time: 3.000000 self size: 4 global size: 4 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: IPA function summary for vListInitialise/4 inlinable global time: 7.000000 self size: 8 global size: 8 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: Flattening functions: Overall time estimate: 76.640000 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in uxListRemove/8. Enqueueing calls in vListInsert/7. Enqueueing calls in vListInsertEnd/6. Enqueueing calls in vListInitialiseItem/5. Enqueueing calls in vListInitialise/4. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 76.640000 weighted by profile: 0.000000 Why inlining failed? IPA function summary for uxListRemove/8 inlinable global time: 15.300000 self size: 17 global size: 17 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: IPA function summary for vListInsert/7 inlinable global time: 38.340000 self size: 20 global size: 20 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: IPA function summary for vListInsertEnd/6 inlinable global time: 13.000000 self size: 14 global size: 14 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: IPA function summary for vListInitialiseItem/5 inlinable global time: 3.000000 self size: 4 global size: 4 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: IPA function summary for vListInitialise/4 inlinable global time: 7.000000 self size: 8 global size: 8 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) @06a23ee0 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) @06a23c40 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) @06a239a0 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) @06a23700 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) @06a23460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: ;; Function vListInitialise (vListInitialise, funcdef_no=4, decl_uid=5982, cgraph_uid=5, symbol_order=4) vListInitialise (struct List_t * const pxList) { struct MiniListItem_t * _1; [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; } ;; Function vListInitialiseItem (vListInitialiseItem, funcdef_no=5, decl_uid=5984, cgraph_uid=6, symbol_order=5) vListInitialiseItem (struct ListItem_t * const pxItem) { [local count: 1073741824]: # DEBUG BEGIN_STMT pxItem_2(D)->pvContainer = 0B; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } ;; Function vListInsertEnd (vListInsertEnd, funcdef_no=6, decl_uid=5990, cgraph_uid=7, symbol_order=6) 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; [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; } ;; Function vListInsert (vListInsert, funcdef_no=7, decl_uid=5987, cgraph_uid=8, symbol_order=7) 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; [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 ; [34.00%] else goto ; [66.00%] [local count: 60845370]: # DEBUG BEGIN_STMT pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious; # DEBUG pxIterator => pxIterator_13 goto ; [100.00%] [local count: 118111600]: # DEBUG BEGIN_STMT pxIterator_12 = &pxList_11(D)->xListEnd; # DEBUG pxIterator => pxIterator_12 [local count: 1073741824]: # pxIterator_6 = PHI # DEBUG pxIterator => pxIterator_6 # DEBUG BEGIN_STMT _1 = pxIterator_6->pxNext; _2 = _1->xItemValue; if (_2 <= xValueOfInsertion_10) goto ; [89.00%] else goto ; [11.00%] [local count: 955630223]: goto ; [100.00%] [local count: 178956970]: # pxIterator_7 = PHI # 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; } ;; Function uxListRemove (uxListRemove, funcdef_no=8, decl_uid=5992, cgraph_uid=9, symbol_order=8) 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; [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 ; [30.00%] else goto ; [70.00%] [local count: 322122547]: # DEBUG BEGIN_STMT pxList_9->pxIndex = _2; [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; }