/llvm-project/llvm/include/llvm/IR/ |
H A D | DerivedTypes.h | 427 class VectorType : public Type { 428 /// A fully specified VectorType is of the form <vscale x n x Ty>. 'n' is the 454 VectorType(Type *ElType, unsigned EQ, Type::TypeID TID); in getInteger() 457 VectorType(const VectorType &) = delete; in getInteger() 458 VectorType &operator=(const VectorType &) = delete; in getInteger() 462 /// This static method is the primary way to construct an VectorType. 463 static VectorType *get(Type *ElementType, ElementCount EC); in getExtendedElementVectorType() 465 static VectorType *ge in getExtendedElementVectorType() [all...] |
H A D | MatrixBuilder.h | 45 cast<VectorType>(LHS->getType())->getElementCount(), RHS, in splatScalarOperandIfNeeded() 51 cast<VectorType>(RHS->getType())->getElementCount(), LHS, in splatScalarOperandIfNeeded() 112 auto *OpType = cast<VectorType>(Matrix->getType()); 129 auto *LHSType = cast<VectorType>(LHS->getType()); 130 auto *RHSType = cast<VectorType>(RHS->getType()); 163 cast<VectorType>(LHS->getType())->getElementCount(), RHS, in CreateAdd() 169 cast<VectorType>(RHS->getType())->getElementCount(), LHS, in CreateAdd() 173 return cast<VectorType>(LHS->getType()) in CreateAdd() 188 cast<VectorType>(LHS->getType())->getElementCount(), RHS, in CreateSub() 194 cast<VectorType>(RH in CreateSub() [all...] |
/llvm-project/clang/lib/Sema/ |
H A D | OpenCLBuiltins.td | 163 // Its child classes can represent concrete types (e.g. VectorType) or 187 class VectorType<Type _Ty, int _VecWidth> : Type<_Ty.Name, _Ty.QTExpr> { 524 [VectorType<RType, v>, VectorType<IType, v>], 784 …def : Builtin<name, [VectorType<Float, VSize>, VectorType<Float, VSize>, VectorType<Float, VSize>]… 785 …def : Builtin<name, [VectorType<Double, VSize>, VectorType<Double, VSize>, VectorType<Double, VSiz… 786 …def : Builtin<name, [VectorType<Half, VSize>, VectorType<Half, VSize>, VectorType<Half, VSize>], A… 852 … def : Builtin<name, [VectorType<Char, VSize>, Size, PointerType<ConstType<Char>, AS>], Attr.Pure>; 853 …def : Builtin<name, [VectorType<UChar, VSize>, Size, PointerType<ConstType<UChar>, AS>], Attr.Pure… 854 …def : Builtin<name, [VectorType<Short, VSize>, Size, PointerType<ConstType<Short>, AS>], Attr.Pure… 855 …def : Builtin<name, [VectorType<UShort, VSize>, Size, PointerType<ConstType<UShort>, AS>], Attr.Pu… [all …]
|
/llvm-project/llvm/unittests/IR/ |
H A D | VectorTypesTest.cpp | 51 dyn_cast<FixedVectorType>(VectorType::get(Int32Ty, 8, false)); in TEST() 57 dyn_cast<FixedVectorType>(VectorType::get(Int8Ty, V8Int32Ty)); in TEST() 63 dyn_cast<FixedVectorType>(VectorType::get(Int32Ty, V8Int32Ty)); in TEST() 67 VectorType::get(Int16Ty, ElementCount::getFixed(8))); in TEST() 73 auto *V4Int64Ty = dyn_cast<FixedVectorType>(VectorType::get(Int64Ty, EltCnt)); in TEST() 79 VectorType::get(Int64Ty, EltCnt.divideCoefficientBy(2))); in TEST() 85 dyn_cast<FixedVectorType>(VectorType::get(Int64Ty, EltCnt * 2)); in TEST() 91 dyn_cast<FixedVectorType>(VectorType::get(Float64Ty, EltCnt)); in TEST() 97 VectorType::getExtendedElementVectorType(V8Int16Ty)); in TEST() 103 VectorType in TEST() [all...] |
/llvm-project/mlir/unittests/IR/ |
H A D | ShapedTypeTest.cpp | 119 VectorType::get(vectorOriginalShape, vectorOriginalType); in TEST() 124 VectorType::get(vectorNewShape, vectorOriginalType)); in TEST() 129 VectorType::get(vectorOriginalShape, vectorNewType)); in TEST() 132 VectorType::get(vectorNewShape, vectorNewType)); in TEST() 141 VectorType vectorType = VectorType::get(shape, f32, scalableDims); in TEST() 145 VectorType dropFrontTwoDims = in TEST() 146 VectorType::Builder(vectorType).dropDim(0).dropDim(0); in TEST() 155 VectorType setTwoDims = in TEST() 156 VectorType in TEST() [all...] |
/llvm-project/mlir/lib/Dialect/Vector/Transforms/ |
H A D | VectorDropLeadUnitDim.cpp | 27 static VectorType trimLeadingOneDims(VectorType oldType) { in trimLeadingOneDims() 45 return VectorType::get(newShape, oldType.getElementType(), newScalableDims); in trimLeadingOneDims() 65 VectorType oldSrcType = extractOp.getSourceVectorType(); in matchAndRewrite() 66 VectorType newSrcType = trimLeadingOneDims(oldSrcType); in matchAndRewrite() 73 VectorType oldDstType = extractOp.getType(); in matchAndRewrite() 74 VectorType newDstType = in matchAndRewrite() 75 VectorType::get(oldDstType.getShape().drop_front(dropCount), in matchAndRewrite() 111 VectorType oldSrcType = insertOp.getSourceVectorType(); in matchAndRewrite() 112 VectorType newSrcTyp in matchAndRewrite() [all...] |
H A D | VectorEmulateNarrowType.cpp | 48 using VectorValue = TypedValue<VectorType>; in getCompressedMaskOp() 108 cast<VectorType>(maskOp->getResultTypes()[0]).getShape()); 110 auto newMaskType = VectorType::get(maskShape, rewriter.getI1Type()); 202 auto vectorType = cast<VectorType>(source.getType()); in matchAndRewrite() 216 VectorType::get({subvecSize}, vectorType.getElementType()); in matchAndRewrite() 228 [[maybe_unused]] auto srcType = cast<VectorType>(src.getType()); in matchAndRewrite() 229 [[maybe_unused]] auto destType = cast<VectorType>(dest.getType()); in matchAndRewrite() 294 loc, VectorType::get(numEmultedElementsToLoad, emulatedElemType), base, in matchAndRewrite() 297 loc, VectorType::get(numEmultedElementsToLoad * scale, origElemType), in matchAndRewrite() 304 VectorType downcastTyp in matchAndRewrite() [all...] |
H A D | VectorTransforms.cpp | 97 dyn_cast_or_null<VectorType>(shapeCastOp.getSource().getType()); in matchAndRewrite() 99 dyn_cast_or_null<VectorType>(shapeCastOp.getResult().getType()); in matchAndRewrite() 109 cast<VectorType>(sourceShapeCastOp.getSource().getType()); in matchAndRewrite() 346 auto srcType = dyn_cast<VectorType>(broadcast.getSourceType()); in matchAndRewrite() 459 if (auto vecTy = dyn_cast<VectorType>(bcastOp.getSourceType())) in matchAndRewrite() 498 VectorType srcType; in matchAndRewrite() 533 srcType.clone(cast<VectorType>(operand.getType()).getElementType()); in matchAndRewrite() 540 cast<VectorType>(op->getResultTypes()[0]).getElementType()); in matchAndRewrite() 581 VectorType castSrcType = castOp.getSourceVectorType(); in matchAndRewrite() 582 VectorType castDstTyp in matchAndRewrite() [all...] |
H A D | VectorLinearize.cpp | 31 VectorType vecType = dyn_cast<VectorType>(resType); in isLessThanTargetBitWidth() 47 VectorType vecType = dyn_cast<VectorType>(t); in isLessThanOrEqualTargetBitWidth() 73 getTypeConverter()->convertType<VectorType>(constOp.getType()); in matchAndRewrite() 154 VectorType dstType = in matchAndRewrite() 155 getTypeConverter()->convertType<VectorType>(extractOp.getType()); in matchAndRewrite() 268 VectorType dstType = in matchAndRewrite() 269 getTypeConverter()->convertType<VectorType>(shuffleOp.getType()); in matchAndRewrite() 346 cast<VectorType>(dstT in matchAndRewrite() [all...] |
H A D | LowerVectorBroadcast.cpp | 50 VectorType dstType = op.getResultVectorType(); in matchAndRewrite() 51 VectorType srcType = dyn_cast<VectorType>(op.getSourceType()); in matchAndRewrite() 86 VectorType resType = VectorType::Builder(dstType).dropDim(0); in matchAndRewrite() 127 VectorType resType = in matchAndRewrite() 128 VectorType::get(dstType.getShape().drop_front(), eltType, in matchAndRewrite()
|
H A D | VectorDistribute.cpp | 39 static AffineMap calculateImplicitMap(VectorType sequentialType, in calculateImplicitMap() 40 VectorType distributedType) { in calculateImplicitMap() 67 sequentialVectorType = dyn_cast<VectorType>(sequentialVal.getType()); in DistributedLoadStoreHelper() 68 distributedVectorType = dyn_cast<VectorType>(distributedVal.getType()); in DistributedLoadStoreHelper() 94 if (!isa<VectorType>(val.getType())) in buildStore() 136 if (!isa<VectorType>(type)) in buildLoad() 154 loc, cast<VectorType>(type), buffer, indices, in buildLoad() 159 VectorType sequentialVectorType, distributedVectorType; 326 static VectorType getDistributedType(VectorType originalTyp in matchAndRewrite() [all...] |
H A D | LowerVectorContract.cpp | 85 static Value reshapeLoad(Location loc, Value val, VectorType type, in reshapeLoad() 96 VectorType vType = VectorType::Builder(type).dropDim(0); in reshapeLoad() 97 VectorType resType = VectorType::Builder(type).dropDim(index); in reshapeLoad() 111 VectorType type, int64_t index, int64_t pos, in reshapeStore() 121 VectorType vType = VectorType::Builder(type).dropDim(0); in reshapeStore() 154 if (acc && isa<VectorType>(acc.getType()) && kind == CombiningKind::ADD) { in createContractArithOp() 418 auto vecType = dyn_cast<VectorType>(elementTyp in promote() [all...] |
/llvm-project/mlir/lib/Dialect/AMX/IR/ |
H A D | AMXDialect.cpp |
|
/llvm-project/mlir/lib/Dialect/ArmSME/Transforms/ |
H A D | OuterProductFusion.cpp | 57 VectorType resultType, VectorType inputType) { in isCompatible() 71 auto lhsInType = cast<VectorType>(lhsDefOp.getIn().getType()); in isCompatible() 72 auto rhsInType = cast<VectorType>(rhsDefOp.getIn().getType()); in isCompatible() 213 VectorType::get({4, 4}, rewriter.getI32Type(), {true, true}); in matchAndRewrite() 215 VectorType::get({4, 4}, rewriter.getF32Type(), {true, true}); in matchAndRewrite() 219 auto nxv4i16 = VectorType::get({4}, rewriter.getI16Type(), true); in matchAndRewrite() 220 auto nxv4f16 = VectorType::get({4}, rewriter.getF16Type(), true); in matchAndRewrite() 221 auto nxv4bf16 = VectorType::get({4}, rewriter.getBF16Type(), true); in matchAndRewrite() 385 VectorType in matchAndRewrite() [all...] |
/llvm-project/mlir/lib/Dialect/Vector/IR/ |
H A D | VectorOps.cpp | 155 VectorType vectorType) { in getTransferMinorIdentityMap() 157 VectorType elementVectorType = in getTransferMinorIdentityMap() 158 llvm::dyn_cast<VectorType>(shapedType.getElementType()); in getTransferMinorIdentityMap() 497 inferredReturnType = VectorType::get( in getExpectedMaskType() 510 return VectorType::get(vecType.getShape(), in matchAndRewrite() 548 if (auto dstVecType = dyn_cast<VectorType>(reductionOp.getDestType())) { in matchAndRewrite() 550 VectorType newMaskType = in matchAndRewrite() 551 VectorType::get(dstVecType.getShape(), rewriter.getI1Type(), in matchAndRewrite() 595 llvm::cast<VectorType>(vector.getType()).getElementType(), kind, vector, in verify() 620 return VectorType in getVectorReductionOp() [all...] |
/llvm-project/llvm/include/llvm/ADT/ |
H A D | MapVector.h | 35 typename VectorType = SmallVector<std::pair<KeyT, ValueT>, 0>> 38 VectorType Vector; 46 using value_type = typename VectorType::value_type; 47 using size_type = typename VectorType::size_type; 49 using iterator = typename VectorType::iterator; 50 using const_iterator = typename VectorType::const_iterator; 51 using reverse_iterator = typename VectorType::reverse_iterator; 52 using const_reverse_iterator = typename VectorType::const_reverse_iterator; 55 VectorType takeVector() { in takeVector() 193 typename VectorType::iterator erase(typename VectorType::iterator Iterator) { in erase() [all …]
|
/llvm-project/mlir/lib/Dialect/ArmSVE/Transforms/ |
H A D | LegalizeVectorStorage.cpp | 44 bool isSVEMaskType(VectorType type) { in isSVEMaskType() 51 VectorType widenScalableMaskTypeToSvbool(VectorType type) { in widenScalableMaskTypeToSvbool() 53 return VectorType::Builder(type).setDim(type.getRank() - 1, 16); in widenScalableMaskTypeToSvbool() 103 auto vectorType = llvm::dyn_cast<VectorType>(memrefElementType); in matchAndRewrite() 138 llvm::dyn_cast<VectorType>(allocLikeOp.getType().getElementType()); in matchAndRewrite() 186 auto vectorType = llvm::dyn_cast<VectorType>(resultType.getElementType()); in matchAndRewrite() 231 auto vectorType = llvm::dyn_cast<VectorType>(valueToStore.getType()); in matchAndRewrite() 241 llvm::cast<VectorType>(valueToStore.getType())); in matchAndRewrite() 278 auto vectorType = llvm::dyn_cast<VectorType>(loadedMas in matchAndRewrite() [all...] |
/llvm-project/mlir/include/mlir/Dialect/ArmSME/Utils/ |
H A D | Utils.h | 45 bool isValidSMETileVectorType(VectorType vType); 48 auto vType = dyn_cast<VectorType>(type); in isValidSMETileVectorType() 54 std::optional<ArmSMETileType> getSMETileType(VectorType); 68 bool isMultipleOfSMETileVectorType(VectorType vType); 71 VectorType getSMETileTypeForElement(Type elementType);
|
/llvm-project/mlir/include/mlir/Dialect/AMX/ |
H A D | AMX.td |
|
/llvm-project/llvm/lib/CodeGen/ |
H A D | ValueTypes.cpp | 50 VectorType::get(VT.getTypeForEVT(Context), NumElements, IsScalable); in getExtendedVectorVT() 57 ResultVT.LLVMTy = VectorType::get(VT.getTypeForEVT(Context), EC); in getExtendedVectorVT() 132 return EVT::getEVT(cast<VectorType>(LLVMTy)->getElementType()); in getExtendedVectorElementType() 137 ElementCount EC = cast<VectorType>(LLVMTy)->getElementCount(); in getExtendedVectorNumElements() 149 return cast<VectorType>(LLVMTy)->getElementCount(); in getExtendedVectorElementCount() 156 if (VectorType *VTy = dyn_cast<VectorType>(LLVMTy)) in getExtendedSizeInBits() 276 VectorType *VTy = cast<VectorType>(Ty); in getEVT() 299 VectorType *VT [all...] |
/llvm-project/mlir/lib/Dialect/ArmNeon/Transforms/ |
H A D | LowerContractionToSMMLAPattern.cpp | 54 mlir::VectorType lhsType = op.getLhsType(); in matchAndRewrite() 55 mlir::VectorType rhsType = op.getRhsType(); in matchAndRewrite() 101 dyn_cast<mlir::VectorType>(origLhsExtOp.getIn().getType())) { in matchAndRewrite() 110 dyn_cast<mlir::VectorType>(origRhsExtOp.getIn().getType())) { in matchAndRewrite() 169 auto inputExpandedType = VectorType::get({2, 8}, inputElementType); in matchAndRewrite() 170 auto outputExpandedType = VectorType::get({2, 2}, accElementType); in matchAndRewrite() 176 VectorType expandedTypeType) { in matchAndRewrite() 192 VectorType::get(inputExpandedType.getNumElements(), inputElementType); in matchAndRewrite() 198 VectorType::get(outputExpandedType.getNumElements(), accElementType); in matchAndRewrite()
|
/llvm-project/mlir/lib/Conversion/VectorToArmSME/ |
H A D | VectorToArmSME.cpp | 222 auto srcVectorType = dyn_cast<VectorType>(srcType); in matchAndRewrite() 228 VectorType tileSliceType = VectorType::Builder(tileType).dropDim(0); in matchAndRewrite() 294 VectorType tileSliceType = VectorType::Builder(tileType).dropDim(0); in matchAndRewrite() 442 if (!isa<VectorType>(outerProductOp.getOperandTypeRHS())) in matchAndRewrite() 490 VectorType operandMaskType = VectorType::Builder(maskType).dropDim(0); in decomposeResultMask() 518 VectorType sourceType = extractOp.getSourceVectorType(); in matchAndRewrite() 574 VectorType resultTyp in matchAndRewrite() [all...] |
/llvm-project/mlir/lib/Dialect/AMX/Transforms/ |
H A D | LegalizeForLLVMExport.cpp |
|
/llvm-project/mlir/lib/Dialect/Arith/Transforms/ |
H A D | EmulateWideInt.cpp | 52 static Type reduceInnermostDim(VectorType type) { in reduceInnermostDim() 58 return VectorType::get(newShape, type.getElementType()); in reduceInnermostDim() 69 ArrayRef<int64_t> shape = cast<VectorType>(input.getType()).getShape(); in extractLastDimSlice() 99 auto vecTy = dyn_cast<VectorType>(input.getType()); in dropTrailingX1Dim() 108 auto newVecTy = VectorType::get(shape.drop_back(), vecTy.getElementType()); in dropTrailingX1Dim() 116 auto vecTy = dyn_cast<VectorType>(input.getType()); in appendX1Dim() 123 auto newTy = VectorType::get(newShape, vecTy.getElementType()); in appendX1Dim() 133 ArrayRef<int64_t> shape = cast<VectorType>(dest.getType()).getShape(); in insertLastDimSlice() 154 Location loc, VectorType resultType, in constructResultVector() 181 auto newType = getTypeConverter()->convertType<VectorType>(oldTyp in matchAndRewrite() [all...] |
/llvm-project/mlir/include/mlir/Dialect/Vector/Utils/ |
H A D | VectorUtils.h | 33 class VectorType; 57 /// There might be some restriction on the leading dim of `VectorType`: 81 bool isContiguousSlice(MemRefType memrefType, VectorType vectorType); 103 createUnrollIterator(VectorType vType, int64_t targetRank = 1); 123 /// Returns a range over the dims (size and scalability) of a VectorType. 124 inline auto getDims(VectorType vType) { 212 bool isLinearizableVector(VectorType type); 324 bool operatesOnSuperVectorsOf(Operation &op, VectorType subVectorType); 32 class VectorType; global() variable
|