| /freebsd/contrib/llvm-project/llvm/include/llvm/ADT/ |
| H A D | TinyPtrVector.h | 31 using VecTy = SmallVector<EltTy, 4>; 32 using value_type = typename VecTy::value_type; 37 using PtrUnion = PointerUnion<EltTy, VecTy *>; 46 if (VecTy *V = dyn_cast_if_present<VecTy *>(Val)) in ~TinyPtrVector() 51 if (VecTy *V = dyn_cast_if_present<VecTy *>(Val)) in TinyPtrVector() 52 Val = new VecTy(*V); in TinyPtrVector() 69 Val = new VecTy(*cast<VecTy *>(RHS.Val)); 75 cast<VecTy *>(Val)->clear(); 76 cast<VecTy *>(Val)->push_back(RHS.front()); 78 *cast<VecTy *>(Val) = *cast<VecTy *>(RHS.Val); [all …]
|
| H A D | PostOrderIterator.h | 302 using VecTy = SmallVector<NodeRef, 8>; variable 303 VecTy Blocks; // Block list in normal PO order 310 using rpo_iterator = typename VecTy::reverse_iterator; 311 using const_rpo_iterator = typename VecTy::const_reverse_iterator;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonISelLoweringHVX.cpp | 425 MVT VecTy = MVT::getVectorVT(ElemTy, N); in initializeHVXLowering() local 426 auto Action = getPreferredVectorAction(VecTy); in initializeHVXLowering() 428 setOperationAction(ISD::LOAD, VecTy, Custom); in initializeHVXLowering() 429 setOperationAction(ISD::STORE, VecTy, Custom); in initializeHVXLowering() 430 setOperationAction(ISD::SETCC, VecTy, Custom); in initializeHVXLowering() 431 setOperationAction(ISD::TRUNCATE, VecTy, Custom); in initializeHVXLowering() 432 setOperationAction(ISD::ANY_EXTEND, VecTy, Custom); in initializeHVXLowering() 433 setOperationAction(ISD::SIGN_EXTEND, VecTy, Custom); in initializeHVXLowering() 434 setOperationAction(ISD::ZERO_EXTEND, VecTy, Custom); in initializeHVXLowering() 436 setOperationAction(ISD::FP_TO_SINT, VecTy, Custom); in initializeHVXLowering() [all …]
|
| H A D | HexagonTargetTransformInfo.cpp | 55 auto *VecTy = dyn_cast<VectorType>(Ty); in isHVXVectorType() local 56 if (!VecTy) in isHVXVectorType() 58 if (!ST.isTypeForHVX(VecTy)) in isHVXVectorType() 60 if (ST.useHVXV69Ops() || !VecTy->getElementType()->isFloatingPointTy()) in isHVXVectorType() 181 VectorType *VecTy = cast<VectorType>(Src); in getMemoryOpCost() local 182 unsigned VecWidth = VecTy->getPrimitiveSizeInBits().getFixedValue(); in getMemoryOpCost() 183 if (isHVXVectorType(VecTy)) { in getMemoryOpCost() 203 VecTy->getElementType()->isFloatingPointTy() ? FloatFactor : 1; in getMemoryOpCost() 246 unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, in getInterleavedMemoryOpCost() argument 250 return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, in getInterleavedMemoryOpCost() [all …]
|
| H A D | HexagonISelLowering.cpp | 2160 Type *VecTy = I.getArgOperand(1)->getType(); in getTgtMemIntrinsic() local 2161 Info.memVT = MVT::getVT(VecTy); in getTgtMemIntrinsic() 2165 MaybeAlign(M.getDataLayout().getTypeAllocSizeInBits(VecTy) / 8); in getTgtMemIntrinsic() 2282 MVT VecTy = ty(Op); in LowerVECTOR_SHUFFLE() local 2283 assert(!Subtarget.isHVXVectorType(VecTy, true) && in LowerVECTOR_SHUFFLE() 2285 assert(VecTy.getSizeInBits() <= 64 && "Unexpected vector length"); in LowerVECTOR_SHUFFLE() 2294 if (ty(Op0) != VecTy || ty(Op1) != VecTy) in LowerVECTOR_SHUFFLE() 2302 return DAG.getUNDEF(VecTy); in LowerVECTOR_SHUFFLE() 2310 unsigned ElemBytes = VecTy.getVectorElementType().getSizeInBits() / 8; in LowerVECTOR_SHUFFLE() 2345 return DAG.getBitcast(VecTy, T1); in LowerVECTOR_SHUFFLE() [all …]
|
| H A D | HexagonSubtarget.cpp | 182 bool HexagonSubtarget::isHVXVectorType(EVT VecTy, bool IncludeBool) const { in isHVXVectorType() argument 183 if (!VecTy.isSimple()) in isHVXVectorType() 185 if (!VecTy.isVector() || !useHVXOps() || VecTy.isScalableVector()) in isHVXVectorType() 187 MVT ElemTy = VecTy.getSimpleVT().getVectorElementType(); in isHVXVectorType() 192 unsigned NumElems = VecTy.getVectorNumElements(); in isHVXVectorType() 204 unsigned VecWidth = VecTy.getSizeInBits(); in isHVXVectorType() 210 bool HexagonSubtarget::isTypeForHVX(Type *VecTy, bool IncludeBool) const { in isTypeForHVX() argument 211 if (!VecTy->isVectorTy() || isa<ScalableVectorType>(VecTy)) in isTypeForHVX() 214 Type *ScalTy = VecTy->getScalarType(); in isTypeForHVX() 220 EVT Ty = EVT::getEVT(VecTy, /*HandleUnknown*/false); in isTypeForHVX()
|
| H A D | HexagonISelLowering.h | 385 unsigned getPreferredHvxVectorAction(MVT VecTy) const; 394 bool getBuildVectorConstInts(ArrayRef<SDValue> Values, MVT VecTy, 397 SDValue buildVector32(ArrayRef<SDValue> Elem, const SDLoc &dl, MVT VecTy, 399 SDValue buildVector64(ArrayRef<SDValue> Elem, const SDLoc &dl, MVT VecTy, 460 MVT typeExtElem(MVT VecTy, unsigned Factor) const; 461 MVT typeTruncElem(MVT VecTy, unsigned Factor) const; 495 bool allowsHvxMemoryAccess(MVT VecTy, MachineMemOperand::Flags Flags, 497 bool allowsHvxMisalignedMemoryAccesses(MVT VecTy, 512 MVT VecTy, SelectionDAG &DAG) const; 514 MVT VecTy, SelectionDAG &DAG) const;
|
| H A D | HexagonVectorCombine.cpp | 670 if (auto *VecTy = dyn_cast<VectorType>(ValTy)) in getMask() local 671 return HVC.getFullValue(HVC.getBoolTy(HVC.length(VecTy))); in getMask() 1326 auto *VecTy = VectorType::get(Ty, 1, /*Scalable=*/false); in realignStoreGroup() local 1327 return Builder.CreateBitCast(Val, VecTy, "cst"); in realignStoreGroup() 1719 auto *VecTy = dyn_cast<VectorType>(Op.X.Val->getType()); in processFxpMul() local 1720 if (VecTy == nullptr) in processFxpMul() 1722 auto *ElemTy = cast<IntegerType>(VecTy->getElementType()); in processFxpMul() 1726 if ((HVC.length(VecTy) * ElemWidth) % (8 * HVC.HST.getVectorLength()) != 0) in processFxpMul() 1769 auto *ResizeTy = VectorType::get(HVC.getIntTy(Width), VecTy); in processFxpMul() 1802 ? Builder.CreateSExt(Cat, VecTy, "sxt") in processFxpMul() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LowerVectorIntrinsics.cpp | 18 VectorType *VecTy = cast<VectorType>(ArgTy); in lowerUnaryVectorIntrinsicAsLoop() local 33 PreLoopBuilder.CreateElementCount(Int64Ty, VecTy->getElementCount()); in lowerUnaryVectorIntrinsicAsLoop() 40 PHINode *Vec = LoopBuilder.CreatePHI(VecTy, 2); in lowerUnaryVectorIntrinsicAsLoop() 45 VecTy->getElementType()); in lowerUnaryVectorIntrinsicAsLoop()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | LegalizerInfo.h | 1044 const LLT VecTy = Query.Types[TypeIdx]; in widenVectorEltsToVectorMinSize() 1045 return VecTy.isFixedVector() && VecTy.getSizeInBits() < VectorSize; in widenVectorEltsToVectorMinSize() 1048 const LLT VecTy = Query.Types[TypeIdx]; in widenVectorEltsToVectorMinSize() 1049 unsigned NumElts = VecTy.getNumElements(); in widenVectorEltsToVectorMinSize() 1226 LLT VecTy = Query.Types[TypeIdx]; in clampMinNumElements() 1227 return VecTy.isFixedVector() && VecTy.getElementType() == EltTy && in clampMinNumElements() 1228 VecTy.getNumElements() < MinElements; in clampMinNumElements() 1231 LLT VecTy = Query.Types[TypeIdx]; in clampMinNumElements() 1233 TypeIdx, LLT::fixed_vector(MinElements, VecTy.getElementType())); in clampMinNumElements() 1244 LLT VecTy = Query.Types[TypeIdx]; in alignNumElementsTo() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 393 Type *VecTy = Ext0->getVectorOperand()->getType(); in getShuffleExtract() local 394 assert(VecTy == Ext1->getVectorOperand()->getType() && "Need matching types"); in getShuffleExtract() 396 TTI.getVectorInstrCost(*Ext0, VecTy, CostKind, Index0); in getShuffleExtract() 398 TTI.getVectorInstrCost(*Ext1, VecTy, CostKind, Index1); in getShuffleExtract() 441 auto *VecTy = cast<VectorType>(Ext0Src->getType()); in isExtractExtractCheap() local 448 VectorOpCost = TTI.getArithmeticInstrCost(Opcode, VecTy, CostKind); in isExtractExtractCheap() 456 Opcode, VecTy, CmpInst::makeCmpResultType(VecTy), Pred, CostKind); in isExtractExtractCheap() 465 TTI.getVectorInstrCost(*Ext0, VecTy, CostKind, Ext0Index); in isExtractExtractCheap() 467 TTI.getVectorInstrCost(*Ext1, VecTy, CostKind, Ext1Index); in isExtractExtractCheap() 513 if (auto *FixedVecTy = dyn_cast<FixedVectorType>(VecTy)) { in isExtractExtractCheap() [all …]
|
| H A D | LoadStoreVectorizer.cpp | 705 unsigned ChainSizeBytes, VectorType *VecTy) { in splitChainByAlignment() argument 707 ChainSizeBytes, VecTy) in splitChainByAlignment() 709 ChainSizeBytes, VecTy); in splitChainByAlignment() 757 FixedVectorType *VecTy = FixedVectorType::get(VecElemTy, NumVecElems); in splitChainByAlignment() local 762 VecElemBits * NumVecElems / 8, VecTy); in splitChainByAlignment() 884 Type *VecTy = FixedVectorType::get( in vectorizeChain() local 915 VecInst = Builder.CreateAlignedLoad(VecTy, in vectorizeChain() 966 Value *Vec = PoisonValue::get(VecTy); in vectorizeChain() 1486 VectorType *VecTy = dyn_cast<VectorType>(Ty); in collectEquivalenceClasses() local 1489 if ((!VecTy && !isPowerOf2_32(DL.getTypeSizeInBits(Ty))) || in collectEquivalenceClasses() [all …]
|
| H A D | SLPVectorizer.cpp | 262 if (auto *VecTy = dyn_cast<FixedVectorType>(Ty)) in getNumElements() local 263 return VecTy->getNumElements(); in getNumElements() 690 auto *VecTy = dyn_cast<FixedVectorType>(V->getType()); local 691 if (!VecTy) 721 for (unsigned I = 0, E = VecTy->getNumElements(); I != E; ++I) { 1751 getNumberOfParts(const TargetTransformInfo &TTI, VectorType *VecTy, in getNumberOfParts() argument 1753 unsigned NumParts = TTI.getNumberOfParts(VecTy); in getNumberOfParts() 1756 unsigned Sz = getNumElements(VecTy); in getNumberOfParts() 1758 !hasFullVectorsOrPowerOf2(TTI, VecTy->getElementType(), Sz / NumParts)) in getNumberOfParts() 5374 auto *VecTy = getWidenedType(ScalarTy, NumScalars); in findReusedOrderedScalars() local [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | Scalarizer.cpp | 81 FixedVectorType *VecTy = nullptr; member 206 FixedVectorType *VecTy = dyn_cast<FixedVectorType>(Ty->getContainedType(0)); in isStructOfMatchingFixedVectors() local 207 if (!VecTy) in isStructOfMatchingFixedVectors() 209 unsigned VecSize = VecTy->getNumElements(); in isStructOfMatchingFixedVectors() 211 VecTy = dyn_cast<FixedVectorType>(Ty->getContainedType(I)); in isStructOfMatchingFixedVectors() 212 if (!VecTy || VecSize != VecTy->getNumElements()) in isStructOfMatchingFixedVectors() 222 unsigned NumElements = VS.VecTy->getNumElements(); in concatenate() 238 Value *Res = PoisonValue::get(VS.VecTy); in concatenate() 394 if (auto *VecTy = dyn_cast<FixedVectorType>(FragmentTy)) { in operator []() local 396 for (unsigned J = 0; J < VecTy->getNumElements(); ++J) in operator []() [all …]
|
| H A D | SROA.cpp | 2626 auto *VecTy = cast<FixedVectorType>(V->getType()); in extractVector() local 2628 assert(NumElements <= VecTy->getNumElements() && "Too many elements!"); in extractVector() 2630 if (NumElements == VecTy->getNumElements()) in extractVector() 2648 VectorType *VecTy = cast<VectorType>(Old->getType()); in insertVector() local 2649 assert(VecTy && "Can only insert a vector into a vector"); in insertVector() 2661 cast<FixedVectorType>(VecTy)->getNumElements() && in insertVector() 2664 cast<FixedVectorType>(VecTy)->getNumElements()) { in insertVector() 2665 assert(V->getType() == VecTy && "Vector type mismatch"); in insertVector() 2675 Mask.reserve(cast<FixedVectorType>(VecTy)->getNumElements()); in insertVector() 2676 for (unsigned i = 0; i != cast<FixedVectorType>(VecTy)->getNumElements(); ++i) in insertVector() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | TargetTransformInfoImpl.h | 363 virtual bool isLegalAltInstr(VectorType *VecTy, unsigned Opcode0, in isLegalAltInstr() argument 705 virtual InstructionCost getAltInstrCost(VectorType *VecTy, unsigned Opcode0, in getAltInstrCost() argument 759 getExtractWithExtendCost(unsigned Opcode, Type *Dst, VectorType *VecTy, in getExtractWithExtendCost() argument 869 unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices, in getInterleavedMemoryOpCost() argument 1073 VectorType *VecTy) const { in getLoadVectorFactor() argument 1079 VectorType *VecTy) const { in getStoreVectorFactor() argument 1533 auto *VecTy = cast<VectorType>(U->getType()); in getInstructionCost() local 1549 return TargetTTI->getShuffleCost(TTI::SK_ExtractSubvector, VecTy, in getInstructionCost() 1551 VecTy, Operands, Shuffle); in getInstructionCost() 1555 TTI::SK_InsertSubvector, VecTy, VecSrcTy, Mask, CostKind, in getInstructionCost() [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/AST/ |
| H A D | ASTImporter.h | 150 using VecTy = llvm::SmallVector<Decl *, 32>; 170 using Cycle = llvm::iterator_range<VecTy::const_reverse_iterator>; 179 VecTy copyCycleAtBack() const { in copyCycleAtBack() 181 return VecTy(R.begin(), R.end()); in copyCycleAtBack() 186 VecTy Nodes; 202 llvm::SmallVector<ImportPathTy::VecTy, 32>;
|
| /freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/ |
| H A D | OpDescriptor.cpp | 41 } else if (VectorType *VecTy = dyn_cast<VectorType>(T)) { in makeConstantsWithType() local 43 Type *EltTy = VecTy->getElementType(); in makeConstantsWithType() 45 ElementCount EC = VecTy->getElementCount(); in makeConstantsWithType()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
| H A D | LegalizeMutations.cpp | 100 const LLT VecTy = Query.Types[TypeIdx]; in moreElementsToNextPow2() local 102 std::max(1u << Log2_32_Ceil(VecTy.getNumElements()), Min); in moreElementsToNextPow2() 104 TypeIdx, LLT::fixed_vector(NewNumElements, VecTy.getElementType())); in moreElementsToNextPow2()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGenTypes/ |
| H A D | MachineValueType.h | 200 MVT VecTy = MVT::getVectorVT(IntTy, getVectorElementCount()); in changeVectorElementTypeToInteger() local 201 assert(VecTy.SimpleTy != MVT::INVALID_SIMPLE_VALUE_TYPE && in changeVectorElementTypeToInteger() 203 return VecTy; in changeVectorElementTypeToInteger() 209 MVT VecTy = MVT::getVectorVT(EltVT, getVectorElementCount()); in changeVectorElementType() local 210 assert(VecTy.SimpleTy != MVT::INVALID_SIMPLE_VALUE_TYPE && in changeVectorElementType() 212 return VecTy; in changeVectorElementType()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | TargetTransformInfo.cpp | 499 VectorType *VecTy, unsigned Opcode0, unsigned Opcode1, in isLegalAltInstr() argument 501 return TTIImpl->isLegalAltInstr(VecTy, Opcode0, Opcode1, OpcodeMask); in isLegalAltInstr() 961 VectorType *VecTy = dyn_cast<VectorType>(Ty); in getArithmeticInstrCost() local 963 if (VecTy && in getArithmeticInstrCost() 966 VecTy->getElementCount())) in getArithmeticInstrCost() 967 return getCallInstrCost(nullptr, VecTy, {VecTy, VecTy}, CostKind); in getArithmeticInstrCost() 979 VectorType *VecTy, unsigned Opcode0, unsigned Opcode1, in getAltInstrCost() argument 982 TTIImpl->getAltInstrCost(VecTy, Opcode0, Opcode1, OpcodeMask, CostKind); in getAltInstrCost() 1067 unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index, in getExtractWithExtendCost() argument 1070 TTIImpl->getExtractWithExtendCost(Opcode, Dst, VecTy, Index, CostKind); in getExtractWithExtendCost() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVCodeGenPrepare.cpp | 225 Type *VecTy = I.getOperand(1)->getType(); in visitIntrinsicInst() local 227 auto *VecPHI = Builder.CreatePHI(VecTy, PHI->getNumIncomingValues()); in visitIntrinsicInst() 232 VecTy, PHI->getIncomingValueForBlock(BB), (uint64_t)0); in visitIntrinsicInst()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/ |
| H A D | RISCVLegalizerInfo.cpp | 952 static LLT getMaskTypeFor(LLT VecTy) { in getMaskTypeFor() argument 953 assert(VecTy.isVector()); in getMaskTypeFor() 954 ElementCount EC = VecTy.getElementCount(); in getMaskTypeFor() 960 static MachineInstrBuilder buildAllOnesMask(LLT VecTy, const SrcOp &VL, in buildAllOnesMask() argument 963 LLT MaskTy = getMaskTypeFor(VecTy); in buildAllOnesMask() 970 buildDefaultVLOps(LLT VecTy, MachineIRBuilder &MIB, MachineRegisterInfo &MRI) { in buildDefaultVLOps() argument 971 assert(VecTy.isScalableVector() && "Expecting scalable container type"); in buildDefaultVLOps() 975 auto Mask = buildAllOnesMask(VecTy, VL, MIB, MRI); in buildDefaultVLOps() 1018 LLT VecTy = MRI.getType(Dst); in legalizeSplatVector() local 1023 VecTy.getElementType().getSizeInBits() == 64) { in legalizeSplatVector() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/ |
| H A D | VecUtils.h | 116 auto *VecTy = cast<FixedVectorType>(ElemTy); 117 ElemTy = VecTy->getElementType(); 118 NumElts = VecTy->getNumElements() * NumElts;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | MipsSEISelLowering.cpp | 126 for (const auto &VecTy : VecTys) { in MipsSETargetLowering() local 127 addRegisterClass(VecTy, &Mips::DSPRRegClass); in MipsSETargetLowering() 131 setOperationAction(Opc, VecTy, Expand); in MipsSETargetLowering() 133 setOperationAction(ISD::ADD, VecTy, Legal); in MipsSETargetLowering() 134 setOperationAction(ISD::SUB, VecTy, Legal); in MipsSETargetLowering() 135 setOperationAction(ISD::LOAD, VecTy, Legal); in MipsSETargetLowering() 136 setOperationAction(ISD::STORE, VecTy, Legal); in MipsSETargetLowering() 137 setOperationAction(ISD::BITCAST, VecTy, Legal); in MipsSETargetLowering() 1466 static SDValue getBuildVectorSplat(EVT VecTy, SDValue SplatValue, in getBuildVectorSplat() argument 1468 EVT ViaVecTy = VecTy; in getBuildVectorSplat() [all …]
|