Lines Matching defs:FoldCandidate
25 struct FoldCandidate {
37 FoldCandidate(MachineInstr *MI, unsigned OpNo, MachineOperand *FoldOp,
103 bool updateOperand(FoldCandidate &Fold) const;
105 bool canUseImmWithOpSel(FoldCandidate &Fold) const;
107 bool tryFoldImmWithOpSel(FoldCandidate &Fold) const;
109 bool tryAddToFoldList(SmallVectorImpl<FoldCandidate> &FoldList,
119 SmallVectorImpl<FoldCandidate> &FoldList) const;
123 SmallVectorImpl<FoldCandidate> &FoldList,
325 bool SIFoldOperandsImpl::canUseImmWithOpSel(FoldCandidate &Fold) const {
355 bool SIFoldOperandsImpl::tryFoldImmWithOpSel(FoldCandidate &Fold) const {
479 bool SIFoldOperandsImpl::updateOperand(FoldCandidate &Fold) const {
571 static bool isUseMIInFoldList(ArrayRef<FoldCandidate> FoldList,
576 static void appendFoldCandidate(SmallVectorImpl<FoldCandidate> &FoldList,
581 for (FoldCandidate &Fold : FoldList)
590 SmallVectorImpl<FoldCandidate> &FoldList, MachineInstr *MI, unsigned OpNo,
630 FoldCandidate Fold(MI, OpNo, OpToFold);
813 SmallVectorImpl<FoldCandidate> &FoldList) const {
879 SmallVectorImpl<FoldCandidate> &FoldList,
1484 SmallVector<FoldCandidate, 4> FoldList;
1523 for (FoldCandidate &Fold : FoldList) {