Lines Matching refs:FoldList

87   bool tryAddToFoldList(SmallVectorImpl<FoldCandidate> &FoldList,
97 SmallVectorImpl<FoldCandidate> &FoldList) const;
101 SmallVectorImpl<FoldCandidate> &FoldList,
447 static bool isUseMIInFoldList(ArrayRef<FoldCandidate> FoldList, in isUseMIInFoldList() argument
449 return any_of(FoldList, [&](const auto &C) { return C.UseMI == MI; }); in isUseMIInFoldList()
452 static void appendFoldCandidate(SmallVectorImpl<FoldCandidate> &FoldList, in appendFoldCandidate() argument
457 for (FoldCandidate &Fold : FoldList) in appendFoldCandidate()
462 FoldList.emplace_back(MI, OpNo, FoldOp, Commuted, ShrinkOp); in appendFoldCandidate()
465 bool SIFoldOperands::tryAddToFoldList(SmallVectorImpl<FoldCandidate> &FoldList, in tryAddToFoldList() argument
480 tryAddToFoldList(FoldList, MI, TryAK ? 3 : 2, OpToFold); in tryAddToFoldList()
521 bool FoldAsMAD = tryAddToFoldList(FoldList, MI, OpNo, OpToFold); in tryAddToFoldList()
547 appendFoldCandidate(FoldList, MI, OpNo, OpToFold); in tryAddToFoldList()
555 if (isUseMIInFoldList(FoldList, MI)) in tryAddToFoldList()
598 appendFoldCandidate(FoldList, MI, CommuteOpNo, OpToFold, true, Op32); in tryAddToFoldList()
642 appendFoldCandidate(FoldList, MI, OpNo, OpToFold); in tryAddToFoldList()
689 SmallVectorImpl<FoldCandidate> &FoldList) const { in tryToFoldACImm()
711 if (isUseMIInFoldList(FoldList, UseMI)) in tryToFoldACImm()
749 appendFoldCandidate(FoldList, UseMI, UseOpIdx, Defs[0].first); in tryToFoldACImm()
757 SmallVectorImpl<FoldCandidate> &FoldList, in foldOperand() argument
780 RSUseMI->getOperandNo(&RSUse), FoldList)) in foldOperand()
786 foldOperand(OpToFold, RSUseMI, RSUseMI->getOperandNo(&RSUse), FoldList, in foldOperand()
793 if (tryToFoldACImm(OpToFold, UseMI, UseOpIdx, FoldList)) in foldOperand()
1051 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold); in foldOperand()
1080 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &ImmOp); in foldOperand()
1084 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold); in foldOperand()
1357 SmallVector<FoldCandidate, 4> FoldList; in foldInstOperand() local
1384 foldOperand(OpToFold, UseMI, UseMI->getOperandNo(U), FoldList, in foldInstOperand()
1388 if (CopiesToReplace.empty() && FoldList.empty()) in foldInstOperand()
1396 for (FoldCandidate &Fold : FoldList) { in foldInstOperand()