Lines Matching refs:getReg

78   return MIB.buildSub(Ty, Base, Ctlz).getReg(0);  in buildLogBase2()
206 Register DstReg = MI.getOperand(0).getReg(); in matchCombineCopy()
207 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineCopy()
211 Register DstReg = MI.getOperand(0).getReg(); in applyCombineCopy()
212 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineCopy()
238 Register Reg = MO.getReg(); in matchCombineConcatVectors()
247 Ops.push_back(BuildVecMO.getReg()); in matchCombineConcatVectors()
256 assert(MRI.getType(Undef->getOperand(0).getReg()) == in matchCombineConcatVectors()
263 Ops.push_back(Undef->getOperand(0).getReg()); in matchCombineConcatVectors()
276 Register DstReg = MI.getOperand(0).getReg(); in applyCombineConcatVectors()
307 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineShuffleVector()
308 Register Src1 = MI.getOperand(1).getReg(); in matchCombineShuffleVector()
363 Register Src2 = MI.getOperand(2).getReg(); in matchCombineShuffleVector()
368 UndefReg = Builder.buildUndef(SrcType).getReg(0); in matchCombineShuffleVector()
381 Register DstReg = MI.getOperand(0).getReg(); in applyCombineShuffleVector()
540 LLT UseTy = MRI.getType(UseMI.getOperand(0).getReg()); in matchCombineExtendingLoads()
547 MRI.getType(UseMI.getOperand(0).getReg()), in matchCombineExtendingLoads()
566 Register ChosenDstReg = Preferred.MI->getOperand(0).getReg(); in applyCombineExtendingLoads()
577 UseMO.setReg(PreviouslyEmitted->getOperand(0).getReg()); in applyCombineExtendingLoads()
583 Register NewDstReg = MRI.cloneVirtualRegister(MI.getOperand(0).getReg()); in applyCombineExtendingLoads()
600 for (auto &UseMO : MRI.use_operands(LoadValue.getReg())) in applyCombineExtendingLoads()
610 Register UseDstReg = UseMI->getOperand(0).getReg(); in applyCombineExtendingLoads()
685 Register Dst = MI.getOperand(0).getReg(); in matchCombineLoadWithAndMask()
690 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineLoadWithAndMask()
699 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineLoadWithAndMask()
784 Register SrcReg = MI.getOperand(1).getReg(); in matchSextTruncSextLoad()
811 Builder.buildCopy(MI.getOperand(0).getReg(), MI.getOperand(1).getReg()); in applySextTruncSextLoad()
819 Register DstReg = MI.getOperand(0).getReg(); in matchSextInRegOfLoad()
826 Register SrcReg = MI.getOperand(1).getReg(); in matchSextInRegOfLoad()
886 Builder.buildLoadInstr(TargetOpcode::G_SEXTLOAD, MI.getOperand(0).getReg(), in applySextInRegOfLoad()
902 Base = MI.getOperand(1).getReg(); in findPostIndexCandidate()
913 Offset = Use.getOperand(2).getReg(); in findPostIndexCandidate()
937 MRI.use_nodbg_instructions(Use.getOperand(0).getReg())) { in findPostIndexCandidate()
952 Addr = Use.getOperand(0).getReg(); in findPostIndexCandidate()
970 Addr = MI.getOperand(1).getReg(); in findPreIndexCandidate()
975 Base = AddrDef->getOperand(1).getReg(); in findPreIndexCandidate()
976 Offset = AddrDef->getOperand(2).getReg(); in findPreIndexCandidate()
994 if (Base == MI.getOperand(0).getReg()) { in findPreIndexCandidate()
1001 if (MI.getOperand(0).getReg() == Addr) { in findPreIndexCandidate()
1077 MIB.addUse(MI.getOperand(0).getReg()); in applyCombineIndexedLoadStore()
1079 MIB.addDef(MI.getOperand(0).getReg()); in applyCombineIndexedLoadStore()
1114 Register Src1 = MI.getOperand(1).getReg(); in matchCombineDivRem()
1162 DestDivReg = MI.getOperand(0).getReg(); in applyCombineDivRem()
1163 DestRemReg = OtherMI->getOperand(0).getReg(); in applyCombineDivRem()
1165 DestDivReg = OtherMI->getOperand(0).getReg(); in applyCombineDivRem()
1166 DestRemReg = MI.getOperand(0).getReg(); in applyCombineDivRem()
1182 {MI.getOperand(1).getReg(), MI.getOperand(2).getReg()}); in applyCombineDivRem()
1225 LLT Ty = MRI.getType(BrCond->getOperand(0).getReg()); in applyOptBrCondByInvertingCond()
1241 BrCond->getOperand(0).setReg(Xor.getReg(0)); in applyOptBrCondByInvertingCond()
1313 Register DstReg = MI.getOperand(0).getReg(); in matchCombineConstantFoldFpUnary()
1314 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineConstantFoldFpUnary()
1326 Register DstReg = MI.getOperand(0).getReg(); in applyCombineConstantFoldFpUnary()
1342 Register Add2 = MI.getOperand(1).getReg(); in matchPtrAddImmedChain()
1343 Register Imm1 = MI.getOperand(2).getReg(); in matchPtrAddImmedChain()
1352 Register Base = Add2Def->getOperand(1).getReg(); in matchPtrAddImmedChain()
1353 Register Imm2 = Add2Def->getOperand(2).getReg(); in matchPtrAddImmedChain()
1364 for (auto &UseMI : MRI.use_nodbg_instructions(MI.getOperand(0).getReg())) { in matchPtrAddImmedChain()
1366 AccessTy = getTypeForLLT(MRI.getType(LdSt->getReg(0)), in matchPtrAddImmedChain()
1397 LLT OffsetTy = MRI.getType(MI.getOperand(2).getReg()); in applyPtrAddImmedChain()
1399 setRegBank(NewOffset.getReg(0), MatchInfo.Bank); in applyPtrAddImmedChain()
1402 MI.getOperand(2).setReg(NewOffset.getReg(0)); in applyPtrAddImmedChain()
1421 Register Shl2 = MI.getOperand(1).getReg(); in matchShiftImmedChain()
1422 Register Imm1 = MI.getOperand(2).getReg(); in matchShiftImmedChain()
1431 Register Base = Shl2Def->getOperand(1).getReg(); in matchShiftImmedChain()
1432 Register Imm2 = Shl2Def->getOperand(2).getReg(); in matchShiftImmedChain()
1460 LLT Ty = MRI.getType(MI.getOperand(1).getReg()); in applyShiftImmedChain()
1476 LLT ImmTy = MRI.getType(MI.getOperand(2).getReg()); in applyShiftImmedChain()
1477 Register NewImm = Builder.buildConstant(ImmTy, Imm).getReg(0); in applyShiftImmedChain()
1505 Register LogicDest = MI.getOperand(1).getReg(); in matchShiftOfShiftedLogic()
1516 const Register C1 = MI.getOperand(2).getReg(); in matchShiftOfShiftedLogic()
1526 !MRI.hasOneNonDBGUse(MI->getOperand(0).getReg())) in matchShiftOfShiftedLogic()
1531 getIConstantVRegValWithLookThrough(MI->getOperand(2).getReg(), MRI); in matchShiftOfShiftedLogic()
1540 Register LogicMIReg1 = LogicMI->getOperand(1).getReg(); in matchShiftOfShiftedLogic()
1542 Register LogicMIReg2 = LogicMI->getOperand(2).getReg(); in matchShiftOfShiftedLogic()
1573 LLT ShlType = MRI.getType(MI.getOperand(2).getReg()); in applyShiftOfShiftedLogic()
1574 LLT DestType = MRI.getType(MI.getOperand(0).getReg()); in applyShiftOfShiftedLogic()
1577 Register Const = Builder.buildConstant(ShlType, MatchInfo.ValSum).getReg(0); in applyShiftOfShiftedLogic()
1579 Register Shift1Base = MatchInfo.Shift2->getOperand(1).getReg(); in applyShiftOfShiftedLogic()
1581 Builder.buildInstr(Opcode, {DestType}, {Shift1Base, Const}).getReg(0); in applyShiftOfShiftedLogic()
1583 Register Shift2Const = MI.getOperand(2).getReg(); in applyShiftOfShiftedLogic()
1587 .getReg(0); in applyShiftOfShiftedLogic()
1589 Register Dest = MI.getOperand(0).getReg(); in applyShiftOfShiftedLogic()
1603 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineMulToShl()
1615 LLT ShiftTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineMulToShl()
1619 MI.getOperand(2).setReg(ShiftCst.getReg(0)); in applyCombineMulToShl()
1628 Register LHS = MI.getOperand(1).getReg(); in matchCombineShlOfExtend()
1637 Register RHS = MI.getOperand(2).getReg(); in matchCombineShlOfExtend()
1687 if (MergedValues[I] != Unmerge->getReg(I)) in matchCombineMergeUnmerge()
1715 LLT Dst0Ty = MRI.getType(Unmerge.getReg(0)); in matchCombineUnmergeMergeToPlainValues()
1735 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineUnmergeMergeToPlainValues()
1739 Register DstReg = MI.getOperand(Idx).getReg(); in applyCombineUnmergeMergeToPlainValues()
1752 Register SrcReg = MI.getOperand(SrcIdx).getReg(); in matchCombineUnmergeConstant()
1763 LLT Dst0Ty = MRI.getType(MI.getOperand(0).getReg()); in matchCombineUnmergeConstant()
1783 Register DstReg = MI.getOperand(Idx).getReg(); in applyCombineUnmergeConstant()
1793 Register SrcReg = MI.getOperand(SrcIdx).getReg(); in matchCombineUnmergeUndef()
1797 Register DstReg = MI.getOperand(Idx).getReg(); in matchCombineUnmergeUndef()
1809 if (!MRI.use_nodbg_empty(MI.getOperand(Idx).getReg())) in matchCombineUnmergeWithDeadLanesToTrunc()
1817 Register SrcReg = MI.getOperand(MI.getNumDefs()).getReg(); in applyCombineUnmergeWithDeadLanesToTrunc()
1824 Builder.buildCast(LLT::scalar(SrcTy.getSizeInBits()), SrcReg).getReg(0); in applyCombineUnmergeWithDeadLanesToTrunc()
1826 Register Dst0Reg = MI.getOperand(0).getReg(); in applyCombineUnmergeWithDeadLanesToTrunc()
1839 Register Dst0Reg = MI.getOperand(0).getReg(); in matchCombineUnmergeZExtToZExt()
1846 Register SrcReg = MI.getOperand(MI.getNumDefs()).getReg(); in matchCombineUnmergeZExtToZExt()
1866 Register Dst0Reg = MI.getOperand(0).getReg(); in applyCombineUnmergeZExtToZExt()
1869 MRI.getVRegDef(MI.getOperand(MI.getNumDefs()).getReg()); in applyCombineUnmergeZExtToZExt()
1873 Register ZExtSrcReg = ZExtInstr->getOperand(1).getReg(); in applyCombineUnmergeZExtToZExt()
1890 ZeroReg = Builder.buildConstant(Dst0Ty, 0).getReg(0); in applyCombineUnmergeZExtToZExt()
1891 replaceRegWith(MRI, MI.getOperand(Idx).getReg(), ZeroReg); in applyCombineUnmergeZExtToZExt()
1903 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchCombineShiftToUnmerge()
1913 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineShiftToUnmerge()
1923 Register DstReg = MI.getOperand(0).getReg(); in applyCombineShiftToUnmerge()
1924 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineShiftToUnmerge()
1937 Register Narrowed = Unmerge.getReg(1); in applyCombineShiftToUnmerge()
1946 Builder.buildConstant(HalfTy, NarrowShiftAmt)).getReg(0); in applyCombineShiftToUnmerge()
1952 Register Narrowed = Unmerge.getReg(0); in applyCombineShiftToUnmerge()
1959 Builder.buildConstant(HalfTy, NarrowShiftAmt)).getReg(0); in applyCombineShiftToUnmerge()
1967 HalfTy, Unmerge.getReg(1), in applyCombineShiftToUnmerge()
1973 Builder.buildMerge(DstReg, { Unmerge.getReg(1), Hi }); in applyCombineShiftToUnmerge()
1982 HalfTy, Unmerge.getReg(1), in applyCombineShiftToUnmerge()
2007 Register DstReg = MI.getOperand(0).getReg(); in matchCombineI2PToP2I()
2009 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineI2PToP2I()
2016 Register DstReg = MI.getOperand(0).getReg(); in applyCombineI2PToP2I()
2024 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineP2IToI2P()
2030 Register DstReg = MI.getOperand(0).getReg(); in applyCombineP2IToI2P()
2039 Register LHS = MI.getOperand(1).getReg(); in matchCombineAddP2IToPtrAdd()
2040 Register RHS = MI.getOperand(2).getReg(); in matchCombineAddP2IToPtrAdd()
2063 Register Dst = MI.getOperand(0).getReg(); in applyCombineAddP2IToPtrAdd()
2064 Register LHS = MI.getOperand(1).getReg(); in applyCombineAddP2IToPtrAdd()
2065 Register RHS = MI.getOperand(2).getReg(); in applyCombineAddP2IToPtrAdd()
2090 auto DstTy = MRI.getType(PtrAdd.getReg(0)); in matchCombineConstPtrAddToI2P()
2104 Register Dst = PtrAdd.getReg(0); in applyCombineConstPtrAddToI2P()
2113 Register DstReg = MI.getOperand(0).getReg(); in matchCombineAnyExtTrunc()
2114 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineAnyExtTrunc()
2122 Register DstReg = MI.getOperand(0).getReg(); in matchCombineZextTrunc()
2123 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineZextTrunc()
2140 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineExtOfExt()
2149 MatchInfo = std::make_tuple(SrcMI->getOperand(1).getReg(), SrcOpc); in matchCombineExtOfExt()
2179 Register DstReg = MI.getOperand(0).getReg(); in applyCombineExtOfExt()
2188 Register DstReg = MI.getOperand(0).getReg(); in applyCombineMulByNegativeOne()
2189 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineMulByNegativeOne()
2200 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineFNegOfFNeg()
2206 Src = MI.getOperand(1).getReg(); in matchCombineFAbsOfFAbs()
2214 Register Src = MI.getOperand(1).getReg(); in matchCombineFAbsOfFNeg()
2231 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineTruncOfExt()
2236 MatchInfo = std::make_pair(SrcMI->getOperand(1).getReg(), SrcOpc); in matchCombineTruncOfExt()
2247 Register DstReg = MI.getOperand(0).getReg(); in applyCombineTruncOfExt()
2266 Register DstReg = MI.getOperand(0).getReg(); in matchCombineTruncOfShl()
2267 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineTruncOfShl()
2290 Register DstReg = MI.getOperand(0).getReg(); in applyCombineTruncOfShl()
2291 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineTruncOfShl()
2306 getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MO.getReg(), MRI); in matchAnyExplicitUseIsUndef()
2313 getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MO.getReg(), MRI); in matchAllExplicitUsesAreUndef()
2325 return getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MI.getOperand(0).getReg(), in matchUndefStore()
2331 return getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MI.getOperand(1).getReg(), in matchUndefSelectCmp()
2354 auto InstAndDef1 = getDefSrcRegIgnoringCopies(MOP1.getReg(), MRI); in matchEqualDefs()
2357 auto InstAndDef2 = getDefSrcRegIgnoringCopies(MOP2.getReg(), MRI); in matchEqualDefs()
2370 return MOP1.getReg() == MOP2.getReg(); in matchEqualDefs()
2416 return MO.isReg() && MO.getReg().isPhysical(); in matchEqualDefs()
2450 auto *MI = MRI.getVRegDef(MOP.getReg()); in matchConstantOp()
2459 Register OldReg = MI.getOperand(0).getReg(); in replaceSingleDefInstWithOperand()
2460 Register Replacement = MI.getOperand(OpIdx).getReg(); in replaceSingleDefInstWithOperand()
2470 Register OldReg = MI.getOperand(0).getReg(); in replaceSingleDefInstWithReg()
2481 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(2).getReg(), in matchSelectSameVal()
2487 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(1).getReg(), in matchBinOpSameVal()
2493 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(OpIdx).getReg(), in matchOperandIsZero()
2500 getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MO.getReg(), MRI); in matchOperandIsUndef()
2506 return isKnownToBeAPowerOfTwo(MO.getReg(), MRI, KB); in matchOperandIsKnownToBeAPowerOfTwo()
2543 Register LHS = MI.getOperand(1).getReg(); in matchSimplifyAddToSub()
2544 Register RHS = MI.getOperand(2).getReg(); in matchSimplifyAddToSub()
2565 Register DstReg = MI.getOperand(0).getReg(); in matchCombineInsertVecElts()
2580 CurrInst->getOperand(0).getReg(), MRI, in matchCombineInsertVecElts()
2594 MatchInfo[I - 1] = TmpInst->getOperand(I).getReg(); in matchCombineInsertVecElts()
2609 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineInsertVecElts()
2610 UndefReg = Builder.buildUndef(DstTy.getScalarType()).getReg(0); in applyCombineInsertVecElts()
2617 Builder.buildBuildVector(MI.getOperand(0).getReg(), MatchInfo); in applyCombineInsertVecElts()
2626 Builder.buildSub(MI.getOperand(0).getReg(), SubLHS, SubRHS); in applySimplifyAddToSub()
2643 Register Dst = MI.getOperand(0).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2644 Register LHSReg = MI.getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2645 Register RHSReg = MI.getOperand(2).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2665 Register X = LeftHandInst->getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2666 Register Y = RightHandInst->getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2693 ExtraHandOpSrcReg = ZOp.getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2742 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchAshrShlToSextInreg()
2762 Builder.buildSExtInReg(MI.getOperand(0).getReg(), Src, Size - ShiftAmt); in applyAshShlToSextInreg()
2771 Register Dst = MI.getOperand(0).getReg(); in matchOverlappingAnd()
2788 replaceRegWith(MRI, Dst, Zero->getOperand(0).getReg()); in matchOverlappingAnd()
2814 Register AndDst = MI.getOperand(0).getReg(); in matchRedundantAnd()
2821 Register LHS = MI.getOperand(1).getReg(); in matchRedundantAnd()
2822 Register RHS = MI.getOperand(2).getReg(); in matchRedundantAnd()
2860 Register OrDst = MI.getOperand(0).getReg(); in matchRedundantOr()
2867 Register LHS = MI.getOperand(1).getReg(); in matchRedundantOr()
2868 Register RHS = MI.getOperand(2).getReg(); in matchRedundantOr()
2896 Register Src = MI.getOperand(1).getReg(); in matchRedundantSExtInReg()
2912 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchNotCmp()
2917 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchNotCmp()
2960 RegsToNegate.push_back(Def->getOperand(1).getReg()); in matchNotCmp()
2961 RegsToNegate.push_back(Def->getOperand(2).getReg()); in matchNotCmp()
3014 replaceRegWith(MRI, MI.getOperand(0).getReg(), MI.getOperand(1).getReg()); in applyNotCmp()
3024 Register AndReg = MI.getOperand(1).getReg(); in matchXorOfAndWithSameReg()
3025 Register SharedReg = MI.getOperand(2).getReg(); in matchXorOfAndWithSameReg()
3058 MI.getOperand(1).setReg(Not->getOperand(0).getReg()); in applyXorOfAndWithSameReg()
3065 Register DstReg = PtrAdd.getReg(0); in matchPtrAddZero()
3085 Builder.buildIntToPtr(PtrAdd.getReg(0), PtrAdd.getOffsetReg()); in applyPtrAddZero()
3091 Register DstReg = MI.getOperand(0).getReg(); in applySimplifyURemByPow2()
3092 Register Src0 = MI.getOperand(1).getReg(); in applySimplifyURemByPow2()
3093 Register Pow2Src1 = MI.getOperand(2).getReg(); in applySimplifyURemByPow2()
3106 Register LHS = MI.getOperand(1).getReg(); in matchFoldBinOpIntoSelect()
3107 Register RHS = MI.getOperand(2).getReg(); in matchFoldBinOpIntoSelect()
3125 MachineInstr *SelectLHS = MRI.getVRegDef(Select->getOperand(2).getReg()); in matchFoldBinOpIntoSelect()
3126 MachineInstr *SelectRHS = MRI.getVRegDef(Select->getOperand(3).getReg()); in matchFoldBinOpIntoSelect()
3162 Register Dst = MI.getOperand(0).getReg(); in applyFoldBinOpIntoSelect()
3163 Register LHS = MI.getOperand(1).getReg(); in applyFoldBinOpIntoSelect()
3164 Register RHS = MI.getOperand(2).getReg(); in applyFoldBinOpIntoSelect()
3165 MachineInstr *Select = MRI.getVRegDef(MI.getOperand(SelectOperand).getReg()); in applyFoldBinOpIntoSelect()
3167 Register SelectCond = Select->getOperand(1).getReg(); in applyFoldBinOpIntoSelect()
3168 Register SelectTrue = Select->getOperand(2).getReg(); in applyFoldBinOpIntoSelect()
3169 Register SelectFalse = Select->getOperand(3).getReg(); in applyFoldBinOpIntoSelect()
3183 FoldTrue = Builder.buildInstr(BinOpcode, {Ty}, {SelectTrue, RHS}).getReg(0); in applyFoldBinOpIntoSelect()
3185 Builder.buildInstr(BinOpcode, {Ty}, {SelectFalse, RHS}).getReg(0); in applyFoldBinOpIntoSelect()
3187 FoldTrue = Builder.buildInstr(BinOpcode, {Ty}, {LHS, SelectTrue}).getReg(0); in applyFoldBinOpIntoSelect()
3189 Builder.buildInstr(BinOpcode, {Ty}, {LHS, SelectFalse}).getReg(0); in applyFoldBinOpIntoSelect()
3232 MRI.getType(Root->getOperand(0).getReg()).getSizeInBytes() - 1; in findCandidatesForLoadOrCombine()
3237 Register OrLHS = Curr->getOperand(1).getReg(); in findCandidatesForLoadOrCombine()
3238 Register OrRHS = Curr->getOperand(2).getReg(); in findCandidatesForLoadOrCombine()
3361 if (!mi_match(Load->getOperand(1).getReg(), MRI, in findLoadOffsetsForLoadOrCombine()
3363 LoadPtr = Load->getOperand(1).getReg(); in findLoadOffsetsForLoadOrCombine()
3446 Register Dst = MI.getOperand(0).getReg(); in matchLoadOrCombine()
3794 WideSrcVal = Builder.buildBSwap(WideStoreTy, WideSrcVal).getReg(0); in applyTruncStoreMerge()
3801 Builder.buildRotateRight(WideStoreTy, WideSrcVal, RotAmt).getReg(0); in applyTruncStoreMerge()
3817 Register DstReg = MI.getOperand(0).getReg(); in matchExtendThroughPhis()
3847 auto *DefMI = getDefIgnoringCopies(MI.getOperand(Idx).getReg(), MRI); in matchExtendThroughPhis()
3855 InSrcs.insert(getDefIgnoringCopies(MI.getOperand(Idx).getReg(), MRI)); in matchExtendThroughPhis()
3871 Register DstReg = ExtMI->getOperand(0).getReg(); in applyExtendThroughPhis()
3880 auto *SrcMI = MRI.getVRegDef(MI.getOperand(SrcIdx).getReg()); in applyExtendThroughPhis()
3893 SrcMI->getOperand(0).getReg()); in applyExtendThroughPhis()
3906 auto *NewSrc = OldToNewSrcMap[MRI.getVRegDef(MO.getReg())]; in applyExtendThroughPhis()
3907 NewPhi.addUse(NewSrc->getOperand(0).getReg()); in applyExtendThroughPhis()
3918 Register SrcVec = MI.getOperand(1).getReg(); in matchExtractVecEltBuildVec()
3924 auto Cst = getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchExtractVecEltBuildVec()
3935 LLT ScalarTy = MRI.getType(BuildVecMI->getOperand(1).getReg()); in matchExtractVecEltBuildVec()
3946 Reg = BuildVecMI->getOperand(VecIdx + 1).getReg(); in matchExtractVecEltBuildVec()
3955 Register DstReg = MI.getOperand(0).getReg(); in applyExtractVecEltBuildVec()
3988 Register DstReg = MI.getOperand(0).getReg(); in matchExtractAllEltsFromBuildVector()
3996 auto Cst = getIConstantVRegVal(II.getOperand(2).getReg(), MRI); in matchExtractAllEltsFromBuildVector()
4004 std::make_pair(MI.getOperand(Idx + 1).getReg(), &II)); in matchExtractAllEltsFromBuildVector()
4016 replaceRegWith(MRI, ExtMI->getOperand(0).getReg(), Pair.first); in applyExtractAllEltsFromBuildVector()
4039 Register Dst = MI.getOperand(0).getReg(); in matchOrShiftToFunnelShift()
4092 Register X = MI.getOperand(1).getReg(); in matchFunnelShiftToRotate()
4093 Register Y = MI.getOperand(2).getReg(); in matchFunnelShiftToRotate()
4117 MRI.getType(MI.getOperand(0).getReg()).getScalarSizeInBits(); in matchRotateOutOfRange()
4118 Register AmtReg = MI.getOperand(2).getReg(); in matchRotateOutOfRange()
4132 MRI.getType(MI.getOperand(0).getReg()).getScalarSizeInBits(); in applyRotateOutOfRange()
4134 Register Amt = MI.getOperand(2).getReg(); in applyRotateOutOfRange()
4137 Amt = Builder.buildURem(AmtTy, MI.getOperand(2).getReg(), Bits).getReg(0); in applyRotateOutOfRange()
4147 auto KnownLHS = KB->getKnownBits(MI.getOperand(2).getReg()); in matchICmpToTrueFalseKnownBits()
4148 auto KnownRHS = KB->getKnownBits(MI.getOperand(3).getReg()); in matchICmpToTrueFalseKnownBits()
4190 MRI.getType(MI.getOperand(0).getReg()).isVector(), in matchICmpToTrueFalseKnownBits()
4213 Register Dst = MI.getOperand(0).getReg(); in matchICmpToLHSKnownBits()
4219 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICst(OneOrZero))) in matchICmpToLHSKnownBits()
4221 Register LHS = MI.getOperand(2).getReg(); in matchICmpToLHSKnownBits()
4245 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchAndOrDisjointMask()
4265 if (MI.getOperand(1).getReg() == AndMaskReg) in matchAndOrDisjointMask()
4277 Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromSExtInReg()
4278 Register Src = MI.getOperand(1).getReg(); in matchBitfieldExtractFromSExtInReg()
4306 Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromAnd()
4316 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchBitfieldExtractFromAnd()
4344 const Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromShr()
4393 const Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromShrAnd()
4450 Register Src1Reg = PtrAdd.getOperand(1).getReg(); in reassociationCanBreakAddressingModePattern()
4455 Register Src2Reg = PtrAdd.getOperand(2).getReg(); in reassociationCanBreakAddressingModePattern()
4460 auto C1 = getIConstantVRegVal(Src1Def->getOperand(2).getReg(), MRI); in reassociationCanBreakAddressingModePattern()
4478 Register DefReg = ConvUseMI->getOperand(0).getReg(); in reassociationCanBreakAddressingModePattern()
4495 MRI.getType(ConvUseMI->getOperand(1).getReg()).getAddressSpace(); in reassociationCanBreakAddressingModePattern()
4497 getTypeForLLT(MRI.getType(ConvUseMI->getOperand(0).getReg()), in reassociationCanBreakAddressingModePattern()
4518 Register Src1Reg = MI.getOperand(1).getReg(); in matchReassocConstantInnerRHS()
4521 auto C2 = getIConstantVRegVal(RHS->getOperand(2).getReg(), MRI); in matchReassocConstantInnerRHS()
4526 LLT PtrTy = MRI.getType(MI.getOperand(0).getReg()); in matchReassocConstantInnerRHS()
4529 Builder.buildPtrAdd(PtrTy, Src1Reg, RHS->getOperand(1).getReg()); in matchReassocConstantInnerRHS()
4531 MI.getOperand(1).setReg(NewBase.getReg(0)); in matchReassocConstantInnerRHS()
4532 MI.getOperand(2).setReg(RHS->getOperand(2).getReg()); in matchReassocConstantInnerRHS()
4576 Register Src2Reg = MI.getOperand(2).getReg(); in matchReassocFoldConstantsInSubTree()
4590 MI.getOperand(2).setReg(NewCst.getReg(0)); in matchReassocFoldConstantsInSubTree()
4630 Register Op1 = MI.getOperand(1).getReg(); in matchConstantFold()
4631 Register Op2 = MI.getOperand(2).getReg(); in matchConstantFold()
4658 Register Dst = MI.getOperand(0).getReg(); in matchNarrowBinopFeedingAnd()
4659 Register AndLHS = MI.getOperand(1).getReg(); in matchNarrowBinopFeedingAnd()
4660 Register AndRHS = MI.getOperand(2).getReg(); in matchNarrowBinopFeedingAnd()
4715 Register BinOpLHS = LHSInst->getOperand(1).getReg(); in matchNarrowBinopFeedingAnd()
4716 Register BinOpRHS = LHSInst->getOperand(2).getReg(); in matchNarrowBinopFeedingAnd()
4724 MI.getOperand(1).setReg(Ext.getReg(0)); in matchNarrowBinopFeedingAnd()
4734 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(2))) in matchMulOBy2()
4742 MI.getOperand(3).setReg(MI.getOperand(2).getReg()); in matchMulOBy2()
4752 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(0))) in matchMulOBy0()
4754 Register Dst = MI.getOperand(0).getReg(); in matchMulOBy0()
4755 Register Carry = MI.getOperand(1).getReg(); in matchMulOBy0()
4770 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(0))) in matchAddOBy0()
4772 Register Carry = MI.getOperand(1).getReg(); in matchAddOBy0()
4775 Register Dst = MI.getOperand(0).getReg(); in matchAddOBy0()
4776 Register LHS = MI.getOperand(2).getReg(); in matchAddOBy0()
4787 Register Dst = UDiv.getReg(0); in buildUDivUsingMul()
4788 Register LHS = UDiv.getReg(1); in buildUDivUsingMul()
4789 Register RHS = UDiv.getReg(2); in buildUDivUsingMul()
4830 MIB.buildConstant(ScalarShiftAmtTy, PreShift).getReg(0)); in buildUDivUsingMul()
4831 MagicFactors.push_back(MIB.buildConstant(ScalarTy, magics.Magic).getReg(0)); in buildUDivUsingMul()
4836 .getReg(0)); in buildUDivUsingMul()
4838 MIB.buildConstant(ScalarShiftAmtTy, PostShift).getReg(0)); in buildUDivUsingMul()
4851 PreShift = MIB.buildBuildVector(ShiftAmtTy, PreShifts).getReg(0); in buildUDivUsingMul()
4852 MagicFactor = MIB.buildBuildVector(Ty, MagicFactors).getReg(0); in buildUDivUsingMul()
4853 NPQFactor = MIB.buildBuildVector(Ty, NPQFactors).getReg(0); in buildUDivUsingMul()
4854 PostShift = MIB.buildBuildVector(ShiftAmtTy, PostShifts).getReg(0); in buildUDivUsingMul()
4864 Q = MIB.buildLShr(Ty, Q, PreShift).getReg(0); in buildUDivUsingMul()
4867 Q = MIB.buildUMulH(Ty, Q, MagicFactor).getReg(0); in buildUDivUsingMul()
4870 Register NPQ = MIB.buildSub(Ty, LHS, Q).getReg(0); in buildUDivUsingMul()
4875 NPQ = MIB.buildUMulH(Ty, NPQ, NPQFactor).getReg(0); in buildUDivUsingMul()
4877 NPQ = MIB.buildLShr(Ty, NPQ, MIB.buildConstant(ShiftAmtTy, 1)).getReg(0); in buildUDivUsingMul()
4879 Q = MIB.buildAdd(Ty, NPQ, Q).getReg(0); in buildUDivUsingMul()
4882 Q = MIB.buildLShr(Ty, Q, PostShift).getReg(0); in buildUDivUsingMul()
4892 Register Dst = MI.getOperand(0).getReg(); in matchUDivByConst()
4893 Register RHS = MI.getOperand(2).getReg(); in matchUDivByConst()
4935 replaceSingleDefInstWithReg(MI, NewMI->getOperand(0).getReg()); in applyUDivByConst()
4940 Register RHS = MI.getOperand(2).getReg(); in matchUMulHToLShr()
4941 Register Dst = MI.getOperand(0).getReg(); in matchUMulHToLShr()
4955 Register LHS = MI.getOperand(1).getReg(); in applyUMulHToLShr()
4956 Register RHS = MI.getOperand(2).getReg(); in applyUMulHToLShr()
4957 Register Dst = MI.getOperand(0).getReg(); in applyUMulHToLShr()
4978 Register Dst = MI.getOperand(0).getReg(); in matchRedundantNegOperands()
4979 Register X = MI.getOperand(1).getReg(); in matchRedundantNegOperands()
4980 Register Y = MI.getOperand(2).getReg(); in matchRedundantNegOperands()
5027 return std::distance(MRI.use_instr_nodbg_begin(MI0.getOperand(0).getReg()), in hasMoreUses()
5029 std::distance(MRI.use_instr_nodbg_begin(MI1.getOperand(0).getReg()), in hasMoreUses()
5041 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in canCombineFMadOrFMA()
5074 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFMulToFMadOrFMA()
5075 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFMulToFMadOrFMA()
5093 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMulToFMadOrFMA()
5094 {LHS.MI->getOperand(1).getReg(), in matchCombineFAddFMulToFMadOrFMA()
5095 LHS.MI->getOperand(2).getReg(), RHS.Reg}); in matchCombineFAddFMulToFMadOrFMA()
5104 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMulToFMadOrFMA()
5105 {RHS.MI->getOperand(1).getReg(), in matchCombineFAddFMulToFMadOrFMA()
5106 RHS.MI->getOperand(2).getReg(), LHS.Reg}); in matchCombineFAddFMulToFMadOrFMA()
5123 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMA()
5124 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMA()
5127 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5145 MRI.getType(FpExtSrc->getOperand(1).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMA()
5147 auto FpExtX = B.buildFPExt(DstType, FpExtSrc->getOperand(1).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5148 auto FpExtY = B.buildFPExt(DstType, FpExtSrc->getOperand(2).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5149 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMA()
5150 {FpExtX.getReg(0), FpExtY.getReg(0), RHS.Reg}); in matchCombineFAddFpExtFMulToFMadOrFMA()
5160 MRI.getType(FpExtSrc->getOperand(1).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMA()
5162 auto FpExtX = B.buildFPExt(DstType, FpExtSrc->getOperand(1).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5163 auto FpExtY = B.buildFPExt(DstType, FpExtSrc->getOperand(2).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5164 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMA()
5165 {FpExtX.getReg(0), FpExtY.getReg(0), LHS.Reg}); in matchCombineFAddFpExtFMulToFMadOrFMA()
5181 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5182 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5185 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFMAFMulToFMadOrFMA()
5202 (MRI.getVRegDef(LHS.MI->getOperand(3).getReg())->getOpcode() == in matchCombineFAddFMAFMulToFMadOrFMA()
5204 MRI.hasOneNonDBGUse(LHS.MI->getOperand(0).getReg()) && in matchCombineFAddFMAFMulToFMadOrFMA()
5205 MRI.hasOneNonDBGUse(LHS.MI->getOperand(3).getReg())) { in matchCombineFAddFMAFMulToFMadOrFMA()
5211 (MRI.getVRegDef(RHS.MI->getOperand(3).getReg())->getOpcode() == in matchCombineFAddFMAFMulToFMadOrFMA()
5213 MRI.hasOneNonDBGUse(RHS.MI->getOperand(0).getReg()) && in matchCombineFAddFMAFMulToFMadOrFMA()
5214 MRI.hasOneNonDBGUse(RHS.MI->getOperand(3).getReg())) { in matchCombineFAddFMAFMulToFMadOrFMA()
5220 MachineInstr *FMulMI = MRI.getVRegDef(FMA->getOperand(3).getReg()); in matchCombineFAddFMAFMulToFMadOrFMA()
5221 Register X = FMA->getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5222 Register Y = FMA->getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5223 Register U = FMulMI->getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5224 Register V = FMulMI->getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5229 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMAFMulToFMadOrFMA()
5250 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5251 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5252 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5270 Register FpExtU = B.buildFPExt(DstType, U).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5271 Register FpExtV = B.buildFPExt(DstType, V).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5274 .getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5275 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5283 mi_match(LHS.MI->getOperand(3).getReg(), MRI, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5287 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5289 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5290 FMulMI->getOperand(2).getReg(), RHS.Reg, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5291 LHS.MI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5292 LHS.MI->getOperand(2).getReg(), B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5304 MachineInstr *FMulMI = MRI.getVRegDef(FMAMI->getOperand(3).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5307 MRI.getType(FMAMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5309 Register X = FMAMI->getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5310 Register Y = FMAMI->getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5311 X = B.buildFPExt(DstType, X).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5312 Y = B.buildFPExt(DstType, Y).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5313 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5314 FMulMI->getOperand(2).getReg(), RHS.Reg, X, Y, B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5324 mi_match(RHS.MI->getOperand(3).getReg(), MRI, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5328 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5330 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5331 FMulMI->getOperand(2).getReg(), LHS.Reg, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5332 RHS.MI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5333 RHS.MI->getOperand(2).getReg(), B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5345 MachineInstr *FMulMI = MRI.getVRegDef(FMAMI->getOperand(3).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5348 MRI.getType(FMAMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5350 Register X = FMAMI->getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5351 Register Y = FMAMI->getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5352 X = B.buildFPExt(DstType, X).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5353 Y = B.buildFPExt(DstType, Y).getReg(0); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5354 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5355 FMulMI->getOperand(2).getReg(), LHS.Reg, X, Y, B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5372 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFSubFMulToFMadOrFMA()
5373 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFSubFMulToFMadOrFMA()
5376 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFMulToFMadOrFMA()
5394 Register NegZ = B.buildFNeg(DstTy, RHS.Reg).getReg(0); in matchCombineFSubFMulToFMadOrFMA()
5395 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFMulToFMadOrFMA()
5396 {LHS.MI->getOperand(1).getReg(), in matchCombineFSubFMulToFMadOrFMA()
5397 LHS.MI->getOperand(2).getReg(), NegZ}); in matchCombineFSubFMulToFMadOrFMA()
5406 B.buildFNeg(DstTy, RHS.MI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFMulToFMadOrFMA()
5407 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFMulToFMadOrFMA()
5408 {NegY, RHS.MI->getOperand(2).getReg(), LHS.Reg}); in matchCombineFSubFMulToFMadOrFMA()
5424 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFNegFMulToFMadOrFMA()
5425 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFNegFMulToFMadOrFMA()
5426 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFNegFMulToFMadOrFMA()
5435 MRI.hasOneNonDBGUse(FMulMI->getOperand(0).getReg()))) && in matchCombineFSubFNegFMulToFMadOrFMA()
5439 B.buildFNeg(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFNegFMulToFMadOrFMA()
5440 Register NegZ = B.buildFNeg(DstTy, RHSReg).getReg(0); in matchCombineFSubFNegFMulToFMadOrFMA()
5441 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFNegFMulToFMadOrFMA()
5442 {NegX, FMulMI->getOperand(2).getReg(), NegZ}); in matchCombineFSubFNegFMulToFMadOrFMA()
5450 MRI.hasOneNonDBGUse(FMulMI->getOperand(0).getReg()))) && in matchCombineFSubFNegFMulToFMadOrFMA()
5453 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFNegFMulToFMadOrFMA()
5454 {FMulMI->getOperand(1).getReg(), in matchCombineFSubFNegFMulToFMadOrFMA()
5455 FMulMI->getOperand(2).getReg(), LHSReg}); in matchCombineFSubFNegFMulToFMadOrFMA()
5471 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFpExtFMulToFMadOrFMA()
5472 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFpExtFMulToFMadOrFMA()
5473 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFpExtFMulToFMadOrFMA()
5485 B.buildFPExt(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5487 B.buildFPExt(DstTy, FMulMI->getOperand(2).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5488 Register NegZ = B.buildFNeg(DstTy, RHSReg).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5489 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFpExtFMulToFMadOrFMA()
5501 B.buildFPExt(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5502 Register NegY = B.buildFNeg(DstTy, FpExtY).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5504 B.buildFPExt(DstTy, FMulMI->getOperand(2).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5505 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFpExtFMulToFMadOrFMA()
5523 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5524 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5525 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5532 Register FpExtX = B.buildFPExt(DstTy, X).getReg(0); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5533 Register FpExtY = B.buildFPExt(DstTy, Y).getReg(0); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5546 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5549 buildMatchInfo(FMAReg, FMulMI->getOperand(1).getReg(), in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5550 FMulMI->getOperand(2).getReg(), RHSReg, B); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5551 B.buildFNeg(MI.getOperand(0).getReg(), FMAReg); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5562 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5564 buildMatchInfo(MI.getOperand(0).getReg(), FMulMI->getOperand(1).getReg(), in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5565 FMulMI->getOperand(2).getReg(), LHSReg, B); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5576 Register DstReg = Sel.getReg(0); in matchSelectToLogical()
5646 Register MaybeNaNReg = MI.getOperand(Idx).getReg(); in matchCombineFMinMaxNaN()
5659 Register LHS = MI.getOperand(1).getReg(); in matchAddSubSameReg()
5660 Register RHS = MI.getOperand(2).getReg(); in matchAddSubSameReg()