Lines Matching refs:MRI

78                                   const MachineRegisterInfo &MRI) {  in opMustUseVOP3Encoding()  argument
80 MRI.getType(MI.getOperand(0).getReg()).getScalarSizeInBits() == 64; in opMustUseVOP3Encoding()
124 static bool allUsesHaveSourceMods(MachineInstr &MI, MachineRegisterInfo &MRI, in allUsesHaveSourceMods() argument
133 for (const MachineInstr &Use : MRI.use_nodbg_instructions(Dst)) { in allUsesHaveSourceMods()
137 if (!opMustUseVOP3Encoding(Use, MRI)) { in allUsesHaveSourceMods()
163 MachineRegisterInfo &MRI) { in isConstantCostlierToNegate() argument
165 if (mi_match(Reg, MRI, m_GFCstOrSplat(FPValReg))) { in isConstantCostlierToNegate()
202 MatchInfo = MRI.getVRegDef(Src); in matchFoldableFneg()
208 if (MRI.hasOneNonDBGUse(Src)) { in matchFoldableFneg()
209 if (allUsesHaveSourceMods(MI, MRI, 0)) in matchFoldableFneg()
213 (allUsesHaveSourceMods(MI, MRI) || in matchFoldableFneg()
214 !allUsesHaveSourceMods(*MatchInfo, MRI))) in matchFoldableFneg()
229 MatchInfo->getOperand(2).getReg(), MRI); in matchFoldableFneg()
286 if (!mi_match(Reg, MRI, m_GFNeg(m_Reg(Reg)))) in applyFoldableFneg()
287 Reg = Builder.buildFNeg(MRI.getType(Reg), Reg).getReg(0); in applyFoldableFneg()
288 replaceRegOpWith(MRI, Op, Reg); in applyFoldableFneg()
295 if (mi_match(XReg, MRI, m_GFNeg(m_Reg(XReg)))) in applyFoldableFneg()
296 replaceRegOpWith(MRI, X, XReg); in applyFoldableFneg()
297 else if (mi_match(YReg, MRI, m_GFNeg(m_Reg(YReg)))) in applyFoldableFneg()
298 replaceRegOpWith(MRI, Y, YReg); in applyFoldableFneg()
300 YReg = Builder.buildFNeg(MRI.getType(YReg), YReg).getReg(0); in applyFoldableFneg()
301 replaceRegOpWith(MRI, Y, YReg); in applyFoldableFneg()
382 if (MRI.hasOneNonDBGUse(MatchInfoDst)) { in applyFoldableFneg()
384 replaceRegWith(MRI, Dst, MatchInfoDst); in applyFoldableFneg()
389 LLT Type = MRI.getType(Dst); in applyFoldableFneg()
390 Register NegatedMatchInfo = MRI.createGenericVirtualRegister(Type); in applyFoldableFneg()
391 replaceRegOpWith(MRI, MatchInfo->getOperand(0), NegatedMatchInfo); in applyFoldableFneg()
394 replaceRegWith(MRI, Dst, NegatedMatchInfo); in applyFoldableFneg()
407 static bool isFPExtFromF16OrConst(const MachineRegisterInfo &MRI, in isFPExtFromF16OrConst() argument
409 const MachineInstr *Def = MRI.getVRegDef(Reg); in isFPExtFromF16OrConst()
412 return MRI.getType(SrcReg) == LLT::scalar(16); in isFPExtFromF16OrConst()
431 if (!MRI.hasOneNonDBGUse(SrcReg) || MRI.getType(SrcReg) != LLT::scalar(32)) in matchExpandPromotedF16FMed3()
434 return isFPExtFromF16OrConst(MRI, Src0) && isFPExtFromF16OrConst(MRI, Src1) && in matchExpandPromotedF16FMed3()
435 isFPExtFromF16OrConst(MRI, Src2); in matchExpandPromotedF16FMed3()
448 LLT Ty = MRI.getType(Src0); in applyExpandPromotedF16FMed3()
464 LLT DestTy = MRI.getType(Dst); in matchCombineFmulWithSelectToFldexp()
469 !MRI.hasOneNonDBGUse(Sel.getOperand(0).getReg())) in matchCombineFmulWithSelectToFldexp()
473 MachineInstr *SelectTrue = MRI.getVRegDef(Sel.getOperand(2).getReg()); in matchCombineFmulWithSelectToFldexp()
474 MachineInstr *SelectFalse = MRI.getVRegDef(Sel.getOperand(3).getReg()); in matchCombineFmulWithSelectToFldexp()
477 isConstantOrConstantSplatVectorFP(*SelectTrue, MRI); in matchCombineFmulWithSelectToFldexp()
481 isConstantOrConstantSplatVectorFP(*SelectFalse, MRI); in matchCombineFmulWithSelectToFldexp()
510 Builder.buildFNeg(DestTy, XReg, MRI.getVRegDef(XReg)->getFlags()); in matchCombineFmulWithSelectToFldexp()