Lines Matching refs:OpToFold

34     MachineOperand *OpToFold;  member
46 UseMI(MI), OpToFold(nullptr), ShrinkOpcode(ShrinkOp), UseOpNo(OpNo), in FoldCandidate()
55 OpToFold = FoldOp; in FoldCandidate()
92 void foldOperand(MachineOperand &OpToFold,
98 void foldInstOperand(MachineInstr &MI, MachineOperand &OpToFold) const;
135 const MachineOperand &OpToFold) { in isInlineConstantIfFolded() argument
136 if (TII->isInlineConstant(UseMI, OpNo, OpToFold)) in isInlineConstantIfFolded()
154 return TII->isInlineConstant(OpToFold, MadDesc.OpInfo[OpNo].OperandType); in isInlineConstantIfFolded()
258 MachineOperand *New = Fold.OpToFold; in updateOperand()
283 MachineOperand *OpToFold, in tryAddToFoldList() argument
285 if (!TII->isOperandLegal(*MI, OpNo, OpToFold)) { in tryAddToFoldList()
300 bool FoldAsMAD = tryAddToFoldList(FoldList, MI, OpNo, OpToFold, TII); in tryAddToFoldList()
309 if (Opc == AMDGPU::S_SETREG_B32 && OpToFold->isImm()) { in tryAddToFoldList()
311 FoldList.push_back(FoldCandidate(MI, OpNo, OpToFold)); in tryAddToFoldList()
349 if (!TII->isOperandLegal(*MI, CommuteOpNo, OpToFold)) { in tryAddToFoldList()
353 (OpToFold->isImm() || OpToFold->isFI())) { in tryAddToFoldList()
370 FoldList.push_back(FoldCandidate(MI, CommuteOpNo, OpToFold, true, in tryAddToFoldList()
379 FoldList.push_back(FoldCandidate(MI, CommuteOpNo, OpToFold, true)); in tryAddToFoldList()
383 FoldList.push_back(FoldCandidate(MI, OpNo, OpToFold)); in tryAddToFoldList()
397 MachineOperand &OpToFold, in foldOperand() argument
408 if (UseOp.isReg() && OpToFold.isReg()) { in foldOperand()
421 if (UseOp.isTied() && OpToFold.getSubReg() != AMDGPU::NoSubRegister) in foldOperand()
440 foldOperand(OpToFold, RSUseMI, RSUse.getOperandNo(), FoldList, in foldOperand()
448 bool FoldingImm = OpToFold.isImm(); in foldOperand()
473 foldOperand(*F.OpToFold, F.UseMI, F.UseOpNo, in foldOperand()
489 if (UseMI->isCopy() && OpToFold.isReg() && in foldOperand()
495 UseMI->getOperand(1).setReg(OpToFold.getReg()); in foldOperand()
496 UseMI->getOperand(1).setSubReg(OpToFold.getSubReg()); in foldOperand()
499 OpToFold.setIsKill(false); in foldOperand()
514 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold, TII); in foldOperand()
523 const MCInstrDesc &FoldDesc = OpToFold.getParent()->getDesc(); in foldOperand()
539 APInt Imm(64, OpToFold.getImm()); in foldOperand()
554 tryAddToFoldList(FoldList, UseMI, UseOpIdx, &OpToFold, TII); in foldOperand()
792 MachineOperand &OpToFold) const { in foldInstOperand()
800 bool FoldingImm = OpToFold.isImm() || OpToFold.isFI(); in foldInstOperand()
823 if (OpToFold.isImm() && tryConstantFoldOp(*MRI, TII, UseMI, &OpToFold)) { in foldInstOperand()
850 if (isInlineConstantIfFolded(TII, *UseMI, OpNo, OpToFold)) { in foldInstOperand()
851 foldOperand(OpToFold, UseMI, OpNo, FoldList, CopiesToReplace); in foldInstOperand()
862 foldOperand(OpToFold, UseMI, NonInlineUseOpNo, FoldList, CopiesToReplace); in foldInstOperand()
875 foldOperand(OpToFold, UseMI, U.getOperandNo(), in foldInstOperand()
889 assert(Fold.OpToFold && Fold.OpToFold->isReg()); in foldInstOperand()
893 MRI->clearKillFlags(Fold.OpToFold->getReg()); in foldInstOperand()
1143 MachineOperand &OpToFold = MI.getOperand(1); in runOnMachineFunction() local
1144 bool FoldingImm = OpToFold.isImm() || OpToFold.isFI(); in runOnMachineFunction()
1147 if (!FoldingImm && !OpToFold.isReg()) in runOnMachineFunction()
1150 if (OpToFold.isReg() && in runOnMachineFunction()
1151 !TargetRegisterInfo::isVirtualRegister(OpToFold.getReg())) in runOnMachineFunction()
1165 foldInstOperand(MI, OpToFold); in runOnMachineFunction()