Lines Matching refs:getOperand
212 Register DstReg = MI.getOperand(0).getReg(); in matchCombineCopy()
213 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineCopy()
217 Register DstReg = MI.getOperand(0).getReg(); in applyCombineCopy()
218 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineCopy()
262 assert(MRI.getType(Undef->getOperand(0).getReg()) == in matchCombineConcatVectors()
269 Ops.push_back(Undef->getOperand(0).getReg()); in matchCombineConcatVectors()
282 Register DstReg = MI.getOperand(0).getReg(); in applyCombineConcatVectors()
313 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineShuffleVector()
314 Register Src1 = MI.getOperand(1).getReg(); in matchCombineShuffleVector()
350 ArrayRef<int> Mask = MI.getOperand(3).getShuffleMask(); in matchCombineShuffleVector()
369 Register Src2 = MI.getOperand(2).getReg(); in matchCombineShuffleVector()
387 Register DstReg = MI.getOperand(0).getReg(); in applyCombineShuffleVector()
404 ArrayRef<int> Mask = MI.getOperand(3).getShuffleMask(); in matchShuffleToExtract()
409 Register DstReg = MI.getOperand(0).getReg(); in applyShuffleToExtract()
412 int I = MI.getOperand(3).getShuffleMask()[0]; in applyShuffleToExtract()
413 Register Src1 = MI.getOperand(1).getReg(); in applyShuffleToExtract()
418 SrcReg = MI.getOperand(2).getReg(); in applyShuffleToExtract()
601 LLT UseTy = MRI.getType(UseMI.getOperand(0).getReg()); in matchCombineExtendingLoads()
608 MRI.getType(UseMI.getOperand(0).getReg()), in matchCombineExtendingLoads()
627 Register ChosenDstReg = Preferred.MI->getOperand(0).getReg(); in applyCombineExtendingLoads()
638 UseMO.setReg(PreviouslyEmitted->getOperand(0).getReg()); in applyCombineExtendingLoads()
644 Register NewDstReg = MRI.cloneVirtualRegister(MI.getOperand(0).getReg()); in applyCombineExtendingLoads()
655 auto &LoadValue = MI.getOperand(0); in applyCombineExtendingLoads()
667 Register UseDstReg = UseMI->getOperand(0).getReg(); in applyCombineExtendingLoads()
668 MachineOperand &UseSrcMO = UseMI->getOperand(1); in applyCombineExtendingLoads()
726 MI.getOperand(0).setReg(ChosenDstReg); in applyCombineExtendingLoads()
742 Register Dst = MI.getOperand(0).getReg(); in matchCombineLoadWithAndMask()
747 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineLoadWithAndMask()
756 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineLoadWithAndMask()
841 Register SrcReg = MI.getOperand(1).getReg(); in matchSextTruncSextLoad()
851 uint64_t SizeInBits = MI.getOperand(2).getImm(); in matchSextTruncSextLoad()
868 Builder.buildCopy(MI.getOperand(0).getReg(), MI.getOperand(1).getReg()); in applySextTruncSextLoad()
876 Register DstReg = MI.getOperand(0).getReg(); in matchSextInRegOfLoad()
883 Register SrcReg = MI.getOperand(1).getReg(); in matchSextInRegOfLoad()
893 unsigned NewSizeBits = std::min((uint64_t)MI.getOperand(2).getImm(), MemBits); in matchSextInRegOfLoad()
943 Builder.buildLoadInstr(TargetOpcode::G_SEXTLOAD, MI.getOperand(0).getReg(), in applySextInRegOfLoad()
1173 auto *LoadMI = getOpcodeDef<GLoad>(MI.getOperand(1).getReg(), MRI); in matchCombineExtractedVectorLoad()
1177 Register Vector = MI.getOperand(1).getReg(); in matchCombineExtractedVectorLoad()
1180 assert(MRI.getType(MI.getOperand(0).getReg()) == VecEltTy); in matchCombineExtractedVectorLoad()
1243 Register Result = MI.getOperand(0).getReg(); in matchCombineExtractedVectorLoad()
1244 Register Index = MI.getOperand(2).getReg(); in matchCombineExtractedVectorLoad()
1251 LoadMI->getPointerReg(), MRI.getType(LoadMI->getOperand(0).getReg()), in matchCombineExtractedVectorLoad()
1292 *OldCst->getOperand(1).getCImm()); in applyCombineIndexedLoadStore()
1299 MIB.addUse(MI.getOperand(0).getReg()); in applyCombineIndexedLoadStore()
1301 MIB.addDef(MI.getOperand(0).getReg()); in applyCombineIndexedLoadStore()
1337 Register Src1 = MI.getOperand(1).getReg(); in matchCombineDivRem()
1368 matchEqualDefs(MI.getOperand(2), UseMI.getOperand(2)) && in matchCombineDivRem()
1369 matchEqualDefs(MI.getOperand(1), UseMI.getOperand(1))) { in matchCombineDivRem()
1385 DestDivReg = MI.getOperand(0).getReg(); in applyCombineDivRem()
1386 DestRemReg = OtherMI->getOperand(0).getReg(); in applyCombineDivRem()
1388 DestDivReg = OtherMI->getOperand(0).getReg(); in applyCombineDivRem()
1389 DestRemReg = MI.getOperand(0).getReg(); in applyCombineDivRem()
1411 { FirstInst->getOperand(1), FirstInst->getOperand(2) }); in applyCombineDivRem()
1445 MachineBasicBlock *BrCondTarget = BrCond->getOperand(1).getMBB(); in matchOptBrCondByInvertingCond()
1446 return BrCondTarget != MI.getOperand(0).getMBB() && in matchOptBrCondByInvertingCond()
1452 MachineBasicBlock *BrTarget = MI.getOperand(0).getMBB(); in applyOptBrCondByInvertingCond()
1454 LLT Ty = MRI.getType(BrCond->getOperand(0).getReg()); in applyOptBrCondByInvertingCond()
1460 auto Xor = Builder.buildXor(Ty, BrCond->getOperand(0), True); in applyOptBrCondByInvertingCond()
1462 auto *FallthroughBB = BrCond->getOperand(1).getMBB(); in applyOptBrCondByInvertingCond()
1464 MI.getOperand(0).setMBB(FallthroughBB); in applyOptBrCondByInvertingCond()
1470 BrCond->getOperand(0).setReg(Xor.getReg(0)); in applyOptBrCondByInvertingCond()
1471 BrCond->getOperand(1).setMBB(BrTarget); in applyOptBrCondByInvertingCond()
1509 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in constantFoldFpUnary()
1542 Builder.buildFConstant(MI.getOperand(0), *NewCst); in applyCombineConstantFoldFpUnary()
1557 Register Add2 = MI.getOperand(1).getReg(); in matchPtrAddImmedChain()
1558 Register Imm1 = MI.getOperand(2).getReg(); in matchPtrAddImmedChain()
1567 Register Base = Add2Def->getOperand(1).getReg(); in matchPtrAddImmedChain()
1568 Register Imm2 = Add2Def->getOperand(2).getReg(); in matchPtrAddImmedChain()
1579 for (auto &UseMI : MRI.use_nodbg_instructions(MI.getOperand(0).getReg())) { in matchPtrAddImmedChain()
1612 LLT OffsetTy = MRI.getType(MI.getOperand(2).getReg()); in applyPtrAddImmedChain()
1616 MI.getOperand(1).setReg(MatchInfo.Base); in applyPtrAddImmedChain()
1617 MI.getOperand(2).setReg(NewOffset.getReg(0)); in applyPtrAddImmedChain()
1636 Register Shl2 = MI.getOperand(1).getReg(); in matchShiftImmedChain()
1637 Register Imm1 = MI.getOperand(2).getReg(); in matchShiftImmedChain()
1646 Register Base = Shl2Def->getOperand(1).getReg(); in matchShiftImmedChain()
1647 Register Imm2 = Shl2Def->getOperand(2).getReg(); in matchShiftImmedChain()
1675 LLT Ty = MRI.getType(MI.getOperand(1).getReg()); in applyShiftImmedChain()
1682 Builder.buildConstant(MI.getOperand(0), 0); in applyShiftImmedChain()
1691 LLT ImmTy = MRI.getType(MI.getOperand(2).getReg()); in applyShiftImmedChain()
1694 MI.getOperand(1).setReg(MatchInfo.Reg); in applyShiftImmedChain()
1695 MI.getOperand(2).setReg(NewImm); in applyShiftImmedChain()
1720 Register LogicDest = MI.getOperand(1).getReg(); in matchShiftOfShiftedLogic()
1731 const Register C1 = MI.getOperand(2).getReg(); in matchShiftOfShiftedLogic()
1741 !MRI.hasOneNonDBGUse(MI->getOperand(0).getReg())) in matchShiftOfShiftedLogic()
1746 getIConstantVRegValWithLookThrough(MI->getOperand(2).getReg(), MRI); in matchShiftOfShiftedLogic()
1755 Register LogicMIReg1 = LogicMI->getOperand(1).getReg(); in matchShiftOfShiftedLogic()
1757 Register LogicMIReg2 = LogicMI->getOperand(2).getReg(); in matchShiftOfShiftedLogic()
1788 LLT ShlType = MRI.getType(MI.getOperand(2).getReg()); in applyShiftOfShiftedLogic()
1789 LLT DestType = MRI.getType(MI.getOperand(0).getReg()); in applyShiftOfShiftedLogic()
1794 Register Shift1Base = MatchInfo.Shift2->getOperand(1).getReg(); in applyShiftOfShiftedLogic()
1805 Register Shift2Const = MI.getOperand(2).getReg(); in applyShiftOfShiftedLogic()
1811 Register Dest = MI.getOperand(0).getReg(); in applyShiftOfShiftedLogic()
1859 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineMulToShl()
1871 LLT ShiftTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineMulToShl()
1875 MI.getOperand(2).setReg(ShiftCst.getReg(0)); in applyCombineMulToShl()
1886 Register LHS = MI.getOperand(1).getReg(); in matchCombineShlOfExtend()
1894 Register RHS = MI.getOperand(2).getReg(); in matchCombineShlOfExtend()
1930 Builder.buildZExt(MI.getOperand(0), NarrowShift); in applyCombineShlOfExtend()
1994 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineUnmergeMergeToPlainValues()
1998 Register DstReg = MI.getOperand(Idx).getReg(); in applyCombineUnmergeMergeToPlainValues()
2020 Register SrcReg = MI.getOperand(SrcIdx).getReg(); in matchCombineUnmergeConstant()
2026 const MachineOperand &CstVal = SrcInstr->getOperand(1); in matchCombineUnmergeConstant()
2031 LLT Dst0Ty = MRI.getType(MI.getOperand(0).getReg()); in matchCombineUnmergeConstant()
2051 Register DstReg = MI.getOperand(Idx).getReg(); in applyCombineUnmergeConstant()
2061 Register SrcReg = MI.getOperand(SrcIdx).getReg(); in matchCombineUnmergeUndef()
2065 Register DstReg = MI.getOperand(Idx).getReg(); in matchCombineUnmergeUndef()
2077 if (!MRI.use_nodbg_empty(MI.getOperand(Idx).getReg())) in matchCombineUnmergeWithDeadLanesToTrunc()
2085 Register SrcReg = MI.getOperand(MI.getNumDefs()).getReg(); in applyCombineUnmergeWithDeadLanesToTrunc()
2094 Register Dst0Reg = MI.getOperand(0).getReg(); in applyCombineUnmergeWithDeadLanesToTrunc()
2107 Register Dst0Reg = MI.getOperand(0).getReg(); in matchCombineUnmergeZExtToZExt()
2114 Register SrcReg = MI.getOperand(MI.getNumDefs()).getReg(); in matchCombineUnmergeZExtToZExt()
2134 Register Dst0Reg = MI.getOperand(0).getReg(); in applyCombineUnmergeZExtToZExt()
2137 MRI.getVRegDef(MI.getOperand(MI.getNumDefs()).getReg()); in applyCombineUnmergeZExtToZExt()
2141 Register ZExtSrcReg = ZExtInstr->getOperand(1).getReg(); in applyCombineUnmergeZExtToZExt()
2159 replaceRegWith(MRI, MI.getOperand(Idx).getReg(), ZeroReg); in applyCombineUnmergeZExtToZExt()
2171 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchCombineShiftToUnmerge()
2181 getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchCombineShiftToUnmerge()
2191 Register DstReg = MI.getOperand(0).getReg(); in applyCombineShiftToUnmerge()
2192 Register SrcReg = MI.getOperand(1).getReg(); in applyCombineShiftToUnmerge()
2275 Register DstReg = MI.getOperand(0).getReg(); in matchCombineI2PToP2I()
2277 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineI2PToP2I()
2284 Register DstReg = MI.getOperand(0).getReg(); in applyCombineI2PToP2I()
2292 Register DstReg = MI.getOperand(0).getReg(); in applyCombineP2IToI2P()
2301 Register LHS = MI.getOperand(1).getReg(); in matchCombineAddP2IToPtrAdd()
2302 Register RHS = MI.getOperand(2).getReg(); in matchCombineAddP2IToPtrAdd()
2325 Register Dst = MI.getOperand(0).getReg(); in applyCombineAddP2IToPtrAdd()
2326 Register LHS = MI.getOperand(1).getReg(); in applyCombineAddP2IToPtrAdd()
2327 Register RHS = MI.getOperand(2).getReg(); in applyCombineAddP2IToPtrAdd()
2375 Register DstReg = MI.getOperand(0).getReg(); in matchCombineAnyExtTrunc()
2376 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineAnyExtTrunc()
2387 Register DstReg = MI.getOperand(0).getReg(); in matchCombineZextTrunc()
2388 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineZextTrunc()
2405 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineExtOfExt()
2417 MatchInfo = std::make_tuple(SrcMI->getOperand(1).getReg(), SrcOpc); in matchCombineExtOfExt()
2436 MI.getOperand(1).setReg(Reg); in applyCombineExtOfExt()
2447 Register DstReg = MI.getOperand(0).getReg(); in applyCombineExtOfExt()
2457 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineTruncOfExt()
2462 MatchInfo = std::make_pair(SrcMI->getOperand(1).getReg(), SrcOpc); in matchCombineTruncOfExt()
2473 Register DstReg = MI.getOperand(0).getReg(); in applyCombineTruncOfExt()
2509 Register DstReg = MI.getOperand(0).getReg(); in matchCombineTruncOfShift()
2510 Register SrcReg = MI.getOperand(1).getReg(); in matchCombineTruncOfShift()
2529 KnownBits Known = KB->getKnownBits(SrcMI->getOperand(2).getReg()); in matchCombineTruncOfShift()
2550 KnownBits Known = KB->getKnownBits(SrcMI->getOperand(2).getReg()); in matchCombineTruncOfShift()
2574 Register Dst = MI.getOperand(0).getReg(); in applyCombineTruncOfShift()
2577 Register ShiftAmt = ShiftMI->getOperand(2).getReg(); in applyCombineTruncOfShift()
2578 Register ShiftSrc = ShiftMI->getOperand(1).getReg(); in applyCombineTruncOfShift()
2610 ArrayRef<int> Mask = MI.getOperand(3).getShuffleMask(); in matchUndefShuffleVectorMask()
2616 return getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MI.getOperand(0).getReg(), in matchUndefStore()
2622 return getOpcodeDef(TargetOpcode::G_IMPLICIT_DEF, MI.getOperand(1).getReg(), in matchUndefSelectCmp()
2630 LLT VecTy = MRI.getType(MI.getOperand(1).getReg()); in matchInsertExtractVecEltOutOfBounds()
2633 auto Idx = getIConstantVRegVal(MI.getOperand(IdxIdx).getReg(), MRI); in matchInsertExtractVecEltOutOfBounds()
2770 Register OldReg = MI.getOperand(0).getReg(); in replaceSingleDefInstWithOperand()
2771 Register Replacement = MI.getOperand(OpIdx).getReg(); in replaceSingleDefInstWithOperand()
2780 Register OldReg = MI.getOperand(0).getReg(); in replaceSingleDefInstWithReg()
2788 Register ConstReg = MI.getOperand(ConstIdx).getReg(); in matchConstantLargerBitWidth()
2789 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchConstantLargerBitWidth()
2805 Register ConstReg = MI.getOperand(3).getReg(); in applyFunnelShiftConstantModulo()
2807 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in applyFunnelShiftConstantModulo()
2819 MI.getOpcode(), {MI.getOperand(0)}, in applyFunnelShiftConstantModulo()
2820 {MI.getOperand(1), MI.getOperand(2), NewConstInstr.getReg(0)}); in applyFunnelShiftConstantModulo()
2828 return matchEqualDefs(MI.getOperand(2), MI.getOperand(3)) && in matchSelectSameVal()
2829 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(2).getReg(), in matchSelectSameVal()
2834 return matchEqualDefs(MI.getOperand(1), MI.getOperand(2)) && in matchBinOpSameVal()
2835 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(1).getReg(), in matchBinOpSameVal()
2840 return matchConstantOp(MI.getOperand(OpIdx), 0) && in matchOperandIsZero()
2841 canReplaceReg(MI.getOperand(0).getReg(), MI.getOperand(OpIdx).getReg(), in matchOperandIsZero()
2846 MachineOperand &MO = MI.getOperand(OpIdx); in matchOperandIsUndef()
2853 MachineOperand &MO = MI.getOperand(OpIdx); in matchOperandIsKnownToBeAPowerOfTwo()
2860 Builder.buildFConstant(MI.getOperand(0), C); in replaceInstWithFConstant()
2867 Builder.buildConstant(MI.getOperand(0), C); in replaceInstWithConstant()
2874 Builder.buildConstant(MI.getOperand(0), C); in replaceInstWithConstant()
2881 Builder.buildFConstant(MI.getOperand(0), CFP->getValueAPF()); in replaceInstWithFConstant()
2888 Builder.buildUndef(MI.getOperand(0)); in replaceInstWithUndef()
2894 Register LHS = MI.getOperand(1).getReg(); in matchSimplifyAddToSub()
2895 Register RHS = MI.getOperand(2).getReg(); in matchSimplifyAddToSub()
2916 Register DstReg = MI.getOperand(0).getReg(); in matchCombineInsertVecElts()
2931 CurrInst->getOperand(0).getReg(), MRI, in matchCombineInsertVecElts()
2945 MatchInfo[I - 1] = TmpInst->getOperand(I).getReg(); in matchCombineInsertVecElts()
2960 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in applyCombineInsertVecElts()
2968 Builder.buildBuildVector(MI.getOperand(0).getReg(), MatchInfo); in applyCombineInsertVecElts()
2977 Builder.buildSub(MI.getOperand(0).getReg(), SubLHS, SubRHS); in applySimplifyAddToSub()
2994 Register Dst = MI.getOperand(0).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2995 Register LHSReg = MI.getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
2996 Register RHSReg = MI.getOperand(2).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
3010 if (!LeftHandInst->getOperand(1).isReg() || in matchHoistLogicOpWithSameOpcodeHands()
3011 !RightHandInst->getOperand(1).isReg()) in matchHoistLogicOpWithSameOpcodeHands()
3016 Register X = LeftHandInst->getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
3017 Register Y = RightHandInst->getOperand(1).getReg(); in matchHoistLogicOpWithSameOpcodeHands()
3039 MachineOperand &ZOp = LeftHandInst->getOperand(2); in matchHoistLogicOpWithSameOpcodeHands()
3040 if (!matchEqualDefs(ZOp, RightHandInst->getOperand(2))) in matchHoistLogicOpWithSameOpcodeHands()
3093 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchAshrShlToSextInreg()
3114 Builder.buildSExtInReg(MI.getOperand(0).getReg(), Src, Size - ShiftAmt); in applyAshShlToSextInreg()
3123 Register Dst = MI.getOperand(0).getReg(); in matchOverlappingAnd()
3140 replaceRegWith(MRI, Dst, Zero->getOperand(0).getReg()); in matchOverlappingAnd()
3166 Register AndDst = MI.getOperand(0).getReg(); in matchRedundantAnd()
3167 Register LHS = MI.getOperand(1).getReg(); in matchRedundantAnd()
3168 Register RHS = MI.getOperand(2).getReg(); in matchRedundantAnd()
3206 Register OrDst = MI.getOperand(0).getReg(); in matchRedundantOr()
3207 Register LHS = MI.getOperand(1).getReg(); in matchRedundantOr()
3208 Register RHS = MI.getOperand(2).getReg(); in matchRedundantOr()
3236 Register Src = MI.getOperand(1).getReg(); in matchRedundantSExtInReg()
3237 unsigned ExtBits = MI.getOperand(2).getImm(); in matchRedundantSExtInReg()
3252 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchNotCmp()
3257 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchNotCmp()
3300 RegsToNegate.push_back(Def->getOperand(1).getReg()); in matchNotCmp()
3301 RegsToNegate.push_back(Def->getOperand(2).getReg()); in matchNotCmp()
3338 MachineOperand &PredOp = Def->getOperand(1); in applyNotCmp()
3354 replaceRegWith(MRI, MI.getOperand(0).getReg(), MI.getOperand(1).getReg()); in applyNotCmp()
3364 Register AndReg = MI.getOperand(1).getReg(); in matchXorOfAndWithSameReg()
3365 Register SharedReg = MI.getOperand(2).getReg(); in matchXorOfAndWithSameReg()
3398 MI.getOperand(1).setReg(Not->getOperand(0).getReg()); in applyXorOfAndWithSameReg()
3399 MI.getOperand(2).setReg(Y); in applyXorOfAndWithSameReg()
3431 Register DstReg = MI.getOperand(0).getReg(); in applySimplifyURemByPow2()
3432 Register Src0 = MI.getOperand(1).getReg(); in applySimplifyURemByPow2()
3433 Register Pow2Src1 = MI.getOperand(2).getReg(); in applySimplifyURemByPow2()
3446 Register LHS = MI.getOperand(1).getReg(); in matchFoldBinOpIntoSelect()
3447 Register RHS = MI.getOperand(2).getReg(); in matchFoldBinOpIntoSelect()
3465 MachineInstr *SelectLHS = MRI.getVRegDef(Select->getOperand(2).getReg()); in matchFoldBinOpIntoSelect()
3466 MachineInstr *SelectRHS = MRI.getVRegDef(Select->getOperand(3).getReg()); in matchFoldBinOpIntoSelect()
3502 Register Dst = MI.getOperand(0).getReg(); in applyFoldBinOpIntoSelect()
3503 Register LHS = MI.getOperand(1).getReg(); in applyFoldBinOpIntoSelect()
3504 Register RHS = MI.getOperand(2).getReg(); in applyFoldBinOpIntoSelect()
3505 MachineInstr *Select = MRI.getVRegDef(MI.getOperand(SelectOperand).getReg()); in applyFoldBinOpIntoSelect()
3507 Register SelectCond = Select->getOperand(1).getReg(); in applyFoldBinOpIntoSelect()
3508 Register SelectTrue = Select->getOperand(2).getReg(); in applyFoldBinOpIntoSelect()
3509 Register SelectFalse = Select->getOperand(3).getReg(); in applyFoldBinOpIntoSelect()
3568 MRI.getType(Root->getOperand(0).getReg()).getSizeInBytes() - 1; in findCandidatesForLoadOrCombine()
3573 Register OrLHS = Curr->getOperand(1).getReg(); in findCandidatesForLoadOrCombine()
3574 Register OrRHS = Curr->getOperand(2).getReg(); in findCandidatesForLoadOrCombine()
3697 if (!mi_match(Load->getOperand(1).getReg(), MRI, in findLoadOffsetsForLoadOrCombine()
3699 LoadPtr = Load->getOperand(1).getReg(); in findLoadOffsetsForLoadOrCombine()
3782 Register Dst = MI.getOperand(0).getReg(); in matchLoadOrCombine()
3938 Register DstReg = ExtMI->getOperand(0).getReg(); in applyExtendThroughPhis()
3974 NewPhi.addUse(NewSrc->getOperand(0).getReg()); in applyExtendThroughPhis()
3985 Register SrcVec = MI.getOperand(1).getReg(); in matchExtractVecEltBuildVec()
3988 auto Cst = getIConstantVRegValWithLookThrough(MI.getOperand(2).getReg(), MRI); in matchExtractVecEltBuildVec()
3998 SrcVecMI = MRI.getVRegDef(SrcVecMI->getOperand(1).getReg()); in matchExtractVecEltBuildVec()
4010 Reg = SrcVecMI->getOperand(VecIdx + 1).getReg(); in matchExtractVecEltBuildVec()
4019 Register DstReg = MI.getOperand(0).getReg(); in applyExtractVecEltBuildVec()
4052 Register DstReg = MI.getOperand(0).getReg(); in matchExtractAllEltsFromBuildVector()
4060 auto Cst = getIConstantVRegVal(II.getOperand(2).getReg(), MRI); in matchExtractAllEltsFromBuildVector()
4068 std::make_pair(MI.getOperand(Idx + 1).getReg(), &II)); in matchExtractAllEltsFromBuildVector()
4080 replaceRegWith(MRI, ExtMI->getOperand(0).getReg(), Pair.first); in applyExtractAllEltsFromBuildVector()
4103 Register Dst = MI.getOperand(0).getReg(); in matchOrShiftToFunnelShift()
4156 Register X = MI.getOperand(1).getReg(); in matchFunnelShiftToRotate()
4157 Register Y = MI.getOperand(2).getReg(); in matchFunnelShiftToRotate()
4181 MRI.getType(MI.getOperand(0).getReg()).getScalarSizeInBits(); in matchRotateOutOfRange()
4182 Register AmtReg = MI.getOperand(2).getReg(); in matchRotateOutOfRange()
4196 MRI.getType(MI.getOperand(0).getReg()).getScalarSizeInBits(); in applyRotateOutOfRange()
4198 Register Amt = MI.getOperand(2).getReg(); in applyRotateOutOfRange()
4201 Amt = Builder.buildURem(AmtTy, MI.getOperand(2).getReg(), Bits).getReg(0); in applyRotateOutOfRange()
4203 MI.getOperand(2).setReg(Amt); in applyRotateOutOfRange()
4210 auto Pred = static_cast<CmpInst::Predicate>(MI.getOperand(1).getPredicate()); in matchICmpToTrueFalseKnownBits()
4211 auto KnownLHS = KB->getKnownBits(MI.getOperand(2).getReg()); in matchICmpToTrueFalseKnownBits()
4212 auto KnownRHS = KB->getKnownBits(MI.getOperand(3).getReg()); in matchICmpToTrueFalseKnownBits()
4254 MRI.getType(MI.getOperand(0).getReg()).isVector(), in matchICmpToTrueFalseKnownBits()
4274 auto Pred = static_cast<CmpInst::Predicate>(MI.getOperand(1).getPredicate()); in matchICmpToLHSKnownBits()
4277 Register Dst = MI.getOperand(0).getReg(); in matchICmpToLHSKnownBits()
4283 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICst(OneOrZero))) in matchICmpToLHSKnownBits()
4285 Register LHS = MI.getOperand(2).getReg(); in matchICmpToLHSKnownBits()
4309 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchAndOrDisjointMask()
4329 if (MI.getOperand(1).getReg() == AndMaskReg) in matchAndOrDisjointMask()
4330 MI.getOperand(2).setReg(AndMaskReg); in matchAndOrDisjointMask()
4331 MI.getOperand(1).setReg(Src); in matchAndOrDisjointMask()
4341 Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromSExtInReg()
4342 Register Src = MI.getOperand(1).getReg(); in matchBitfieldExtractFromSExtInReg()
4347 int64_t Width = MI.getOperand(2).getImm(); in matchBitfieldExtractFromSExtInReg()
4370 Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromAnd()
4379 if (!mi_match(MI.getOperand(0).getReg(), MRI, in matchBitfieldExtractFromAnd()
4407 const Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromShr()
4456 const Register Dst = MI.getOperand(0).getReg(); in matchBitfieldExtractFromShrAnd()
4540 Register DefReg = ConvUseMI->getOperand(0).getReg(); in reassociationCanBreakAddressingModePattern()
4577 Register Src1Reg = MI.getOperand(1).getReg(); in matchReassocConstantInnerRHS()
4580 auto C2 = getIConstantVRegVal(RHS->getOperand(2).getReg(), MRI); in matchReassocConstantInnerRHS()
4585 LLT PtrTy = MRI.getType(MI.getOperand(0).getReg()); in matchReassocConstantInnerRHS()
4588 Builder.buildPtrAdd(PtrTy, Src1Reg, RHS->getOperand(1).getReg()); in matchReassocConstantInnerRHS()
4590 MI.getOperand(1).setReg(NewBase.getReg(0)); in matchReassocConstantInnerRHS()
4591 MI.getOperand(2).setReg(RHS->getOperand(2).getReg()); in matchReassocConstantInnerRHS()
4619 MI.getOperand(2).setReg(NewCst.getReg(0)); in matchReassocConstantInnerLHS()
4622 LHSPtrAdd->getOperand(2).setReg(RHSReg); in matchReassocConstantInnerLHS()
4637 Register Src2Reg = MI.getOperand(2).getReg(); in matchReassocFoldConstantsInSubTree()
4650 MI.getOperand(1).setReg(LHSSrc1); in matchReassocFoldConstantsInSubTree()
4651 MI.getOperand(2).setReg(NewCst.getReg(0)); in matchReassocFoldConstantsInSubTree()
4699 Register OpLHSLHS = OpLHSDef->getOperand(1).getReg(); in tryReassocBinOp()
4700 Register OpLHSRHS = OpLHSDef->getOperand(2).getReg(); in tryReassocBinOp()
4735 Register DstReg = MI.getOperand(0).getReg(); in matchReassocCommBinOp()
4736 Register LHSReg = MI.getOperand(1).getReg(); in matchReassocCommBinOp()
4737 Register RHSReg = MI.getOperand(2).getReg(); in matchReassocCommBinOp()
4747 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchConstantFoldCastOp()
4748 Register SrcOp = MI.getOperand(1).getReg(); in matchConstantFoldCastOp()
4759 Register Op1 = MI.getOperand(1).getReg(); in matchConstantFoldBinOp()
4760 Register Op2 = MI.getOperand(2).getReg(); in matchConstantFoldBinOp()
4769 Register Op1 = MI.getOperand(1).getReg(); in matchConstantFoldFPBinOp()
4770 Register Op2 = MI.getOperand(2).getReg(); in matchConstantFoldFPBinOp()
4823 Register Dst = MI.getOperand(0).getReg(); in matchNarrowBinopFeedingAnd()
4824 Register AndLHS = MI.getOperand(1).getReg(); in matchNarrowBinopFeedingAnd()
4825 Register AndRHS = MI.getOperand(2).getReg(); in matchNarrowBinopFeedingAnd()
4880 Register BinOpLHS = LHSInst->getOperand(1).getReg(); in matchNarrowBinopFeedingAnd()
4881 Register BinOpRHS = LHSInst->getOperand(2).getReg(); in matchNarrowBinopFeedingAnd()
4889 MI.getOperand(1).setReg(Ext.getReg(0)); in matchNarrowBinopFeedingAnd()
4899 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(2))) in matchMulOBy2()
4907 MI.getOperand(3).setReg(MI.getOperand(2).getReg()); in matchMulOBy2()
4917 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(0))) in matchMulOBy0()
4919 Register Dst = MI.getOperand(0).getReg(); in matchMulOBy0()
4920 Register Carry = MI.getOperand(1).getReg(); in matchMulOBy0()
4935 if (!mi_match(MI.getOperand(3).getReg(), MRI, m_SpecificICstOrSplat(0))) in matchAddOBy0()
4937 Register Carry = MI.getOperand(1).getReg(); in matchAddOBy0()
4940 Register Dst = MI.getOperand(0).getReg(); in matchAddOBy0()
4941 Register LHS = MI.getOperand(2).getReg(); in matchAddOBy0()
4956 if (!mi_match(MI.getOperand(4).getReg(), MRI, m_SpecificICstOrSplat(0))) in matchAddEToAddO()
4985 Register Dst = MI.getOperand(0).getReg(); in matchSubAddSameReg()
5133 Register Dst = MI.getOperand(0).getReg(); in matchUDivByConst()
5134 Register RHS = MI.getOperand(2).getReg(); in matchUDivByConst()
5176 replaceSingleDefInstWithReg(MI, NewMI->getOperand(0).getReg()); in applyUDivByConst()
5181 Register Dst = MI.getOperand(0).getReg(); in matchSDivByConst()
5182 Register RHS = MI.getOperand(2).getReg(); in matchSDivByConst()
5210 replaceSingleDefInstWithReg(MI, NewMI->getOperand(0).getReg()); in applySDivByConst()
5283 Register RHS = MI.getOperand(2).getReg(); in matchUMulHToLShr()
5284 Register Dst = MI.getOperand(0).getReg(); in matchUMulHToLShr()
5298 Register LHS = MI.getOperand(1).getReg(); in applyUMulHToLShr()
5299 Register RHS = MI.getOperand(2).getReg(); in applyUMulHToLShr()
5300 Register Dst = MI.getOperand(0).getReg(); in applyUMulHToLShr()
5321 Register Dst = MI.getOperand(0).getReg(); in matchRedundantNegOperands()
5322 Register X = MI.getOperand(1).getReg(); in matchRedundantNegOperands()
5323 Register Y = MI.getOperand(2).getReg(); in matchRedundantNegOperands()
5353 MI.getOperand(1).setReg(X); in matchRedundantNegOperands()
5354 MI.getOperand(2).setReg(Y); in matchRedundantNegOperands()
5363 Register LHS = MI.getOperand(1).getReg(); in matchFsubToFneg()
5364 MatchInfo = MI.getOperand(2).getReg(); in matchFsubToFneg()
5365 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in matchFsubToFneg()
5386 Register Dst = MI.getOperand(0).getReg(); in applyFsubToFneg()
5402 return std::distance(MRI.use_instr_nodbg_begin(MI0.getOperand(0).getReg()), in hasMoreUses()
5404 std::distance(MRI.use_instr_nodbg_begin(MI1.getOperand(0).getReg()), in hasMoreUses()
5416 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in canCombineFMadOrFMA()
5449 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFMulToFMadOrFMA()
5450 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFMulToFMadOrFMA()
5468 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMulToFMadOrFMA()
5469 {LHS.MI->getOperand(1).getReg(), in matchCombineFAddFMulToFMadOrFMA()
5470 LHS.MI->getOperand(2).getReg(), RHS.Reg}); in matchCombineFAddFMulToFMadOrFMA()
5479 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMulToFMadOrFMA()
5480 {RHS.MI->getOperand(1).getReg(), in matchCombineFAddFMulToFMadOrFMA()
5481 RHS.MI->getOperand(2).getReg(), LHS.Reg}); in matchCombineFAddFMulToFMadOrFMA()
5498 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMA()
5499 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMA()
5502 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5520 MRI.getType(FpExtSrc->getOperand(1).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMA()
5522 auto FpExtX = B.buildFPExt(DstType, FpExtSrc->getOperand(1).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5523 auto FpExtY = B.buildFPExt(DstType, FpExtSrc->getOperand(2).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5524 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMA()
5535 MRI.getType(FpExtSrc->getOperand(1).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMA()
5537 auto FpExtX = B.buildFPExt(DstType, FpExtSrc->getOperand(1).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5538 auto FpExtY = B.buildFPExt(DstType, FpExtSrc->getOperand(2).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMA()
5539 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMA()
5556 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5557 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5560 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFMAFMulToFMadOrFMA()
5577 (MRI.getVRegDef(LHS.MI->getOperand(3).getReg())->getOpcode() == in matchCombineFAddFMAFMulToFMadOrFMA()
5579 MRI.hasOneNonDBGUse(LHS.MI->getOperand(0).getReg()) && in matchCombineFAddFMAFMulToFMadOrFMA()
5580 MRI.hasOneNonDBGUse(LHS.MI->getOperand(3).getReg())) { in matchCombineFAddFMAFMulToFMadOrFMA()
5586 (MRI.getVRegDef(RHS.MI->getOperand(3).getReg())->getOpcode() == in matchCombineFAddFMAFMulToFMadOrFMA()
5588 MRI.hasOneNonDBGUse(RHS.MI->getOperand(0).getReg()) && in matchCombineFAddFMAFMulToFMadOrFMA()
5589 MRI.hasOneNonDBGUse(RHS.MI->getOperand(3).getReg())) { in matchCombineFAddFMAFMulToFMadOrFMA()
5595 MachineInstr *FMulMI = MRI.getVRegDef(FMA->getOperand(3).getReg()); in matchCombineFAddFMAFMulToFMadOrFMA()
5596 Register X = FMA->getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5597 Register Y = FMA->getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5598 Register U = FMulMI->getOperand(1).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5599 Register V = FMulMI->getOperand(2).getReg(); in matchCombineFAddFMAFMulToFMadOrFMA()
5604 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFMAFMulToFMadOrFMA()
5625 LLT DstType = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5626 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5627 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5650 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5658 mi_match(LHS.MI->getOperand(3).getReg(), MRI, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5662 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5664 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5665 FMulMI->getOperand(2).getReg(), RHS.Reg, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5666 LHS.MI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5667 LHS.MI->getOperand(2).getReg(), B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5679 MachineInstr *FMulMI = MRI.getVRegDef(FMAMI->getOperand(3).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5682 MRI.getType(FMAMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5684 Register X = FMAMI->getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5685 Register Y = FMAMI->getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5688 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5689 FMulMI->getOperand(2).getReg(), RHS.Reg, X, Y, B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5699 mi_match(RHS.MI->getOperand(3).getReg(), MRI, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5703 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5705 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5706 FMulMI->getOperand(2).getReg(), LHS.Reg, in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5707 RHS.MI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5708 RHS.MI->getOperand(2).getReg(), B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5720 MachineInstr *FMulMI = MRI.getVRegDef(FMAMI->getOperand(3).getReg()); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5723 MRI.getType(FMAMI->getOperand(0).getReg()))) { in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5725 Register X = FMAMI->getOperand(1).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5726 Register Y = FMAMI->getOperand(2).getReg(); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5729 buildMatchInfo(FMulMI->getOperand(1).getReg(), in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5730 FMulMI->getOperand(2).getReg(), LHS.Reg, X, Y, B); in matchCombineFAddFpExtFMulToFMadOrFMAAggressive()
5747 Register Op1 = MI.getOperand(1).getReg(); in matchCombineFSubFMulToFMadOrFMA()
5748 Register Op2 = MI.getOperand(2).getReg(); in matchCombineFSubFMulToFMadOrFMA()
5751 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFMulToFMadOrFMA()
5770 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFMulToFMadOrFMA()
5771 {LHS.MI->getOperand(1).getReg(), in matchCombineFSubFMulToFMadOrFMA()
5772 LHS.MI->getOperand(2).getReg(), NegZ}); in matchCombineFSubFMulToFMadOrFMA()
5781 B.buildFNeg(DstTy, RHS.MI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFMulToFMadOrFMA()
5782 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFMulToFMadOrFMA()
5783 {NegY, RHS.MI->getOperand(2).getReg(), LHS.Reg}); in matchCombineFSubFMulToFMadOrFMA()
5799 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFNegFMulToFMadOrFMA()
5800 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFNegFMulToFMadOrFMA()
5801 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFNegFMulToFMadOrFMA()
5810 MRI.hasOneNonDBGUse(FMulMI->getOperand(0).getReg()))) && in matchCombineFSubFNegFMulToFMadOrFMA()
5814 B.buildFNeg(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFNegFMulToFMadOrFMA()
5816 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFNegFMulToFMadOrFMA()
5817 {NegX, FMulMI->getOperand(2).getReg(), NegZ}); in matchCombineFSubFNegFMulToFMadOrFMA()
5825 MRI.hasOneNonDBGUse(FMulMI->getOperand(0).getReg()))) && in matchCombineFSubFNegFMulToFMadOrFMA()
5828 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFNegFMulToFMadOrFMA()
5829 {FMulMI->getOperand(1).getReg(), in matchCombineFSubFNegFMulToFMadOrFMA()
5830 FMulMI->getOperand(2).getReg(), LHSReg}); in matchCombineFSubFNegFMulToFMadOrFMA()
5846 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFpExtFMulToFMadOrFMA()
5847 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFpExtFMulToFMadOrFMA()
5848 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFpExtFMulToFMadOrFMA()
5860 B.buildFPExt(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5862 B.buildFPExt(DstTy, FMulMI->getOperand(2).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5864 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFpExtFMulToFMadOrFMA()
5876 B.buildFPExt(DstTy, FMulMI->getOperand(1).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5879 B.buildFPExt(DstTy, FMulMI->getOperand(2).getReg()).getReg(0); in matchCombineFSubFpExtFMulToFMadOrFMA()
5880 B.buildInstr(PreferredFusedOpcode, {MI.getOperand(0).getReg()}, in matchCombineFSubFpExtFMulToFMadOrFMA()
5898 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5899 Register LHSReg = MI.getOperand(1).getReg(); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5900 Register RHSReg = MI.getOperand(2).getReg(); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5921 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5924 buildMatchInfo(FMAReg, FMulMI->getOperand(1).getReg(), in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5925 FMulMI->getOperand(2).getReg(), RHSReg, B); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5926 B.buildFNeg(MI.getOperand(0).getReg(), FMAReg); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5937 MRI.getType(FMulMI->getOperand(0).getReg()))) { in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5939 buildMatchInfo(MI.getOperand(0).getReg(), FMulMI->getOperand(1).getReg(), in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5940 FMulMI->getOperand(2).getReg(), LHSReg, B); in matchCombineFSubFpExtFNegFMulToFMadOrFMA()
5965 Register MaybeNaNReg = MI.getOperand(Idx).getReg(); in matchCombineFMinMaxNaN()
5978 Register LHS = MI.getOperand(1).getReg(); in matchAddSubSameReg()
5979 Register RHS = MI.getOperand(2).getReg(); in matchAddSubSameReg()
6010 LLT DstVecTy = MRI.getType(MI.getOperand(0).getReg()); in matchBuildVectorIdentityFold()
6042 if (!mi_match(MI.getOperand(1).getReg(), MRI, in matchTruncBuildVectorFold()
6046 return MRI.getType(MatchInfo) == MRI.getType(MI.getOperand(0).getReg()); in matchTruncBuildVectorFold()
6054 if (!mi_match(MI.getOperand(1).getReg(), MRI, in matchTruncLshrBuildVectorFold()
6061 MatchTy == MRI.getType(MI.getOperand(0).getReg()); in matchTruncLshrBuildVectorFold()
6185 Register Cond = MI.getOperand(1).getReg(); in matchSimplifySelectToMinMax()
6189 Register Dst = MI.getOperand(0).getReg(); in matchSimplifySelectToMinMax()
6190 Register TrueVal = MI.getOperand(2).getReg(); in matchSimplifySelectToMinMax()
6191 Register FalseVal = MI.getOperand(3).getReg(); in matchSimplifySelectToMinMax()
6204 Register Dst = MI.getOperand(0).getReg(); in matchRedundantBinOpInEquality()
6228 Register ShiftReg = MI.getOperand(2).getReg(); in matchShiftsTooBig()
6229 LLT ResTy = MRI.getType(MI.getOperand(0).getReg()); in matchShiftsTooBig()
6238 Register LHS = MI.getOperand(1).getReg(); in matchCommuteConstantToRHS()
6239 Register RHS = MI.getOperand(2).getReg(); in matchCommuteConstantToRHS()
6254 Register LHS = MI.getOperand(1).getReg(); in matchCommuteFPConstantToRHS()
6255 Register RHS = MI.getOperand(2).getReg(); in matchCommuteFPConstantToRHS()
6264 Register LHSReg = MI.getOperand(1).getReg(); in applyCommuteBinOpOperands()
6265 Register RHSReg = MI.getOperand(2).getReg(); in applyCommuteBinOpOperands()
6266 MI.getOperand(1).setReg(RHSReg); in applyCommuteBinOpOperands()
6267 MI.getOperand(2).setReg(LHSReg); in applyCommuteBinOpOperands()