Lines Matching refs:Fold

178 static bool updateOperand(FoldCandidate &Fold,  in updateOperand()  argument
182 MachineInstr *MI = Fold.UseMI; in updateOperand()
183 MachineOperand &Old = MI->getOperand(Fold.UseOpNo); in updateOperand()
186 if (Fold.isImm()) { in updateOperand()
191 AMDGPU::isFoldableLiteralV216(Fold.ImmToFold, in updateOperand()
217 if (!isUInt<16>(Fold.ImmToFold)) { in updateOperand()
218 if (!(Fold.ImmToFold & 0xffff)) { in updateOperand()
221 Old.ChangeToImmediate((Fold.ImmToFold >> 16) & 0xffff); in updateOperand()
225 Old.ChangeToImmediate(Fold.ImmToFold & 0xffff); in updateOperand()
236 if ((Fold.isImm() || Fold.isFI() || Fold.isGlobal()) && Fold.needsShrink()) { in updateOperand()
245 int Op32 = Fold.getShrinkOpcode(); in updateOperand()
273 if (Fold.isCommuted()) in updateOperand()
278 assert(!Fold.needsShrink() && "not handled"); in updateOperand()
280 if (Fold.isImm()) { in updateOperand()
288 Old.ChangeToImmediate(Fold.ImmToFold); in updateOperand()
292 if (Fold.isGlobal()) { in updateOperand()
293 Old.ChangeToGA(Fold.OpToFold->getGlobal(), Fold.OpToFold->getOffset(), in updateOperand()
294 Fold.OpToFold->getTargetFlags()); in updateOperand()
298 if (Fold.isFI()) { in updateOperand()
299 Old.ChangeToFrameIndex(Fold.FrameIndexToFold); in updateOperand()
303 MachineOperand *New = Fold.OpToFold; in updateOperand()
323 for (FoldCandidate &Fold : FoldList) in appendFoldCandidate()
324 if (Fold.UseMI == MI && Fold.UseOpNo == OpNo) in appendFoldCandidate()
1263 for (FoldCandidate &Fold : FoldList) { in foldInstOperand()
1264 assert(!Fold.isReg() || Fold.OpToFold); in foldInstOperand()
1265 if (Fold.isReg() && Fold.OpToFold->getReg().isVirtual()) { in foldInstOperand()
1266 Register Reg = Fold.OpToFold->getReg(); in foldInstOperand()
1267 MachineInstr *DefMI = Fold.OpToFold->getParent(); in foldInstOperand()
1269 execMayBeModifiedBeforeUse(*MRI, Reg, *DefMI, *Fold.UseMI)) in foldInstOperand()
1272 if (updateOperand(Fold, *TII, *TRI, *ST)) { in foldInstOperand()
1274 if (Fold.isReg()) { in foldInstOperand()
1275 assert(Fold.OpToFold && Fold.OpToFold->isReg()); in foldInstOperand()
1279 MRI->clearKillFlags(Fold.OpToFold->getReg()); in foldInstOperand()
1282 << static_cast<int>(Fold.UseOpNo) << " of " in foldInstOperand()
1283 << *Fold.UseMI); in foldInstOperand()
1284 } else if (Fold.isCommuted()) { in foldInstOperand()
1286 TII->commuteInstruction(*Fold.UseMI, false); in foldInstOperand()