Home
last modified time | relevance | path

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

12345678

/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPURegBankLegalizeHelper.h39 static constexpr LLT S1 = LLT::scalar(1);
40 static constexpr LLT S16 = LLT::scalar(16);
41 static constexpr LLT S32 = LLT::scalar(32);
42 static constexpr LLT S64 = LLT::scalar(64);
43 static constexpr LLT S96 = LLT::scalar(96);
44 static constexpr LLT S128 = LLT::scalar(128);
45 static constexpr LLT S256 = LLT::scalar(256);
47 static constexpr LLT V2S16 = LLT::fixed_vector(2, 16);
48 static constexpr LLT V4S16 = LLT::fixed_vector(4, 16);
49 static constexpr LLT V6S16 = LLT::fixed_vector(6, 16);
[all …]
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 DAMDGPURegBankLegalizeHelper.cpp60 ArrayRef<LLT> LLTBreakdown, LLT MergeTy) { in splitLoad()
67 LLT PtrTy = MRI.getType(Base); in splitLoad()
69 LLT OffsetTy = LLT::scalar(PtrTy.getSizeInBits()); in splitLoad()
73 for (LLT PartTy : LLTBreakdown) { in splitLoad()
108 void RegBankLegalizeHelper::widenLoad(MachineInstr &MI, LLT WideTy, in widenLoad()
109 LLT MergeTy) { in widenLoad()
126 LLT DstTy = MRI.getType(Dst); in widenLoad()
138 LLT Ty = MRI.getType(Dst); in lowerVccExtToSel()
235 assert(MRI.getType(Dst) == LLT::scalar(64)); in lowerV_BFE()
294 LLT Ty = MRI.getType(DstReg); in lowerS_BFE()
[all …]
H A DAMDGPUArgumentUsageInfo.cpp89 std::tuple<const ArgDescriptor *, const TargetRegisterClass *, LLT>
95 &AMDGPU::SGPR_128RegClass, LLT::fixed_vector(4, 32)); in getPreloadedValue()
100 LLT::pointer(AMDGPUAS::CONSTANT_ADDRESS, 64)); in getPreloadedValue()
103 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
106 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
109 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
112 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
116 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)); in getPreloadedValue()
119 &AMDGPU::SGPR_32RegClass, LLT::scalar(32)}; in getPreloadedValue()
123 LLT::pointer(AMDGPUAS::CONSTANT_ADDRESS, 64)); in getPreloadedValue()
[all …]
H A DAMDGPURegBankLegalizeRules.cpp29 bool AMDGPU::isAnyPtr(LLT Ty, unsigned Width) { in isAnyPtr()
50 return MRI.getType(Reg) == LLT::scalar(1); in matchUniformityAndLLT()
52 return MRI.getType(Reg) == LLT::scalar(16); in matchUniformityAndLLT()
54 return MRI.getType(Reg) == LLT::scalar(32); in matchUniformityAndLLT()
56 return MRI.getType(Reg) == LLT::scalar(64); in matchUniformityAndLLT()
58 return MRI.getType(Reg) == LLT::scalar(128); in matchUniformityAndLLT()
60 return MRI.getType(Reg) == LLT::pointer(0, 64); in matchUniformityAndLLT()
62 return MRI.getType(Reg) == LLT::pointer(1, 64); in matchUniformityAndLLT()
64 return MRI.getType(Reg) == LLT::pointer(3, 32); in matchUniformityAndLLT()
66 return MRI.getType(Reg) == LLT::pointer(4, 64); in matchUniformityAndLLT()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVLegalizerInfo.cpp29 const LLT Ty = Query.Types[TypeIdx]; in typeOfExtendedScalars()
40 const LLT s1 = LLT::scalar(1); in SPIRVLegalizerInfo()
41 const LLT s8 = LLT::scalar(8); in SPIRVLegalizerInfo()
42 const LLT s16 = LLT::scalar(16); in SPIRVLegalizerInfo()
43 const LLT s32 = LLT::scalar(32); in SPIRVLegalizerInfo()
44 const LLT s64 = LLT::scalar(64); in SPIRVLegalizerInfo()
46 const LLT v16s64 = LLT::fixed_vector(16, 64); in SPIRVLegalizerInfo()
47 const LLT v16s32 = LLT::fixed_vector(16, 32); in SPIRVLegalizerInfo()
48 const LLT v16s16 = LLT::fixed_vector(16, 16); in SPIRVLegalizerInfo()
49 const LLT v16s8 = LLT::fixed_vector(16, 8); in SPIRVLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGenTypes/
H A DLowLevelType.h40 class LLT {
43 static constexpr LLT scalar(unsigned SizeInBits) { in scalar()
44 return LLT{/*isPointer=*/false, /*isVector=*/false, /*isScalar=*/true, in scalar()
50 static constexpr LLT token() { in token()
51 return LLT{/*isPointer=*/false, /*isVector=*/false, in token()
58 static constexpr LLT pointer(unsigned AddressSpace, unsigned SizeInBits) { in pointer()
60 return LLT{/*isPointer=*/true, /*isVector=*/false, /*isScalar=*/false, in pointer()
65 static constexpr LLT vector(ElementCount EC, unsigned ScalarSizeInBits) { in vector()
67 return LLT{/*isPointer=*/false, /*isVector=*/true, /*isScalar=*/false, in vector()
72 static constexpr LLT vector(ElementCount EC, LLT ScalarTy) { in vector()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DLegalizerHelper.h106 LLT NarrowTy);
112 LLT WideTy);
115 LLVM_ABI LegalizeResult bitcast(MachineInstr &MI, unsigned TypeIdx, LLT Ty);
119 LLVM_ABI LegalizeResult lower(MachineInstr &MI, unsigned TypeIdx, LLT Ty);
124 unsigned TypeIdx, LLT NarrowTy);
129 LLT MoreTy);
142 LLVM_ABI void widenScalarSrc(MachineInstr &MI, LLT WideTy, unsigned OpIdx,
148 LLVM_ABI void narrowScalarSrc(MachineInstr &MI, LLT NarrowTy, unsigned OpIdx);
153 LLVM_ABI void widenScalarDst(MachineInstr &MI, LLT WideTy, unsigned OpIdx = 0,
159 LLVM_ABI void narrowScalarDst(MachineInstr &MI, LLT NarrowTy, unsigned OpIdx,
[all …]
H A DLegalizerInfo.h113 ArrayRef<LLT> Types;
116 LLT MemoryTy;
121 MemDesc(LLT MemoryTy, uint64_t AlignInBits, AtomicOrdering Ordering) in MemDesc()
132 constexpr LegalityQuery(unsigned Opcode, ArrayRef<LLT> Types,
148 LLT NewType;
151 const LLT NewType) in LegalizeActionStep()
201 std::function<std::pair<unsigned, LLT>(const LegalityQuery &)>;
205 LLT Type0;
206 LLT Type1;
207 LLT MemTy;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/GISel/
H A DPPCLegalizerInfo.cpp23 const LLT QueryTy = Query.Types[TypeIdx]; in isRegisterType()
41 const LLT P0 = LLT::pointer(0, 64); in PPCLegalizerInfo()
42 const LLT S1 = LLT::scalar(1); in PPCLegalizerInfo()
43 const LLT S8 = LLT::scalar(8); in PPCLegalizerInfo()
44 const LLT S16 = LLT::scalar(16); in PPCLegalizerInfo()
45 const LLT S32 = LLT::scalar(32); in PPCLegalizerInfo()
46 const LLT S64 = LLT::scalar(64); in PPCLegalizerInfo()
47 const LLT V16S8 = LLT::fixed_vector(16, 8); in PPCLegalizerInfo()
48 const LLT V8S16 = LLT::fixed_vector(8, 16); in PPCLegalizerInfo()
49 const LLT V4S32 = LLT::fixed_vector(4, 32); in PPCLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
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()
54 std::initializer_list<std::tuple<LLT, LLT, LLT>> TypesInit) { in typeTupleInSet() argument
55 SmallVector<std::tuple<LLT, LLT, LLT>, 4> Types = TypesInit; in typeTupleInSet()
57 std::tuple<LLT, LLT, LLT> Match = { in typeTupleInSet()
99 LLT Ty = Query.Types[TypeIdx]; in isPointer()
[all …]
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 DLegalizerHelper.cpp57 getNarrowTypeBreakDown(LLT OrigTy, LLT NarrowTy, LLT &LeftoverTy) { in getNarrowTypeBreakDown()
74 LLT::scalarOrVector(ElementCount::getFixed(LeftoverSize / EltSize), in getNarrowTypeBreakDown()
77 LeftoverTy = LLT::scalar(LeftoverSize); in getNarrowTypeBreakDown()
84 static Type *getFloatTypeForLLT(LLVMContext &Ctx, LLT Ty) { in getFloatTypeForLLT()
164 LLT ResultTy, LLT PartTy, in insertParts()
166 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 DCallLowering.cpp161 LLT Ty = getLLTForType(*F->getType(), DL); in lowerCall()
329 LLT LLTy = MRI.getType(DstRegs[0]); in mergeVectorRegsToResultRegs()
330 LLT PartLLT = MRI.getType(SrcRegs[0]); in mergeVectorRegsToResultRegs()
333 LLT LCMTy = getCoverTy(LLTy, PartLLT); in mergeVectorRegsToResultRegs()
373 ArrayRef<Register> Regs, LLT LLTy, LLT PartLLT, in buildCopyFromRegs()
399 LLT LocTy = MRI.getType(SrcReg); in buildCopyFromRegs()
410 LLT OrigTy = MRI.getType(OrigRegs[0]); in buildCopyFromRegs()
412 LLT IntPtrTy = LLT::scalar(OrigTy.getSizeInBits()); in buildCopyFromRegs()
423 LLT OrigTy = MRI.getType(OrigRegs[0]); in buildCopyFromRegs()
429 auto Widened = B.buildMergeLikeInstr(LLT::scalar(SrcSize), Regs); in buildCopyFromRegs()
[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;
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LegalizerInfo.cpp
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVLegalizerInfo.cpp37 std::initializer_list<LLT> IntOrFPVecTys, in typeIsLegalIntOrFPVec()
51 typeIsLegalBoolVec(unsigned TypeIdx, std::initializer_list<LLT> BoolVecTys, in typeIsLegalBoolVec()
62 std::initializer_list<LLT> PtrVecTys, in typeIsLegalPtrVec()
75 : STI(ST), XLen(STI.getXLen()), sXLen(LLT::scalar(XLen)) { in RISCVLegalizerInfo()
76 const LLT sDoubleXLen = LLT::scalar(2 * XLen); in RISCVLegalizerInfo()
77 const LLT p0 = LLT::pointer(0, XLen); in RISCVLegalizerInfo()
78 const LLT s1 = LLT::scalar(1); in RISCVLegalizerInfo()
79 const LLT s8 = LLT::scalar(8); in RISCVLegalizerInfo()
80 const LLT s16 = LLT::scalar(16); in RISCVLegalizerInfo()
81 const LLT s32 = LLT::scalar(32); in RISCVLegalizerInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/GISel/
H A DX86LegalizerInfo.cpp51 const LLT p0 = LLT::pointer(0, TM.getPointerSizeInBits(0)); in X86LegalizerInfo()
52 const LLT s1 = LLT::scalar(1); in X86LegalizerInfo()
53 const LLT s8 = LLT::scalar(8); in X86LegalizerInfo()
54 const LLT s16 = LLT::scalar(16); in X86LegalizerInfo()
55 const LLT s32 = LLT::scalar(32); in X86LegalizerInfo()
56 const LLT s64 = LLT::scalar(64); in X86LegalizerInfo()
57 const LLT s80 = LLT::scalar(80); in X86LegalizerInfo()
58 const LLT s128 = LLT::scalar(128); in X86LegalizerInfo()
59 const LLT sMaxScalar = Subtarget.is64Bit() ? s64 : s32; in X86LegalizerInfo()
60 const LLT v2s32 = LLT::fixed_vector(2, 32); in X86LegalizerInfo()
[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, LLVMContext &Ctx) { in getApproximateEVTForLLT()
66 LLT llvm::getLLTForMVT(MVT Ty) { in getLLTForMVT()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64LegalizerInfo.cpp44 const LLT p0 = LLT::pointer(0, 64); in AArch64LegalizerInfo()
45 const LLT s8 = LLT::scalar(8); in AArch64LegalizerInfo()
46 const LLT s16 = LLT::scalar(16); in AArch64LegalizerInfo()
47 const LLT s32 = LLT::scalar(32); in AArch64LegalizerInfo()
48 const LLT s64 = LLT::scalar(64); in AArch64LegalizerInfo()
49 const LLT s128 = LLT::scalar(128); in AArch64LegalizerInfo()
50 const LLT v16s8 = LLT::fixed_vector(16, 8); in AArch64LegalizerInfo()
51 const LLT v8s8 = LLT::fixed_vector(8, 8); in AArch64LegalizerInfo()
52 const LLT v4s8 = LLT::fixed_vector(4, 8); in AArch64LegalizerInfo()
53 const LLT v2s8 = LLT::fixed_vector(2, 8); in AArch64LegalizerInfo()
[all …]
H A DAArch64PreLegalizerCombiner.cpp84 LLT LHSTy = MRI.getType(LHS); in matchICmpRedundantTrunc()
95 LLT WideTy = MRI.getType(WideReg); in matchICmpRedundantTrunc()
109 LLT WideTy = MRI.getType(WideReg); in applyICmpRedundantTrunc()
228 B.buildConstant(LLT::scalar(64), -static_cast<int64_t>(MinOffset))); in applyFoldGlobalOffset()
244 LLT DstTy = MRI.getType(DstReg); in matchExtAddvToUdotAddv()
245 LLT MidTy = MRI.getType(MidReg); in matchExtAddvToUdotAddv()
249 LLT SrcTy; in matchExtAddvToUdotAddv()
261 LLT Ext1DstTy = MRI.getType(ExtMI1->getOperand(0).getReg()); in matchExtAddvToUdotAddv()
262 LLT Ext2DstTy = MRI.getType(ExtMI2->getOperand(0).getReg()); in matchExtAddvToUdotAddv()
316 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()
778 LLT Ty = MRI.getType(I.getOperand(0).getReg()); in unsupportedBinOp()
995 LLT Ty = MRI.getType(Reg); in selectDebugInstr()
1105 static unsigned selectFPConvOpc(unsigned GenericOpc, LLT DstTy, LLT SrcTy) { in selectFPConvOpc()
1189 LLT Ty = MRI.getType(True); in emitSelect()
1605 LLT Ty = MRI.getType(TestReg); in emitTestBit()
1846 MIB.buildInstr(AArch64::ANDSWri, {LLT::scalar(32)}, {CondReg}).addImm(1); in selectCompareBranch()
1866 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.cpp197 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
232 LLT LargeTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
242 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
255 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
262 LLT Ty = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
276 LLT ToTy = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
277 LLT FromTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
285 LLT ToTy = MRI.getType(MI.getOperand(0).getReg()); in getInstrMapping()
286 LLT FromTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping()
295 LLT ToTy = MRI.getType(MI.getOperand(0).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 …]

12345678