Home
last modified time | relevance | path

Searched refs:LLT (Results 1 – 25 of 170) sorted by relevance

1234567

/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVLegalizerInfo.cpp63 const LLT s1 = LLT::scalar(1); in SPIRVLegalizerInfo()
64 const LLT s8 = LLT::scalar(8); in SPIRVLegalizerInfo()
65 const LLT s16 = LLT::scalar(16); in SPIRVLegalizerInfo()
66 const LLT s32 = LLT::scalar(32); in SPIRVLegalizerInfo()
67 const LLT s64 = LLT::scalar(64); in SPIRVLegalizerInfo()
69 const LLT v16s64 = LLT::fixed_vector(16, 64); in SPIRVLegalizerInfo()
70 const LLT v16s32 = LLT::fixed_vector(16, 32); in SPIRVLegalizerInfo()
71 const LLT v16s16 = LLT::fixed_vector(16, 16); in SPIRVLegalizerInfo()
72 const LLT v16s8 = LLT::fixed_vector(16, 8); in SPIRVLegalizerInfo()
73 const LLT v16s1 = LLT::fixed_vector(16, 1); in SPIRVLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGenTypes/
H A DLowLevelType.cpp19 LLT::LLT(MVT VT) { in LLT() function in LLT
38 void LLT::print(raw_ostream &OS) const { in print()
52 LLVM_DUMP_METHOD void LLT::dump() const { in dump()
58 const constexpr LLT::BitFieldInfo LLT::ScalarSizeFieldInfo;
59 const constexpr LLT::BitFieldInfo LLT::PointerSizeFieldInfo;
60 const constexpr LLT::BitFieldInfo LLT::PointerAddressSpaceFieldInfo;
61 const constexpr LLT::BitFieldInfo LLT::VectorElementsFieldInfo;
62 const constexpr LLT::BitFieldInfo LLT::VectorScalableFieldInfo;
63 const constexpr LLT::BitFieldInfo LLT::VectorSizeFieldInfo;
64 const constexpr LLT::BitFieldInfo LLT::PointerVectorElementsFieldInfo;
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DLegalizerHelper.h102 LegalizeResult narrowScalar(MachineInstr &MI, unsigned TypeIdx, LLT NarrowTy);
107 LegalizeResult widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy);
110 LegalizeResult bitcast(MachineInstr &MI, unsigned TypeIdx, LLT Ty);
114 LegalizeResult lower(MachineInstr &MI, unsigned TypeIdx, LLT Ty);
119 LLT NarrowTy);
124 LLT MoreTy);
137 void widenScalarSrc(MachineInstr &MI, LLT WideTy, unsigned OpIdx,
143 void narrowScalarSrc(MachineInstr &MI, LLT NarrowTy, unsigned OpIdx);
148 void widenScalarDst(MachineInstr &MI, LLT WideTy, unsigned OpIdx = 0,
154 void narrowScalarDst(MachineInstr &MI, LLT NarrowTy, unsigned OpIdx,
[all …]
H A DLegalizerInfo.h111 ArrayRef<LLT> Types;
114 LLT MemoryTy;
119 MemDesc(LLT MemoryTy, uint64_t AlignInBits, AtomicOrdering Ordering) in MemDesc()
131 constexpr LegalityQuery(unsigned Opcode, const ArrayRef<LLT> Types, in LegalityQuery()
134 constexpr LegalityQuery(unsigned Opcode, const ArrayRef<LLT> Types) in LegalityQuery()
149 LLT NewType;
152 const LLT NewType) in LegalizeActionStep()
202 std::function<std::pair<unsigned, LLT>(const LegalityQuery &)>;
206 LLT Type0;
207 LLT Type1;
[all …]
H A DUtils.h254 void extractParts(Register Reg, LLT Ty, int NumParts,
259 bool extractParts(Register Reg, LLT RegTy, LLT MainTy, LLT &LeftoverTy,
299 std::optional<APInt> ConstantFoldCastOp(unsigned Opcode, LLT DstTy,
307 std::optional<APFloat> ConstantFoldIntToFloat(unsigned Opcode, LLT DstTy,
350 const DebugLoc &DL, LLT RegTy = LLT());
360 LLT getLCMType(LLT OrigTy, LLT TargetTy);
365 LLT getCoverTy(LLT OrigTy, LLT TargetTy);
384 LLT getGCDType(LLT OrigTy, LLT TargetTy);
590 Type *getTypeForLLT(LLT Ty, LLVMContext &C);
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGenTypes/
H A DLowLevelType.h39 class LLT {
42 static constexpr LLT scalar(unsigned SizeInBits) { in scalar()
43 return LLT{/*isPointer=*/false, /*isVector=*/false, /*isScalar=*/true, in scalar()
49 static constexpr LLT token() { in token()
50 return LLT{/*isPointer=*/false, /*isVector=*/false, in token()
57 static constexpr LLT pointer(unsigned AddressSpace, unsigned SizeInBits) { in pointer()
59 return LLT{/*isPointer=*/true, /*isVector=*/false, /*isScalar=*/false, in pointer()
64 static constexpr LLT vector(ElementCount EC, unsigned ScalarSizeInBits) { in vector()
66 return LLT{/*isPointer=*/false, /*isVector=*/true, /*isScalar=*/false, in vector()
71 static constexpr LLT vector(ElementCount EC, LLT ScalarTy) { in vector()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/GISel/
H A DPPCLegalizerInfo.cpp25 const LLT QueryTy = Query.Types[TypeIdx]; in isRegisterType()
43 const LLT P0 = LLT::pointer(0, 64); in PPCLegalizerInfo()
44 const LLT S1 = LLT::scalar(1); in PPCLegalizerInfo()
45 const LLT S8 = LLT::scalar(8); in PPCLegalizerInfo()
46 const LLT S16 = LLT::scalar(16); in PPCLegalizerInfo()
47 const LLT S32 = LLT::scalar(32); in PPCLegalizerInfo()
48 const LLT S64 = LLT::scalar(64); in PPCLegalizerInfo()
49 const LLT V16S8 = LLT::fixed_vector(16, 8); in PPCLegalizerInfo()
50 const LLT V8S16 = LLT::fixed_vector(8, 16); in PPCLegalizerInfo()
51 const LLT V4S32 = LLT::fixed_vector(4, 32); in PPCLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVLegalizerInfo.cpp46 std::initializer_list<LLT> IntOrFPVecTys, in typeIsLegalIntOrFPVec()
60 typeIsLegalBoolVec(unsigned TypeIdx, std::initializer_list<LLT> BoolVecTys, in typeIsLegalBoolVec()
71 : STI(ST), XLen(STI.getXLen()), sXLen(LLT::scalar(XLen)) { in RISCVLegalizerInfo()
72 const LLT sDoubleXLen = LLT::scalar(2 * XLen); in RISCVLegalizerInfo()
73 const LLT p0 = LLT::pointer(0, XLen); in RISCVLegalizerInfo()
74 const LLT s1 = LLT::scalar(1); in RISCVLegalizerInfo()
75 const LLT s8 = LLT::scalar(8); in RISCVLegalizerInfo()
76 const LLT s16 = LLT::scalar(16); in RISCVLegalizerInfo()
77 const LLT s32 = LLT::scalar(32); in RISCVLegalizerInfo()
78 const LLT s64 = LLT::scalar(64); in RISCVLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LegalizerInfo.cpp
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/GISel/
H A DX86LegalizerInfo.cpp47 const LLT p0 = LLT::pointer(0, TM.getPointerSizeInBits(0)); in X86LegalizerInfo()
48 const LLT s1 = LLT::scalar(1); in X86LegalizerInfo()
49 const LLT s8 = LLT::scalar(8); in X86LegalizerInfo()
50 const LLT s16 = LLT::scalar(16); in X86LegalizerInfo()
51 const LLT s32 = LLT::scalar(32); in X86LegalizerInfo()
52 const LLT s64 = LLT::scalar(64); in X86LegalizerInfo()
53 const LLT s80 = LLT::scalar(80); in X86LegalizerInfo()
54 const LLT s128 = LLT::scalar(128); in X86LegalizerInfo()
55 const LLT sMaxScalar = Subtarget.is64Bit() ? s64 : s32; in X86LegalizerInfo()
56 const LLT v2s32 = LLT::fixed_vector(2, 32); in X86LegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULegalizerInfo.cpp56 static LLT getPow2VectorType(LLT Ty) { in getPow2VectorType()
63 static LLT getPow2ScalarType(LLT Ty) { in getPow2ScalarType()
66 return LLT::scalar(Pow2Bits); in getPow2ScalarType()
74 const LLT Ty = Query.Types[TypeIdx]; in isSmallOddVector()
78 const LLT EltTy = Ty.getElementType(); in isSmallOddVector()
88 const LLT Ty = Query.Types[TypeIdx]; in sizeIsMultipleOf32()
95 const LLT Ty = Query.Types[TypeIdx]; in isWideVec16()
96 const LLT EltTy = Ty.getScalarType(); in isWideVec16()
103 const LLT Ty = Query.Types[TypeIdx]; in oneMoreElement()
104 const LLT EltTy = Ty.getElementType(); in oneMoreElement()
[all …]
H A DAMDGPUArgumentUsageInfo.cpp90 std::tuple<const ArgDescriptor *, const TargetRegisterClass *, LLT>
96 &AMDGPU::SGPR_128RegClass, LLT::fixed_vector(4, 32)); in getPreloadedValue()
101 LLT::pointer(AMDGPUAS::CONSTANT_ADDRESS, 64)); in getPreloadedValue()
104 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
107 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
110 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
113 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
117 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
120 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)}; in getPreloadedValue()
124 LLT::pointer(AMDGPUAS::CONSTANT_ADDRESS, 64)); in getPreloadedValue()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DLegalizeMutations.cpp17 LegalizeMutation LegalizeMutations::changeTo(unsigned TypeIdx, LLT Ty) { in changeTo()
32 const LLT OldTy = Query.Types[TypeIdx]; in changeElementTo()
33 const LLT NewTy = Query.Types[FromTypeIdx]; in changeElementTo()
39 LLT NewEltTy) { in changeElementTo()
41 const LLT OldTy = Query.Types[TypeIdx]; in changeElementTo()
49 const LLT OldTy = Query.Types[TypeIdx]; in changeElementCountTo()
50 const LLT NewTy = Query.Types[FromTypeIdx]; in changeElementCountTo()
58 LLT NewEltTy) { in changeElementCountTo()
60 const LLT OldTy = Query.Types[TypeIdx]; in changeElementCountTo()
70 const LLT OldTy = Query.Types[TypeIdx]; in changeElementSizeTo()
[all …]
H A DLegalityPredicates.cpp28 LegalityPredicate LegalityPredicates::typeIs(unsigned TypeIdx, LLT Type) { in typeIs()
35 std::initializer_list<LLT> TypesInit) { in typeInSet()
36 SmallVector<LLT, 4> Types = TypesInit; in typeInSet()
44 std::initializer_list<std::pair<LLT, LLT>> TypesInit) { in typePairInSet() argument
45 SmallVector<std::pair<LLT, LLT>, 4> Types = TypesInit; in typePairInSet()
47 std::pair<LLT, LLT> Match = {Query.Types[TypeIdx0], Query.Types[TypeIdx1]}; in typePairInSet()
88 LLT Ty = Query.Types[TypeIdx]; in isPointer()
94 LLT EltTy) { in elementTypeIs()
96 const LLT QueryTy = Query.Types[TypeIdx]; in elementTypeIs()
104 const LLT QueryTy = Query.Types[TypeIdx]; in scalarNarrowerThan()
[all …]
H A DCallLowering.cpp162 LLT Ty = getLLTForType(*F->getType(), DL); in lowerCall()
330 LLT LLTy = MRI.getType(DstRegs[0]); in mergeVectorRegsToResultRegs()
331 LLT PartLLT = MRI.getType(SrcRegs[0]); in mergeVectorRegsToResultRegs()
334 LLT LCMTy = getCoverTy(LLTy, PartLLT); in mergeVectorRegsToResultRegs()
374 ArrayRef<Register> Regs, LLT LLTy, LLT PartLLT, in buildCopyFromRegs()
400 LLT LocTy = MRI.getType(SrcReg); in buildCopyFromRegs()
411 LLT OrigTy = MRI.getType(OrigRegs[0]); in buildCopyFromRegs()
413 LLT IntPtrTy = LLT::scalar(OrigTy.getSizeInBits()); in buildCopyFromRegs()
424 LLT OrigTy = MRI.getType(OrigRegs[0]); in buildCopyFromRegs()
430 auto Widened = B.buildMergeLikeInstr(LLT::scalar(SrcSize), Regs); in buildCopyFromRegs()
[all …]
H A DLegalizerHelper.cpp56 getNarrowTypeBreakDown(LLT OrigTy, LLT NarrowTy, LLT &LeftoverTy) { in getNarrowTypeBreakDown()
73 LLT::scalarOrVector(ElementCount::getFixed(LeftoverSize / EltSize), in getNarrowTypeBreakDown()
76 LeftoverTy = LLT::scalar(LeftoverSize); in getNarrowTypeBreakDown()
83 static Type *getFloatTypeForLLT(LLVMContext &Ctx, LLT Ty) { in getFloatTypeForLLT()
163 LLT ResultTy, LLT PartTy, in insertParts()
165 LLT LeftoverTy, in insertParts()
192 LLT GCDTy = getGCDType(getGCDType(ResultTy, LeftoverTy), PartTy); in insertParts()
195 LLT ResultLCMTy = buildLCMMergePieces(ResultTy, LeftoverTy, GCDTy, GCDRegs); in insertParts()
201 LLT Ty = MRI.getType(Reg); in appendVectorElts()
237 LLT GCDTy, Register SrcReg) { in extractGCDType()
[all …]
H A DMachineIRBuilder.cpp178 MachineInstrBuilder MachineIRBuilder::buildJumpTable(const LLT PtrTy, in buildJumpTable()
184 void MachineIRBuilder::validateUnaryOp(const LLT Res, const LLT Op0) { in validateUnaryOp()
189 void MachineIRBuilder::validateBinaryOp(const LLT Res, const LLT Op0, in validateBinaryOp()
190 const LLT Op1) { in validateBinaryOp()
195 void MachineIRBuilder::validateShiftOp(const LLT Res, const LLT Op0, in validateShiftOp()
196 const LLT Op1) { in validateShiftOp()
213 const LLT ValueTy, uint64_t Value) { in materializePtrAdd()
230 LLT PtrTy = Res.getLLTTy(*getMRI()); in buildMaskLowPtrBits()
231 LLT MaskTy = LLT::scalar(PtrTy.getSizeInBits()); in buildMaskLowPtrBits()
240 LLT ResTy = Res.getLLTTy(*getMRI()); in buildPadVectorWithUndefElements()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DLowLevelTypeUtils.cpp20 LLT llvm::getLLTForType(Type &Ty, const DataLayout &DL) { in getLLTForType()
23 LLT ScalarTy = getLLTForType(*VTy->getElementType(), DL); in getLLTForType()
26 return LLT::vector(EC, ScalarTy); in getLLTForType()
31 return LLT::pointer(AddrSpace, DL.getPointerSizeInBits(AddrSpace)); in getLLTForType()
39 return LLT::scalar(SizeInBits); in getLLTForType()
43 return LLT::token(); in getLLTForType()
45 return LLT(); in getLLTForType()
48 MVT llvm::getMVTForLLT(LLT Ty) { in getMVTForLLT()
57 EVT llvm::getApproximateEVTForLLT(LLT Ty, const DataLayout &DL, in getApproximateEVTForLLT()
67 LLT llvm::getLLTForMVT(MVT Ty) { in getLLTForMVT()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64LegalizerInfo.cpp46 const LLT p0 = LLT::pointer(0, 64); in AArch64LegalizerInfo()
47 const LLT s8 = LLT::scalar(8); in AArch64LegalizerInfo()
48 const LLT s16 = LLT::scalar(16); in AArch64LegalizerInfo()
49 const LLT s32 = LLT::scalar(32); in AArch64LegalizerInfo()
50 const LLT s64 = LLT::scalar(64); in AArch64LegalizerInfo()
51 const LLT s128 = LLT::scalar(128); in AArch64LegalizerInfo()
52 const LLT v16s8 = LLT::fixed_vector(16, 8); in AArch64LegalizerInfo()
53 const LLT v8s8 = LLT::fixed_vector(8, 8); in AArch64LegalizerInfo()
54 const LLT v4s8 = LLT::fixed_vector(4, 8); in AArch64LegalizerInfo()
55 const LLT v2s8 = LLT::fixed_vector(2, 8); in AArch64LegalizerInfo()
[all …]
H A DAArch64PreLegalizerCombiner.cpp85 LLT LHSTy = MRI.getType(LHS); in matchICmpRedundantTrunc()
96 LLT WideTy = MRI.getType(WideReg); in matchICmpRedundantTrunc()
110 LLT WideTy = MRI.getType(WideReg); in applyICmpRedundantTrunc()
229 B.buildConstant(LLT::scalar(64), -static_cast<int64_t>(MinOffset))); in applyFoldGlobalOffset()
245 LLT DstTy = MRI.getType(DstReg); in matchExtAddvToUdotAddv()
246 LLT MidTy = MRI.getType(MidReg); in matchExtAddvToUdotAddv()
250 LLT SrcTy; in matchExtAddvToUdotAddv()
262 LLT Ext1DstTy = MRI.getType(ExtMI1->getOperand(0).getReg()); in matchExtAddvToUdotAddv()
263 LLT Ext2DstTy = MRI.getType(ExtMI2->getOperand(0).getReg()); in matchExtAddvToUdotAddv()
315 LLT SrcTy = MRI.getType(Ext1SrcReg); in applyExtAddvToUdotAddv()
[all …]
H A DAArch64InstructionSelector.cpp194 bool tryOptConstantBuildVec(MachineInstr &MI, LLT DstTy,
321 const RegisterBank &DstRB, LLT ScalarTy,
571 getRegClassForTypeOnBank(LLT Ty, const RegisterBank &RB, in getRegClassForTypeOnBank()
771 LLT Ty = MRI.getType(I.getOperand(0).getReg()); in unsupportedBinOp()
987 LLT Ty = MRI.getType(Reg); in selectDebugInstr()
1097 static unsigned selectFPConvOpc(unsigned GenericOpc, LLT DstTy, LLT SrcTy) { in selectFPConvOpc()
1181 LLT Ty = MRI.getType(True); in emitSelect()
1597 LLT Ty = MRI.getType(TestReg); in emitTestBit()
1838 MIB.buildInstr(AArch64::ANDSWri, {LLT::scalar(32)}, {CondReg}).addImm(1); in selectCompareBranch()
1858 static std::optional<int64_t> getVectorSHLImm(LLT SrcTy, Register Reg, in getVectorSHLImm()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/GISel/
H A DM68kLegalizerInfo.cpp24 const LLT s8 = LLT::scalar(8); in M68kLegalizerInfo()
25 const LLT s16 = LLT::scalar(16); in M68kLegalizerInfo()
26 const LLT s32 = LLT::scalar(32); in M68kLegalizerInfo()
27 const LLT p0 = LLT::pointer(0, 32); in M68kLegalizerInfo()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMRegisterBankInfo.cpp175 LLT) const { in getRegBankFromRegClass()
235 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
270 LLT LargeTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
280 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
293 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
300 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
314 LLT ToTy = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
315 LLT FromTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
323 LLT ToTy = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
324 LLT FromTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsLegalizerInfo.cpp23 LLT ValTy;
24 LLT PtrTy;
64 std::initializer_list<LLT> SupportedValues) { in CheckTyN()
71 const LLT s1 = LLT::scalar(1); in MipsLegalizerInfo()
72 const LLT s8 = LLT::scalar(8); in MipsLegalizerInfo()
73 const LLT s16 = LLT::scalar(16); in MipsLegalizerInfo()
74 const LLT s32 = LLT::scalar(32); in MipsLegalizerInfo()
75 const LLT s64 = LLT::scalar(64); in MipsLegalizerInfo()
76 const LLT v16s8 = LLT::fixed_vector(16, 8); in MipsLegalizerInfo()
77 const LLT v8s16 = LLT::fixed_vector(8, 16); in MipsLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DLowLevelTypeUtils.h29 LLT getLLTForType(Type &Ty, const DataLayout &DL);
33 MVT getMVTForLLT(LLT Ty);
34 EVT getApproximateEVTForLLT(LLT Ty, const DataLayout &DL, LLVMContext &Ctx);
38 LLT getLLTForMVT(MVT Ty);
42 const llvm::fltSemantics &getFltSemanticForLLT(LLT Ty);

1234567