Lines Matching refs:Fold
202 static bool updateOperand(FoldCandidate &Fold, in updateOperand() argument
206 MachineInstr *MI = Fold.UseMI; in updateOperand()
207 MachineOperand &Old = MI->getOperand(Fold.UseOpNo); in updateOperand()
210 if (Fold.isImm()) { in updateOperand()
213 AMDGPU::isFoldableLiteralV216(Fold.ImmToFold, in updateOperand()
239 if (!isUInt<16>(Fold.ImmToFold)) { in updateOperand()
240 if (!(Fold.ImmToFold & 0xffff)) { in updateOperand()
243 Old.ChangeToImmediate((Fold.ImmToFold >> 16) & 0xffff); in updateOperand()
247 Old.ChangeToImmediate(Fold.ImmToFold & 0xffff); in updateOperand()
258 if ((Fold.isImm() || Fold.isFI() || Fold.isGlobal()) && Fold.needsShrink()) { in updateOperand()
267 int Op32 = Fold.getShrinkOpcode(); in updateOperand()
295 if (Fold.isCommuted()) in updateOperand()
300 assert(!Fold.needsShrink() && "not handled"); in updateOperand()
302 if (Fold.isImm()) { in updateOperand()
303 Old.ChangeToImmediate(Fold.ImmToFold); in updateOperand()
307 if (Fold.isGlobal()) { in updateOperand()
308 Old.ChangeToGA(Fold.OpToFold->getGlobal(), Fold.OpToFold->getOffset(), in updateOperand()
309 Fold.OpToFold->getTargetFlags()); in updateOperand()
313 if (Fold.isFI()) { in updateOperand()
314 Old.ChangeToFrameIndex(Fold.FrameIndexToFold); in updateOperand()
318 MachineOperand *New = Fold.OpToFold; in updateOperand()
338 for (FoldCandidate &Fold : FoldList) in appendFoldCandidate()
339 if (Fold.UseMI == MI && Fold.UseOpNo == OpNo) in appendFoldCandidate()
1298 for (FoldCandidate &Fold : FoldList) { in foldInstOperand()
1299 assert(!Fold.isReg() || Fold.OpToFold); in foldInstOperand()
1300 if (Fold.isReg() && Fold.OpToFold->getReg().isVirtual()) { in foldInstOperand()
1301 Register Reg = Fold.OpToFold->getReg(); in foldInstOperand()
1302 MachineInstr *DefMI = Fold.OpToFold->getParent(); in foldInstOperand()
1304 execMayBeModifiedBeforeUse(*MRI, Reg, *DefMI, *Fold.UseMI)) in foldInstOperand()
1307 if (updateOperand(Fold, *TII, *TRI, *ST)) { in foldInstOperand()
1309 if (Fold.isReg()) { in foldInstOperand()
1310 assert(Fold.OpToFold && Fold.OpToFold->isReg()); in foldInstOperand()
1314 MRI->clearKillFlags(Fold.OpToFold->getReg()); in foldInstOperand()
1317 << static_cast<int>(Fold.UseOpNo) << " of " in foldInstOperand()
1318 << *Fold.UseMI); in foldInstOperand()
1319 } else if (Fold.isCommuted()) { in foldInstOperand()
1321 TII->commuteInstruction(*Fold.UseMI, false); in foldInstOperand()