Lines Matching refs:LLT
56 getNarrowTypeBreakDown(LLT OrigTy, LLT NarrowTy, LLT &LeftoverTy) { in getNarrowTypeBreakDown()
72 LeftoverTy = LLT::scalarOrVector( in getNarrowTypeBreakDown()
75 LeftoverTy = LLT::scalar(LeftoverSize); in getNarrowTypeBreakDown()
82 static Type *getFloatTypeForLLT(LLVMContext &Ctx, LLT Ty) { in getFloatTypeForLLT()
162 LLT ResultTy, LLT PartTy, in insertParts()
164 LLT LeftoverTy, in insertParts()
191 LLT GCDTy = getGCDType(getGCDType(ResultTy, LeftoverTy), PartTy); in insertParts()
194 LLT ResultLCMTy = buildLCMMergePieces(ResultTy, LeftoverTy, GCDTy, GCDRegs); in insertParts()
200 LLT Ty = MRI.getType(Reg); in appendVectorElts()
236 LLT GCDTy, Register SrcReg) { in extractGCDType()
237 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType()
249 LLT LegalizerHelper::extractGCDType(SmallVectorImpl<Register> &Parts, LLT DstTy, in extractGCDType()
250 LLT NarrowTy, Register SrcReg) { in extractGCDType()
251 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType()
252 LLT GCDTy = getGCDType(getGCDType(SrcTy, NarrowTy), DstTy); in extractGCDType()
257 LLT LegalizerHelper::buildLCMMergePieces(LLT DstTy, LLT NarrowTy, LLT GCDTy, in buildLCMMergePieces()
260 LLT LCMTy = getLCMType(DstTy, NarrowTy); in buildLCMMergePieces()
280 MIRBuilder.buildConstant(LLT::scalar(64), GCDTy.getSizeInBits() - 1); in buildLCMMergePieces()
348 void LegalizerHelper::buildWidenedRemergeToDst(Register DstReg, LLT LCMTy, in buildWidenedRemergeToDst()
350 LLT DstTy = MRI.getType(DstReg); in buildWidenedRemergeToDst()
631 LLT OpLLT = MRI.getType(Reg); in createMemLibcall()
714 LLT MemType = MMO.getMemoryType(); in getOutlineAtomicLibcall()
769 LLT SuccessLLT; in createAtomicLibcall()
915 LLT StateTy = MRI.getType(Dst); in createGetStateLibcall()
955 LLT StateTy = MRI.getType(Src); in createSetStateLibcall()
993 LLT MemTy = LLT::pointer(AddrSpace, PtrSize); in createResetStateLibcall()
994 auto DefValue = MIRBuilder.buildConstant(LLT::scalar(PtrSize), -1LL); in createResetStateLibcall()
1018 LLT LLTy = MRI.getType(MI.getOperand(0).getReg()); in libcall()
1050 LLT LLTy = MRI.getType(MI.getOperand(0).getReg()); in libcall()
1063 LLT LLTy = MRI.getType(MI.getOperand(0).getReg()); in libcall()
1181 LLT NarrowTy) { in narrowScalar()
1190 LLT DstTy = MRI.getType(DstReg); in narrowScalar()
1199 LLT ImplicitTy = NarrowTy; in narrowScalar()
1201 ImplicitTy = LLT::vector(DstTy.getElementCount(), ImplicitTy); in narrowScalar()
1224 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in narrowScalar()
1238 LLT LeftoverTy; in narrowScalar()
1242 LeftoverTy = LLT::scalar(LeftoverBits); in narrowScalar()
1279 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in narrowScalar()
1316 LLT DstTy = MRI.getType(DstReg); in narrowScalar()
1361 LLT SrcTy = MRI.getType(SrcReg); in narrowScalar()
1484 LLT SrcTy = MRI.getType(LHS); in narrowScalar()
1493 LLT LeftoverTy; // Example: s88 -> s64 (NarrowTy) + s24 (leftover) in narrowScalar()
1499 LLT Unused; // Matches LeftoverTy; G_ICMP LHS and RHS are the same type. in narrowScalar()
1508 LLT ResTy = MRI.getType(Dst); in narrowScalar()
1529 LLT GCDTy = extractGCDType(WidenedXors, NarrowTy, LeftoverTy, Xor); in narrowScalar()
1697 LLT Ty = MRI.getType(Val); in coerceToScalar()
1702 LLT NewTy = LLT::scalar(Ty.getSizeInBits()); in coerceToScalar()
1712 LLT EltTy = Ty.getElementType(); in coerceToScalar()
1718 void LegalizerHelper::widenScalarSrc(MachineInstr &MI, LLT WideTy, in widenScalarSrc()
1725 void LegalizerHelper::narrowScalarSrc(MachineInstr &MI, LLT NarrowTy, in narrowScalarSrc()
1732 void LegalizerHelper::widenScalarDst(MachineInstr &MI, LLT WideTy, in widenScalarDst()
1741 void LegalizerHelper::narrowScalarDst(MachineInstr &MI, LLT NarrowTy, in narrowScalarDst()
1750 void LegalizerHelper::moreElementsVectorDst(MachineInstr &MI, LLT WideTy, in moreElementsVectorDst()
1760 void LegalizerHelper::moreElementsVectorSrc(MachineInstr &MI, LLT MoreTy, in moreElementsVectorSrc()
1767 void LegalizerHelper::bitcastSrc(MachineInstr &MI, LLT CastTy, unsigned OpIdx) { in bitcastSrc()
1772 void LegalizerHelper::bitcastDst(MachineInstr &MI, LLT CastTy, unsigned OpIdx) { in bitcastDst()
1782 LLT WideTy) { in widenScalarMergeValues()
1790 LLT SrcTy = MRI.getType(Src1Reg); in widenScalarMergeValues()
1808 assert(MRI.getType(SrcReg) == LLT::scalar(PartSize)); in widenScalarMergeValues()
1852 LLT GCDTy = LLT::scalar(GCD); in widenScalarMergeValues()
1857 LLT WideDstTy = LLT::scalar(NumMerge * WideSize); in widenScalarMergeValues()
1903 LLT WideTy) { in widenScalarUnmergeValues()
1909 LLT SrcTy = MRI.getType(SrcReg); in widenScalarUnmergeValues()
1914 LLT DstTy = MRI.getType(Dst0Reg); in widenScalarUnmergeValues()
1927 SrcTy = LLT::scalar(SrcTy.getSizeInBits()); in widenScalarUnmergeValues()
1955 LLT LCMTy = getLCMType(SrcTy, WideTy); in widenScalarUnmergeValues()
1985 const LLT GCDTy = getGCDType(WideTy, DstTy); in widenScalarUnmergeValues()
2032 LLT WideTy) { in widenScalarExtract()
2048 LLT SrcAsIntTy = LLT::scalar(SrcTy.getSizeInBits()); in widenScalarExtract()
2065 LLT ShiftTy = SrcTy; in widenScalarExtract()
2106 LLT WideTy) { in widenScalarInsert()
2118 LLT WideTy) { in widenScalarAddSubOverflow()
2180 LLT CarryOutTy = MRI.getType(MI.getOperand(1).getReg()); in widenScalarAddSubOverflow()
2188 LLT OrigTy = MRI.getType(MI.getOperand(0).getReg()); in widenScalarAddSubOverflow()
2201 LLT WideTy) { in widenScalarAddSubShlSat()
2245 LLT WideTy) { in widenScalarMulo()
2255 LLT SrcTy = MRI.getType(LHS); in widenScalarMulo()
2256 LLT OverflowTy = MRI.getType(OriginalOverflow); in widenScalarMulo()
2311 LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) { in widenScalar()
2401 LLT CurTy = MRI.getType(SrcReg); in widenScalar()
2443 LLT Ty = MRI.getType(DstReg); in widenScalar()
2456 LLT Ty = MRI.getType(DstReg); in widenScalar()
2661 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in widenScalar()
2768 LLT VecTy = MRI.getType(VecReg); in widenScalar()
2772 MI, LLT::vector(VecTy.getElementCount(), WideTy.getSizeInBits()), 1, in widenScalar()
2791 const LLT WideEltTy = WideTy.getElementType(); in widenScalar()
2804 LLT VecTy = MRI.getType(VecReg); in widenScalar()
2805 LLT WideVecTy = LLT::vector(VecTy.getElementCount(), WideTy); in widenScalar()
2923 const LLT WideEltTy = TypeIdx == 1 ? WideTy : WideTy.getElementType(); in widenScalar()
2965 LLT VecTy = MRI.getType(VecReg); in widenScalar()
2966 LLT WideVecTy = VecTy.isVector() in widenScalar()
2967 ? LLT::vector(VecTy.getElementCount(), WideTy) in widenScalar()
2977 MachineIRBuilder &B, Register Src, LLT Ty) { in getUnmergePieces()
2991 LLT AddrPtrTy = LLT::pointer(AddrSpace, DL.getPointerSizeInBits(AddrSpace)); in lowerFConstant()
3013 LLT SrcEltTy = SrcTy.getElementType(); in lowerBitcast()
3020 LLT DstEltTy = DstTy.getElementType(); in lowerBitcast()
3021 LLT DstCastTy = DstEltTy; // Intermediate bitcast result type in lowerBitcast()
3022 LLT SrcPartTy = SrcEltTy; // Original unmerge result type. in lowerBitcast()
3035 DstCastTy = LLT::fixed_vector(NumDstElt / NumSrcElt, DstEltTy); in lowerBitcast()
3047 SrcPartTy = LLT::fixed_vector(NumSrcElt / NumDstElt, SrcEltTy); in lowerBitcast()
3085 LLT IdxTy = B.getMRI()->getType(Idx); in getBitcastWiderVectorElementOffset()
3103 LLT CastTy) { in bitcastExtractVectorElt()
3109 LLT SrcEltTy = SrcVecTy.getElementType(); in bitcastExtractVectorElt()
3113 LLT NewEltTy = CastTy.isVector() ? CastTy.getElementType() : CastTy; in bitcastExtractVectorElt()
3134 LLT MidTy = in bitcastExtractVectorElt()
3135 LLT::scalarOrVector(ElementCount::getFixed(NewEltsPerOldElt), NewEltTy); in bitcastExtractVectorElt()
3211 LLT TargetTy = B.getMRI()->getType(TargetReg); in buildBitFieldInsert()
3212 LLT InsertTy = B.getMRI()->getType(InsertReg); in buildBitFieldInsert()
3239 LLT CastTy) { in bitcastInsertVectorElt()
3245 LLT VecTy = DstTy; in bitcastInsertVectorElt()
3247 LLT VecEltTy = VecTy.getElementType(); in bitcastInsertVectorElt()
3248 LLT NewEltTy = CastTy.isVector() ? CastTy.getElementType() : CastTy; in bitcastInsertVectorElt()
3301 LLT DstTy = MRI.getType(DstReg); in lowerLoad()
3303 LLT MemTy = MMO.getMemoryType(); in lowerLoad()
3315 LLT WideMemTy = LLT::scalar(MemStoreSizeInBits); in lowerLoad()
3320 LLT LoadTy = DstTy; in lowerLoad()
3400 LLT PtrTy = MRI.getType(PtrReg); in lowerLoad()
3402 LLT AnyExtTy = LLT::scalar(AnyExtSize); in lowerLoad()
3406 auto OffsetCst = MIRBuilder.buildConstant(LLT::scalar(PtrTy.getSizeInBits()), in lowerLoad()
3443 LLT SrcTy = MRI.getType(SrcReg); in lowerStore()
3446 LLT MemTy = MMO.getMemoryType(); in lowerStore()
3458 LLT WideTy = LLT::scalar(StoreSizeInBits); in lowerStore()
3503 const LLT NewSrcTy = LLT::scalar(AnyExtSize); in lowerStore()
3506 const LLT IntPtrTy = LLT::scalar(SrcTy.getSizeInBits()); in lowerStore()
3517 LLT PtrTy = MRI.getType(PtrReg); in lowerStore()
3519 LLT::scalar(PtrTy.getSizeInBits()), LargeSplitSize / 8); in lowerStore()
3534 LegalizerHelper::bitcast(MachineInstr &MI, unsigned TypeIdx, LLT CastTy) { in bitcast()
3611 LegalizerHelper::lower(MachineInstr &MI, unsigned TypeIdx, LLT LowerHintTy) { in lower()
3623 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in lower()
3644 LLT Ty = MRI.getType(Res); in lower()
3675 LLT Ty = MRI.getType(Res); in lower()
3690 LLT Ty = MRI.getType(Res); in lower()
3746 const LLT CondTy = MRI.getType(CarryOut); in lower()
3747 const LLT Ty = MRI.getType(Res); in lower()
3780 const LLT CondTy = MRI.getType(BorrowOut); in lower()
3781 const LLT Ty = MRI.getType(Res); in lower()
3835 LLT DstTy = MRI.getType(DstReg); in lower()
3871 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in lower()
3878 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in lower()
3924 Align LegalizerHelper::getStackTemporaryAlignment(LLT Ty, in getStackTemporaryAlignment()
3942 LLT FramePtrTy = LLT::pointer(AddrSpace, DL.getPointerSizeInBits(AddrSpace)); in createStackTemporary()
3949 LLT VecTy) { in clampDynamicVectorIndex()
3954 LLT IdxTy = B.getMRI()->getType(IdxReg); in clampDynamicVectorIndex()
3965 Register LegalizerHelper::getVectorElementPointer(Register VecPtr, LLT VecTy, in getVectorElementPointer()
3967 LLT EltTy = VecTy.getElementType(); in getVectorElementPointer()
3976 LLT IdxTy = MRI.getType(Index); in getVectorElementPointer()
3980 LLT PtrTy = MRI.getType(VecPtr); in getVectorElementPointer()
3993 LLT VecTy = MRI.getType(MI.getReg(0)); in hasSameNumEltsOnAllVectorOperands()
4006 LLT Ty = MRI.getType(Op.getReg()); in hasSameNumEltsOnAllVectorOperands()
4025 static void makeDstOps(SmallVectorImpl<DstOp> &DstOps, LLT Ty, in makeDstOps()
4027 LLT LeftoverTy; in makeDstOps()
4029 LLT EltTy = Ty.getElementType(); in makeDstOps()
4030 LLT NarrowTy = (NumElts == 1) ? EltTy : LLT::fixed_vector(NumElts, EltTy); in makeDstOps()
4201 LLT NarrowTy) { in fewerElementsVectorUnmergeValues()
4204 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in fewerElementsVectorUnmergeValues()
4205 LLT SrcTy = MRI.getType(SrcReg); in fewerElementsVectorUnmergeValues()
4249 LLT NarrowTy) { in fewerElementsVectorMerge()
4279 LLT EltTy = MRI.getType(MI.getOperand(1).getReg()).getScalarType(); in fewerElementsVectorMerge()
4336 LLT NarrowVecTy) { in fewerElementsVectorExtractInsertVectorElt()
4351 LLT VecTy = MRI.getType(SrcVec); in fewerElementsVectorExtractInsertVectorElt()
4367 LLT GCDTy = extractGCDType(VecParts, VecTy, NarrowVecTy, SrcVec); in fewerElementsVectorExtractInsertVectorElt()
4370 LLT LCMTy = buildLCMMergePieces(VecTy, NarrowVecTy, GCDTy, VecParts, in fewerElementsVectorExtractInsertVectorElt()
4375 LLT IdxTy = MRI.getType(Idx); in fewerElementsVectorExtractInsertVectorElt()
4381 LLT PartTy = MRI.getType(VecParts[PartIdx]); in fewerElementsVectorExtractInsertVectorElt()
4409 LLT NarrowTy) { in reduceLoadStoreWidth()
4422 LLT ValTy = MRI.getType(ValReg); in reduceLoadStoreWidth()
4432 LLT LeftoverTy; in reduceLoadStoreWidth()
4447 LLT PtrTy = MRI.getType(AddrReg); in reduceLoadStoreWidth()
4448 const LLT OffsetTy = LLT::scalar(PtrTy.getSizeInBits()); in reduceLoadStoreWidth()
4458 auto splitTypePieces = [=](LLT PartTy, SmallVectorImpl<Register> &ValRegs, in reduceLoadStoreWidth()
4504 LLT NarrowTy) { in fewerElementsVector()
4660 MachineInstr &MI, unsigned int TypeIdx, LLT NarrowTy) { in fewerElementsVectorShuffle()
4746 LLT EltTy = NarrowTy.getElementType(); in fewerElementsVectorShuffle()
4770 MIRBuilder.buildConstant(LLT::scalar(32), Idx)) in fewerElementsVectorShuffle()
4798 MachineInstr &MI, unsigned int TypeIdx, LLT NarrowTy) { in fewerElementsVectorReductions()
4886 LLT NarrowTy) { in fewerElementsVectorSeqReductions()
4915 LLT SrcTy, LLT NarrowTy, in tryNarrowPow2Reduction()
4945 const LLT HalfTy, const LLT AmtTy) { in narrowScalarShiftByConstant()
4957 LLT NVT = HalfTy; in narrowScalarShiftByConstant()
5034 LLT RequestedTy) { in narrowScalarShift()
5043 LLT DstTy = MRI.getType(DstReg); in narrowScalarShift()
5048 LLT ShiftAmtTy = MRI.getType(Amt); in narrowScalarShift()
5057 const LLT HalfTy = LLT::scalar(NewBitSize); in narrowScalarShift()
5058 const LLT CondTy = LLT::scalar(1); in narrowScalarShift()
5143 LLT MoreTy) { in moreElementsVectorPhi()
5162 LLT MoreTy) { in moreElementsVector()
5318 LLT SrcTy = LLT::fixed_vector( in moreElementsVector()
5348 LLT DestEltTy = DstTy.getElementType(); in equalizeVectorShuffleLengths()
5372 LLT PaddedTy = LLT::fixed_vector(PaddedMaskNumElts, DestEltTy); in equalizeVectorShuffleLengths()
5416 unsigned int TypeIdx, LLT MoreTy) { in moreElementsVectorShuffle()
5460 LLT NarrowTy) { in multiplyRegisters()
5497 B.buildUAddo(NarrowTy, LLT::scalar(1), Factors[0], Factors[1]); in multiplyRegisters()
5502 B.buildUAddo(NarrowTy, LLT::scalar(1), FactorSum, Factors[i]); in multiplyRegisters()
5522 LLT NarrowTy) { in narrowScalarAddSub()
5527 LLT DstType = MRI.getType(DstReg); in narrowScalarAddSub()
5571 LLT RegTy = MRI.getType(MI.getOperand(0).getReg()); in narrowScalarAddSub()
5572 LLT LeftoverTy, DummyTy; in narrowScalarAddSub()
5589 Register CarryOut = MRI.createGenericVirtualRegister(LLT::scalar(1)); in narrowScalarAddSub()
5617 LegalizerHelper::narrowScalarMul(MachineInstr &MI, LLT NarrowTy) { in narrowScalarMul()
5620 LLT Ty = MRI.getType(DstReg); in narrowScalarMul()
5648 LLT NarrowTy) { in narrowScalarFPTOI()
5655 LLT SrcTy = MRI.getType(Src); in narrowScalarFPTOI()
5660 if (SrcTy.getScalarType() != LLT::scalar(16) || in narrowScalarFPTOI()
5673 LLT NarrowTy) { in narrowScalarExtract()
5721 SegReg = MRI.createGenericVirtualRegister(LLT::scalar(SegSize)); in narrowScalarExtract()
5741 LLT NarrowTy) { in narrowScalarInsert()
5748 LLT RegTy = MRI.getType(MI.getOperand(0).getReg()); in narrowScalarInsert()
5749 LLT LeftoverTy; in narrowScalarInsert()
5801 SegReg = MRI.createGenericVirtualRegister(LLT::scalar(SegSize)); in narrowScalarInsert()
5813 Register MergeReg = MRI.createGenericVirtualRegister(LLT::scalar(WideSize)); in narrowScalarInsert()
5825 LLT NarrowTy) { in narrowScalarBasic()
5827 LLT DstTy = MRI.getType(DstReg); in narrowScalarBasic()
5834 LLT LeftoverTy; in narrowScalarBasic()
5839 LLT Unused; in narrowScalarBasic()
5866 LLT NarrowTy) { in narrowScalarExt()
5872 LLT DstTy = MRI.getType(DstReg); in narrowScalarExt()
5877 LLT GCDTy = extractGCDType(Parts, DstTy, NarrowTy, SrcReg); in narrowScalarExt()
5878 LLT LCMTy = buildLCMMergePieces(DstTy, NarrowTy, GCDTy, Parts, MI.getOpcode()); in narrowScalarExt()
5887 LLT NarrowTy) { in narrowScalarSelect()
5892 LLT CondTy = MRI.getType(CondReg); in narrowScalarSelect()
5897 LLT DstTy = MRI.getType(DstReg); in narrowScalarSelect()
5902 LLT LeftoverTy; in narrowScalarSelect()
5907 LLT Unused; in narrowScalarSelect()
5933 LLT NarrowTy) { in narrowScalarCTLZ()
5947 auto HiIsZero = B.buildICmp(CmpInst::ICMP_EQ, LLT::scalar(1), in narrowScalarCTLZ()
5966 LLT NarrowTy) { in narrowScalarCTTZ()
5980 auto LoIsZero = B.buildICmp(CmpInst::ICMP_EQ, LLT::scalar(1), in narrowScalarCTTZ()
5999 LLT NarrowTy) { in narrowScalarCTPOP()
6022 LLT NarrowTy) { in narrowScalarFLDEXP()
6028 LLT ExpTy = MRI.getType(ExpReg); in narrowScalarFLDEXP()
6150 LLT Ty = MRI.getType(SrcReg); in lowerBitCount()
6220 LLT Ty = MRI.getType(Dst); in lowerFunnelShiftWithInverse()
6221 LLT ShTy = MRI.getType(Z); in lowerFunnelShiftWithInverse()
6259 LLT Ty = MRI.getType(Dst); in lowerFunnelShiftAsShifts()
6260 LLT ShTy = MRI.getType(Z); in lowerFunnelShiftAsShifts()
6318 LLT Ty = MRI.getType(Dst); in lowerFunnelShift()
6319 LLT ShTy = MRI.getType(MI.getOperand(3).getReg()); in lowerFunnelShift()
6337 LLT DstTy = MRI.getType(Dst); in lowerEXT()
6338 LLT SrcTy = MRI.getType(Src); in lowerEXT()
6351 LLT MidTy = SrcTy.changeElementSize(SrcTyScalarSize * 2); in lowerEXT()
6356 LLT EltTy = MidTy.changeElementCount( in lowerEXT()
6361 LLT ZExtResTy = DstTy.changeElementCount( in lowerEXT()
6392 LLT DstTy = MRI.getType(DstReg); in lowerTRUNC()
6393 LLT SrcTy = MRI.getType(SrcReg); in lowerTRUNC()
6400 LLT SplitSrcTy = SrcTy.changeElementCount( in lowerTRUNC()
6408 LLT InterTy; in lowerTRUNC()
6518 const LLT S64 = LLT::scalar(64); in lowerU64ToF32BitOps()
6519 const LLT S32 = LLT::scalar(32); in lowerU64ToF32BitOps()
6520 const LLT S1 = LLT::scalar(1); in lowerU64ToF32BitOps()
6574 if (SrcTy == LLT::scalar(1)) { in lowerUITOFP()
6582 if (SrcTy != LLT::scalar(64)) in lowerUITOFP()
6585 if (DstTy == LLT::scalar(32)) { in lowerUITOFP()
6599 const LLT S64 = LLT::scalar(64); in lowerSITOFP()
6600 const LLT S32 = LLT::scalar(32); in lowerSITOFP()
6601 const LLT S1 = LLT::scalar(1); in lowerSITOFP()
6641 const LLT S64 = LLT::scalar(64); in lowerFPTOUI()
6642 const LLT S32 = LLT::scalar(32); in lowerFPTOUI()
6669 const LLT S1 = LLT::scalar(1); in lowerFPTOUI()
6681 const LLT S64 = LLT::scalar(64); in lowerFPTOSI()
6682 const LLT S32 = LLT::scalar(32); in lowerFPTOSI()
6722 const LLT S1 = LLT::scalar(1); in lowerFPTOSI()
6746 const LLT S1 = LLT::scalar(1); in lowerFPTRUNC_F64_TO_F16()
6747 const LLT S32 = LLT::scalar(32); in lowerFPTRUNC_F64_TO_F16()
6750 assert(MRI.getType(Dst).getScalarType() == LLT::scalar(16) && in lowerFPTRUNC_F64_TO_F16()
6751 MRI.getType(Src).getScalarType() == LLT::scalar(64)); in lowerFPTRUNC_F64_TO_F16()
6862 const LLT S64 = LLT::scalar(64); in lowerFPTRUNC()
6863 const LLT S16 = LLT::scalar(16); in lowerFPTRUNC()
6875 LLT Ty = MRI.getType(Dst); in lowerFPOWI()
6902 LLT CmpType = MRI.getType(Dst).changeElementSize(1); in lowerMinMax()
6955 LLT Ty = MRI.getType(Dst); in lowerFMinNumMaxNum()
6981 LLT Ty = MRI.getType(DstReg); in lowerFMad()
6995 const LLT Ty = MRI.getType(DstReg); in lowerIntrinsicRound()
6996 const LLT CondTy = Ty.changeElementSize(1); in lowerIntrinsicRound()
7028 LLT Ty = MRI.getType(DstReg); in lowerFFloor()
7029 const LLT CondTy = Ty.changeElementSize(1); in lowerFFloor()
7056 LLT WideTy = LLT::scalar(DstTy.getSizeInBits()); in lowerMergeValues()
7093 LLT DstTy = MRI.getType(Dst0Reg); in lowerUnmergeValues()
7102 LLT IntTy = MRI.getType(SrcReg); in lowerUnmergeValues()
7138 LLT VecTy = MRI.getType(SrcVec); in lowerExtractInsertVectorElt()
7139 LLT EltTy = VecTy.getElementType(); in lowerExtractInsertVectorElt()
7204 LLT IdxTy = LLT::scalar(32); in lowerShuffleVector()
7209 LLT EltTy = DstTy.getScalarType(); in lowerShuffleVector()
7242 LLT PtrTy) { in getDynStackAllocTargetPtr()
7243 LLT IntPtrTy = LLT::scalar(PtrTy.getSizeInBits()); in getDynStackAllocTargetPtr()
7273 LLT PtrTy = MRI.getType(Dst); in lowerDynStackAlloc()
7341 LLT SrcIntTy = SrcTy; in lowerExtract()
7343 SrcIntTy = LLT::scalar(SrcTy.getSizeInBits()); in lowerExtract()
7366 LLT DstTy = MRI.getType(Src); in lowerInsert()
7367 LLT InsertTy = MRI.getType(InsertSrc); in lowerInsert()
7371 LLT EltTy = DstTy.getElementType(); in lowerInsert()
7421 LLT IntDstTy = DstTy; in lowerInsert()
7424 IntDstTy = LLT::scalar(DstTy.getSizeInBits()); in lowerInsert()
7429 const LLT IntInsertTy = LLT::scalar(InsertTy.getSizeInBits()); in lowerInsert()
7457 LLT Ty = Dst0Ty; in lowerSADDO_SSUBO()
7458 LLT BoolTy = Dst1Ty; in lowerSADDO_SSUBO()
7488 LLT Ty = MRI.getType(Res); in lowerAddSubSatToMinMax()
7563 LLT Ty = MRI.getType(Res); in lowerAddSubSatToAddoSubo()
7564 LLT BoolTy = Ty.changeElementSize(1); in lowerAddSubSatToAddoSubo()
7633 LLT Ty = MRI.getType(Res); in lowerShlSat()
7634 LLT BoolTy = Ty.changeElementSize(1); in lowerShlSat()
7660 const LLT Ty = MRI.getType(Src); in lowerBswap()
7694 const LLT Ty = Dst.getLLTTy(*B.getMRI()); in SwapN()
7705 const LLT Ty = MRI.getType(Src); in lowerBitreverse()
7741 const LLT Ty = MRI.getType(ValReg); in lowerReadWriteRegister()
7763 LLT OrigTy = MRI.getType(Result); in lowerSMULH_UMULH()
7765 LLT WideTy = OrigTy.changeElementSize(SizeInBits * 2); in lowerSMULH_UMULH()
7802 LLT IntTy = LLT::scalar(BitSize); in lowerISFPCLASS()
7804 IntTy = LLT::vector(SrcTy.getElementCount(), IntTy); in lowerISFPCLASS()
7829 LLT DstTyCopy = DstTy; in lowerISFPCLASS()
7963 LLT ScalarPtrTy = LLT::scalar(DstTy.getScalarSizeInBits()); in lowerSelect()
7964 LLT NewTy = DstTy.changeElementType(ScalarPtrTy); in lowerSelect()
7977 if (MaskTy != LLT::scalar(1)) in lowerSelect()
8029 LLT DstTy = MRI.getType(MI.getOperand(0).getReg()); in lowerAbsToAddXor()
8047 LLT Ty = MRI.getType(SrcReg); in lowerAbsToMaxNeg()
8058 LLT SrcTy = MRI.getType(SrcReg); in lowerVectorReduction()
8059 LLT DstTy = MRI.getType(SrcReg); in lowerVectorReduction()
8074 static Type *getTypeForLLT(LLT Ty, LLVMContext &C);
8081 LLT PtrTy = MRI.getType(ListPtr); in lowerVAArg()
8091 LLT PtrTyAsScalarTy = LLT::scalar(PtrTy.getSizeInBits()); in lowerVAArg()
8104 LLT LLTTy = MRI.getType(Dst); in lowerVAArg()
8134 static bool findGISelOptimalMemOpLowering(std::vector<LLT> &MemOps, in findGISelOptimalMemOpLowering()
8142 LLT Ty = TLI.getOptimalMemOpLLT(Op, FuncAttributes); in findGISelOptimalMemOpLowering()
8144 if (Ty == LLT()) { in findGISelOptimalMemOpLowering()
8148 Ty = LLT::scalar(64); in findGISelOptimalMemOpLowering()
8152 Ty = LLT::scalar(Ty.getSizeInBytes()); in findGISelOptimalMemOpLowering()
8163 LLT NewTy = Ty; in findGISelOptimalMemOpLowering()
8167 NewTy = NewTy.getSizeInBits() > 64 ? LLT::scalar(64) : LLT::scalar(32); in findGISelOptimalMemOpLowering()
8168 NewTy = LLT::scalar(llvm::bit_floor(NewTy.getSizeInBits() - 1)); in findGISelOptimalMemOpLowering()
8199 static Type *getTypeForLLT(LLT Ty, LLVMContext &C) { in getTypeForLLT()
8207 static Register getMemsetValue(Register Val, LLT Ty, MachineIRBuilder &MIB) { in getMemsetValue()
8224 LLT ExtType = Ty.getScalarType(); in getMemsetValue()
8259 std::vector<LLT> MemOps; in lowerMemset()
8291 LLT LargestTy = MemOps[0]; in lowerMemset()
8306 LLT PtrTy = MRI.getType(Dst); in lowerMemset()
8310 LLT Ty = MemOps[I]; in lowerMemset()
8339 MIB.buildConstant(LLT::scalar(PtrTy.getSizeInBits()), DstOff); in lowerMemset()
8415 std::vector<LLT> MemOps; in lowerMemcpy()
8477 LLT SrcTy = MRI.getType(Src); in lowerMemcpy()
8478 Offset = MIB.buildConstant(LLT::scalar(SrcTy.getSizeInBits()), CurrOffset) in lowerMemcpy()
8487 LLT DstTy = MRI.getType(Dst); in lowerMemcpy()
8520 std::vector<LLT> MemOps; in lowerMemmove()
8575 LLT SrcTy = MRI.getType(Src); in lowerMemmove()
8577 MIB.buildConstant(LLT::scalar(SrcTy.getSizeInBits()), CurrOffset); in lowerMemmove()
8586 LLT CopyTy = MemOps[I]; in lowerMemmove()
8593 LLT DstTy = MRI.getType(Dst); in lowerMemmove()
8595 MIB.buildConstant(LLT::scalar(DstTy.getSizeInBits()), CurrOffset); in lowerMemmove()