Lines Matching defs:FoldList
109 bool tryAddToFoldList(SmallVectorImpl<FoldCandidate> &FoldList,
119 SmallVectorImpl<FoldCandidate> &FoldList) const;
123 SmallVectorImpl<FoldCandidate> &FoldList,
571 static bool isUseMIInFoldList(ArrayRef<FoldCandidate> FoldList,
573 return any_of(FoldList, [&](const auto &C) { return C.UseMI == MI; });
576 static void appendFoldCandidate(SmallVectorImpl<FoldCandidate> &FoldList,
581 for (FoldCandidate &Fold : FoldList)
586 FoldList.emplace_back(MI, OpNo, FoldOp, Commuted, ShrinkOp);
590 SmallVectorImpl<FoldCandidate> &FoldList, MachineInstr *MI, unsigned OpNo,
604 tryAddToFoldList(FoldList, MI, TryAK ? 3 : 2, OpToFold);
645 bool FoldAsMAD = tryAddToFoldList(FoldList, MI, OpNo, OpToFold);
671 appendFoldCandidate(FoldList, MI, OpNo, OpToFold);
679 if (isUseMIInFoldList(FoldList, MI))
722 appendFoldCandidate(FoldList, MI, CommuteOpNo, OpToFold, true, Op32);
766 appendFoldCandidate(FoldList, MI, OpNo, OpToFold);
813 SmallVectorImpl<FoldCandidate> &FoldList) const {
835 if (isUseMIInFoldList(FoldList, UseMI))
873 appendFoldCandidate(FoldList, UseMI, UseOpIdx, Defs[0].first);
879 SmallVectorImpl<FoldCandidate> &FoldList,
906 RSUseMI->getOperandNo(RSUse), FoldList))
912 foldOperand(OpToFold, RSUseMI, RSUseMI->getOperandNo(RSUse), FoldList,
918 if (tryToFoldACImm(OpToFold, UseMI, UseOpIdx, FoldList))
1176 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold);
1205 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &ImmOp);
1209 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold);
1484 SmallVector<FoldCandidate, 4> FoldList;
1511 foldOperand(OpToFold, UseMI, UseMI->getOperandNo(U), FoldList,
1515 if (CopiesToReplace.empty() && FoldList.empty())
1523 for (FoldCandidate &Fold : FoldList) {