| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| InjectTLIMappings.cpp | 39 /// vectorizes the CallInst CI with a vectorization factor of VF 41 /// CI (other than void) need to be widened to a VectorType of VF 43 static void addVariantDeclaration(CallInst &CI, const ElementCount &VF, 48 Type *RetTy = ToVectorTy(CI.getType(), VF); 51 Tys.push_back(ToVectorTy(ArgOperand->getType(), VF)); 93 auto AddVariantDecl = [&](const ElementCount &VF) { 95 std::string(TLI.getVectorizedFunction(ScalarName, VF)); 98 TLIName, ScalarName, CI.getNumArgOperands(), VF); 105 addVariantDeclaration(CI, VF, TLIName); 113 for (ElementCount VF = ElementCount::getFixed(2) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| LoopVectorize.cpp | 183 "epilogue-vectorization-force-VF", cl::init(1), cl::Hidden, 185 "1 is specified, forces the given VF for all applicable epilogue " 189 "epilogue-vectorization-minimum-VF", cl::init(16), cl::Hidden, 441 /// block to a specified vectorization factor (VF). 465 AC(AC), ORE(ORE), VF(VecWidth), UF(UnrollFactor), 511 unsigned UF, ElementCount VF, bool IsPtrLoopInvariant, 515 /// variable canonicalization. It supports both VF = 1 for unrolled loops and 579 /// original loop, when scalarized, is represented by UF x VF scalar values 580 /// in the new unrolled loop, where UF is the unroll factor and VF is the 802 ElementCount VF; [all...] |
| VPlan.cpp | 64 const ElementCount &VF) const { 67 // Lane = RuntimeVF - VF.getKnownMinValue() + Lane 68 return Builder.CreateSub(getRuntimeVF(Builder, Builder.getInt32Ty(), VF), 69 Builder.getInt32(VF.getKnownMinValue() - Lane)); 233 .PerPartScalars[Def][Instance.Part][Instance.Lane.mapToCacheIndex(VF)]; 243 Value *Lane = Instance.Lane.getAsRuntimeExpr(Builder, VF); 477 assert(!State->VF.isScalable() && "VF is assumed to be non scalable."); 478 for (unsigned Lane = 0, VF = State->VF.getKnownMinValue(); Lane < VF [all...] |
| VPlan.h | 64 /// Returns a calculation for the total number of elements for a given \p VF. 67 Value *getRuntimeVF(IRBuilder<> &B, Type *Ty, ElementCount VF); 116 /// in [0..VF) 127 static VPLane getLastLaneForVF(const ElementCount &VF) { 128 unsigned LaneOffset = VF.getKnownMinValue() - 1; 130 if (VF.isScalable()) 132 // last subvector with VF.getKnownMinValue() elements. 148 Value *getAsRuntimeExpr(IRBuilder<> &Builder, const ElementCount &VF) const; 156 /// Maps the lane to a cache index based on \p VF. 157 unsigned mapToCacheIndex(const ElementCount &VF) const [all...] |
| LoopVectorizationPlanner.h | 206 /// fixed and/or scalable VFs in order to find the most cost-effective VF to 227 /// \return true if either fixed- or scalable VF is non-zero. 230 /// \return true if either fixed- or scalable VF is a valid vector VF. 290 /// Plan how to best vectorize, return the best VF and its cost, or None if 295 /// VF and its cost. 299 void setBestPlan(ElementCount VF, unsigned UF); 313 return all_of(VFs, [&](const ElementCount &VF) { 314 return Plan->hasVF(VF); 319 /// Test a \p Predicate on a \p Range of VF's. Return the value of applyin [all...] |
| LoadStoreVectorizer.cpp | 829 unsigned VF = VecRegSize / TySize; 834 (VecTy && TTI.getLoadVectorFactor(VF, TySize, TySize / 8, VecTy) == 0)) 876 unsigned VF = VecRegSize / TySize; 881 (VecTy && TTI.getStoreVectorFactor(VF, TySize, TySize / 8, VecTy) == 0)) 1012 unsigned VF = VecRegSize / Sz; 1016 if (!isPowerOf2_32(Sz) || VF < 2 || ChainSize < 2) { 1052 unsigned TargetVF = TTI.getStoreVectorFactor(VF, Sz, SzInBytes, VecTy); 1053 if (ChainSize > VF || (VF != TargetVF && TargetVF < ChainSize)) { 1165 unsigned VF = VecRegSize / Sz [all...] |
| LoopVectorizationLegality.cpp | 588 for (ElementCount VF = ElementCount::getFixed(2); 589 ElementCount::isKnownLE(VF, WidestFixedVF); VF *= 2) 590 Scalarize &= !TLI.isFunctionVectorizable(ScalarName, VF); 591 for (ElementCount VF = ElementCount::getScalable(1); 592 ElementCount::isKnownLE(VF, WidestScalableVF); VF *= 2) 593 Scalarize &= !TLI.isFunctionVectorizable(ScalarName, VF); 595 "Caller may decide to scalarize a variant using a scalable VF");
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| ReplaceWithVeclib.cpp | 107 ElementCount VF = ElementCount::getFixed(0); 130 if (VF.isNonZero() && VF != NumElements) { 134 VF = NumElements; 160 std::string(TLI.getVectorizedFunction(ScalarName, VF)); 163 << ScalarName << "` and vector width " << VF << ".\n");
|
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| VFABIDemangling.cpp | 67 /// sets `VF` accordingly. A `<vlen> == "x"` token is interpreted as a scalable 71 ParseRet tryParseVLEN(StringRef &ParseString, unsigned &VF, bool &IsScalable) { 73 // Set VF to 0, to be later adjusted to a value grater than zero 76 VF = 0; 81 if (ParseString.consumeInteger(10, VF)) 85 if (VF == 0) 343 unsigned VF; 345 if (tryParseVLEN(MangledName, VF, IsScalable) != ParseRet::OK) 431 // Adjust the VF for scalable signatures. The EC.Min is not encoded 436 // need to make sure that the VF field of the VFShape class is neve [all...] |
| VectorUtils.cpp | 756 llvm::createBitMaskForGaps(IRBuilderBase &Builder, unsigned VF, 766 for (unsigned i = 0; i < VF; i++) 776 llvm::createReplicatedMask(unsigned ReplicationFactor, unsigned VF) { 778 for (unsigned i = 0; i < VF; i++) 785 llvm::SmallVector<int, 16> llvm::createInterleaveMask(unsigned VF, 788 for (unsigned i = 0; i < VF; i++) 790 Mask.push_back(j * VF + i); 796 llvm::createStrideMask(unsigned Start, unsigned Stride, unsigned VF) { 798 for (unsigned i = 0; i < VF; i++) 1303 ElementCount VF) { [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/ |
| SystemZTargetTransformInfo.cpp | 486 unsigned VF = VTy->getNumElements(); 500 return VF * DivMulSeqCost + getScalarizationOverhead(VTy, Args, Tys); 502 if ((SignedDivRem || UnsignedDivRem) && VF > 4) 526 (VF * ScalarCost) + getScalarizationOverhead(VTy, Args, Tys); 527 // FIXME: VF 2 for these FP operations are currently just as 528 // expensive as for VF 4. 529 if (VF == 2) 545 (VF * LIBCALL_COST) + getScalarizationOverhead(VTy, Args, Tys); 546 // FIXME: VF 2 for float is currently just as expensive as for VF 4 [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| TargetLibraryInfo.h | 155 /// factor VF. 156 bool isFunctionVectorizable(StringRef F, const ElementCount &VF) const { 157 return !getVectorizedFunction(F, VF).empty(); 164 /// Return the name of the equivalent of F, vectorized with factor VF. If no 166 StringRef getVectorizedFunction(StringRef F, const ElementCount &VF) const; 315 bool isFunctionVectorizable(StringRef F, const ElementCount &VF) const { 316 return Impl->isFunctionVectorizable(F, VF); 321 StringRef getVectorizedFunction(StringRef F, const ElementCount &VF) const { 322 return Impl->getVectorizedFunction(F, VF);
|
| VectorUtils.h | 83 unsigned VF; // Vectorization factor. 88 return std::tie(VF, IsScalable, Parameters) == 89 std::tie(Other.VF, Other.IsScalable, Other.Parameters); 100 // with VF = 1. 189 unsigned numArgs, ElementCount VF); 307 inline Type *ToVectorTy(Type *Scalar, unsigned VF) { 308 return ToVectorTy(Scalar, ElementCount::getFixed(VF)); 466 /// and \p VF 4, that has only its first member present is: 473 Constant *createBitMaskForGaps(IRBuilderBase &Builder, unsigned VF, 478 /// This function creates a shuffle mask for replicating each of the \p VF [all...] |
| TargetTransformInfo.h | 950 /// bit width, or 0 if there is no minimum VF. The returned value only 952 /// If IsScalable is true, the returned ElementCount must be a scalable VF. 956 /// bit width and opcode, or 0 if there is no maximum VF. 1022 unsigned getMaxInterleaveFactor(unsigned VF) const; 1325 ElementCount VF) const; 1329 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize, 1335 unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize, 1611 virtual unsigned getMaxInterleaveFactor(unsigned VF) = 0; 1709 ElementCount VF) const = 0; 1710 virtual unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize [all...] |
| TargetTransformInfoImpl.h | 446 unsigned getMaxInterleaveFactor(unsigned VF) const { return 1; } 719 ElementCount VF) const { 723 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize, 726 return VF; 729 unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize, 732 return VF;
|
| /src/usr.sbin/lpr/common_source/ |
| lp.h | 77 extern const char *VF; /* name of raster filter (per job) */
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| AMDGPUTargetTransformInfo.h | 127 unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize, 130 unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize, 152 unsigned getMaxInterleaveFactor(unsigned VF); 256 unsigned getMaxInterleaveFactor(unsigned VF);
|
| AMDGPUTargetTransformInfo.cpp | 342 unsigned GCNTTIImpl::getLoadVectorFactor(unsigned VF, unsigned LoadSize, 345 unsigned VecRegBitWidth = VF * LoadSize; 350 return VF; 353 unsigned GCNTTIImpl::getStoreVectorFactor(unsigned VF, unsigned StoreSize, 356 unsigned VecRegBitWidth = VF * StoreSize; 360 return VF; 473 unsigned GCNTTIImpl::getMaxInterleaveFactor(unsigned VF) { 476 if (VF == 1) 760 // intrinsic. A vectorizer will pass a scalar RetTy and VF > 1, while 761 // CostModel will pass a vector RetTy and VF is 1 [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/RISCV/ |
| RISCVTargetTransformInfo.h | 144 ElementCount VF) const { 148 if (!VF.isScalable())
|
| /src/bin/pax/ |
| options.h | 73 #define VF 0x000008000ULL
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/MCTargetDesc/ |
| PPCMCTargetDesc.h | 166 static const MCPhysReg VFRegs[32] = PPC_REGS0_31(PPC::VF); \ 175 PPC_REGS_LO_HI(PPC::F, PPC::VF); \ 177 PPC_REGS_LO_HI(PPC::F, PPC::VF); \
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/X86/ |
| X86InterleavedAccess.cpp | 201 // [0,1...,VF/2-1,VF/2+VF,VF/2+VF+1,...,2VF-1] 432 // {0, Stride%(VF/Lane), (2*Stride%(VF/Lane))...(VF*Stride/Lane)%(VF/Lane) [all...] |
| /src/external/apache2/llvm/dist/clang/lib/Basic/ |
| FileManager.cpp | 441 llvm::Optional<FileEntryRef> FileManager::getBypassFile(FileEntryRef VF) { 444 if (getStatValue(VF.getName(), Status, /*isFile=*/true, /*F=*/nullptr)) 453 {VF.getName(), std::errc::no_such_file_or_directory}); 459 const FileEntry &VFE = VF.getFileEntry(); 461 Insertion.first->second = FileEntryRef::MapValue(BFE, VF.getDir());
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/ |
| AArch64TargetTransformInfo.h | 134 unsigned getMaxInterleaveFactor(unsigned VF); 296 ElementCount VF) const;
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
| WholeProgramDevirt.cpp | 2076 for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) { 2077 for (Metadata *MD : MetadataByGUID[VF.GUID]) { 2078 CallSlots[{MD, VF.Offset}].CSInfo.addSummaryTypeTestAssumeUser(FS); 2081 for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) { 2082 for (Metadata *MD : MetadataByGUID[VF.GUID]) { 2083 CallSlots[{MD, VF.Offset}].CSInfo.addSummaryTypeCheckedLoadUser(FS); 2205 for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) { 2206 for (StringRef Name : NameByGUID[VF.GUID]) { 2207 CallSlots[{Name, VF.Offset}].CSInfo.addSummaryTypeTestAssumeUser(FS); 2210 for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) [all...] |