@@ -892,8 +892,8 @@ class IDESolver
892892 for (n_t n : Values) {
893893 for (n_t SP : ICF->getStartPointsOf (ICF->getFunctionOf (n))) {
894894 using TableCell = typename Table<d_t , d_t , EdgeFunctionPtrType>::Cell;
895- Table<d_t , d_t , EdgeFunctionPtrType> LookupByTarget;
896- LookupByTarget = JumpFn->lookupByTarget (n);
895+ Table<d_t , d_t , EdgeFunctionPtrType> & LookupByTarget =
896+ JumpFn->lookupByTarget (n);
897897 for (const TableCell &SourceValTargetValAndFunction :
898898 LookupByTarget.cellSet ()) {
899899 d_t dPrime = SourceValTargetValAndFunction.getRowKey ();
@@ -1098,7 +1098,9 @@ class IDESolver
10981098 // return site using the composed function
10991099 auto RevLookupResult = JumpFn->reverseLookup (c, d4);
11001100 if (RevLookupResult) {
1101- for (const auto &ValAndFunc : RevLookupResult->get ()) {
1101+ llvm::SmallVector<std::pair<d_t , EdgeFunctionPtrType>, 2 > ResCopy (
1102+ RevLookupResult->get ().begin (), RevLookupResult->get ().end ());
1103+ for (const auto &ValAndFunc : ResCopy) {
11021104 EdgeFunctionPtrType f3 = ValAndFunc.second ;
11031105 if (!f3->equal_to (AllTop)) {
11041106 d_t d3 = ValAndFunc.first ;
0 commit comments