Home
last modified time | relevance | path

Searched refs:Stride (Results 1 – 25 of 60) sorted by relevance

123

/netbsd/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DLoopCacheAnalysis.cpp294 const SCEV *Stride = SE.getMulExpr(Coeff, ElemSize); in computeRefCost() local
295 const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS); in computeRefCost()
296 Type *WiderType = SE.getWiderType(Stride->getType(), TripCount->getType()); in computeRefCost()
297 if (SE.isKnownNegative(Stride)) in computeRefCost()
298 Stride = SE.getNegativeSCEV(Stride); in computeRefCost()
299 Stride = SE.getNoopOrAnyExtend(Stride, WiderType); in computeRefCost()
301 const SCEV *Numerator = SE.getMulExpr(Stride, TripCount); in computeRefCost()
421 const SCEV *Stride = SE.getMulExpr(Coeff, ElemSize); in isConsecutive() local
422 const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS); in isConsecutive()
424 Stride = SE.isKnownNegative(Stride) ? SE.getNegativeSCEV(Stride) : Stride; in isConsecutive()
[all …]
H A DVectorUtils.cpp255 Value *Stride = U->getValue(); in getStrideFromPointer() local
256 if (!Lp->isLoopInvariant(Stride)) in getStrideFromPointer()
262 Stride = getUniqueCastUse(Stride, Lp, StripedOffRecurrenceCast); in getStrideFromPointer()
264 return Stride; in getStrideFromPointer()
799 Mask.push_back(Start + i * Stride); in createStrideMask()
942 bool InterleavedAccessInfo::isStrided(int Stride) { in isStrided() argument
943 unsigned Factor = std::abs(Stride); in isStrided()
974 int64_t Stride = getPtrStride(PSE, Ptr, TheLoop, Strides, in collectConstStrideAccesses() local
1061 if (isStrided(DesB.Stride) && in analyzeInterleaving()
1124 if (!isStrided(DesA.Stride) || !isStrided(DesB.Stride)) in analyzeInterleaving()
[all …]
H A DLoopAccessAnalysis.cpp650 int64_t Stride = getPtrStride(PSE, Ptr, L, Strides); in isNoWrap() local
1101 int64_t Stride = StepVal / Size; in getPtrStride() local
1109 if (!IsNoWrapAddRec && Stride != 1 && Stride != -1 && in getPtrStride()
1124 return Stride; in getPtrStride()
1383 const uint64_t ByteStride = Stride * TypeByteSize; in isSafeDependenceDistance()
1449 return ScaledDist % Stride; in areStridedAccessesIndependent()
1507 uint64_t Stride = std::abs(StrideAPtr); in isDependent() local
2139 if (!Stride) in collectStridedAccess()
2159 const SCEV *StrideExpr = PSE->getSCEV(Stride); in collectStridedAccess()
2188 SymbolicStrides[Ptr] = Stride; in collectStridedAccess()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
H A DVectorUtils.h516 llvm::SmallVector<int, 16> createStrideMask(unsigned Start, unsigned Stride,
588 InterleaveGroup(InstTy *Instr, int32_t Stride, Align Alignment) in InterleaveGroup() argument
590 Factor = std::abs(Stride); in InterleaveGroup()
593 Reverse = Stride < 0; in InterleaveGroup()
818 StrideDescriptor(int64_t Stride, const SCEV *Scev, uint64_t Size, in StrideDescriptor()
820 : Stride(Stride), Scev(Scev), Size(Size), Alignment(Alignment) {} in StrideDescriptor()
823 int64_t Stride = 0; member
843 createInterleaveGroup(Instruction *Instr, int Stride, Align Alignment) { in createInterleaveGroup() argument
847 new InterleaveGroup<Instruction>(Instr, Stride, Alignment); in createInterleaveGroup()
868 static bool isStrided(int Stride);
[all …]
H A DScalarEvolution.h1988 const SCEV *computeBECount(const SCEV *Delta, const SCEV *Stride,
1997 const SCEV *computeMaxBECountForLT(const SCEV *Start, const SCEV *Stride,
2004 bool doesIVOverflowOnLT(const SCEV *RHS, const SCEV *Stride, bool IsSigned,
2010 bool doesIVOverflowOnGT(const SCEV *RHS, const SCEV *Stride, bool IsSigned,
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86LowerAMXType.cpp177 Value *Stride = Builder.getInt64(64); in combineLoadBitcast() local
180 std::array<Value *, 4> Args = {Row, Col, I8Ptr, Stride}; in combineLoadBitcast()
205 Value *Stride = Builder.getInt64(64); in combineBitcastStore() local
208 std::array<Value *, 5> Args = {Row, Col, I8Ptr, Stride, Tile}; in combineBitcastStore()
229 Value *I8Ptr, *Stride; in transformBitcast() local
235 Stride = Builder.getInt64(64); in transformBitcast()
257 std::array<Value *, 4> Args = {Row, Col, I8Ptr, Stride}; in transformBitcast()
275 std::array<Value *, 5> Args = {Row, Col, I8Ptr, Stride, Src}; in transformBitcast()
409 Value *Stride = Builder.getInt64(64); in createTileStore() local
434 Value *Stride = Builder.getInt64(64); in replaceWithTileLoad() local
[all …]
H A DX86InterleavedAccess.cpp293 unsigned VecElems, unsigned Stride, in reorderSubVector() argument
297 for (unsigned i = 0; i < Stride; i++) in reorderSubVector()
305 for (unsigned i = 0; i < (VecElems / 16) * Stride; i += 2) { in reorderSubVector()
306 genShuffleBland(VT, VPShuf, OptimizeShuf, (i / Stride) * 16, in reorderSubVector()
307 (i + 1) / Stride * 16); in reorderSubVector()
309 Vec[i % Stride], Vec[(i + 1) % Stride], OptimizeShuf); in reorderSubVector()
314 std::copy(Temp, Temp + Stride, TransposedMatrix.begin()); in reorderSubVector()
317 for (unsigned i = 0; i < Stride; i++) in reorderSubVector()
440 static void createShuffleStride(MVT VT, int Stride, in createShuffleStride() argument
447 Mask.push_back((i * Stride) % LaneSize + LaneSize * Lane); in createShuffleStride()
H A DX86LowerAMXIntrinsics.cpp78 Value *Ptr, Value *Stride, Value *Tile);
150 Value *Col, Value *Ptr, Value *Stride, Value *Tile) { in createTileLoadStoreLoops() argument
183 Value *CurrentRowZExt = B.CreateZExt(CurrentRow, Stride->getType()); in createTileLoadStoreLoops()
184 Value *CurrentColZExt = B.CreateZExt(CurrentCol, Stride->getType()); in createTileLoadStoreLoops()
186 B.CreateAdd(B.CreateMul(CurrentRowZExt, Stride), CurrentColZExt); in createTileLoadStoreLoops()
516 Value *M, *N, *Ptr, *Stride, *Tile; in lowerTileLoadStore() local
520 m_Value(M), m_Value(N), m_Value(Ptr), m_Value(Stride))); in lowerTileLoadStore()
524 m_Value(Stride), m_Value(Tile))); in lowerTileLoadStore()
530 Value *StrideDWord = PreBuilder.CreateLShr(Stride, PreBuilder.getInt64(2)); in lowerTileLoadStore()
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/Object/
H A DMinidump.h110 MemoryInfoIterator(ArrayRef<uint8_t> Storage, size_t Stride) in MemoryInfoIterator() argument
111 : Storage(Storage), Stride(Stride) { in MemoryInfoIterator()
112 assert(Storage.size() % Stride == 0); in MemoryInfoIterator()
125 Storage = Storage.drop_front(Stride);
131 size_t Stride; variable
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DStraightLineStrengthReduce.cpp145 : CandidateKind(CT), Base(B), Index(Idx), Stride(S), Ins(I) {} in Candidate()
156 Value *Stride = nullptr; member
282 Basis.Base == C.Base && Basis.Stride == C.Stride && in isBasisFor()
294 static bool isAddFoldable(const SCEV *Base, ConstantInt *Index, Value *Stride, in isAddFoldable() argument
306 return isAddFoldable(C.Base, C.Index, C.Stride, TTI); in isFoldable()
608 return C.Stride; in emitBump()
611 return Builder.CreateNeg(C.Stride); in emitBump()
617 Value *ExtendedStride = Builder.CreateSExtOrTrunc(C.Stride, DeltaType); in emitBump()
636 C.Stride == Basis.Stride); in rewriteCandidateWithBasis()
H A DLowerMatrixIntrinsics.cpp132 Value *computeVectorAddr(Value *BasePtr, Value *VecIdx, Value *Stride, in computeVectorAddr() argument
136 assert((!isa<ConstantInt>(Stride) || in computeVectorAddr()
137 cast<ConstantInt>(Stride)->getZExtValue() >= NumElements) && in computeVectorAddr()
142 Value *VecStart = Builder.CreateMul(VecIdx, Stride, "vec.start"); in computeVectorAddr()
793 if (auto *ConstStride = dyn_cast<ConstantInt>(Stride)) { in getAlignForIndex()
814 VecTy, GEP, getAlignForIndex(I, Stride, EltTy, MAlign), in loadMatrix()
865 Value *Stride = Inst->getArgOperand(1); in LowerColumnMajorLoad() local
866 LowerLoad(Inst, Ptr, Inst->getParamAlign(0), Stride, in LowerColumnMajorLoad()
902 Stride, StoreVal.getStride(), in storeMatrix()
933 Value *Stride = Inst->getArgOperand(2); in LowerColumnMajorStore() local
[all …]
H A DLoopIdiomRecognize.cpp547 APInt Stride = getStoreStride(StoreEv); in isLegalStore() local
549 if (StoreSize != Stride && StoreSize != -Stride) in isLegalStore()
779 APInt Stride = getStoreStride(StoreEv); in processLoopStores() local
783 if (StoreSize != Stride && StoreSize != -Stride) in processLoopStores()
786 bool NegStride = StoreSize == -Stride; in processLoopStores()
925 APInt Stride = ConstStride->getAPInt(); in processLoopMemSet() local
926 if (SizeInBytes != Stride && SizeInBytes != -Stride) in processLoopMemSet()
937 bool NegStride = SizeInBytes == -Stride; in processLoopMemSet()
1207 APInt Stride = getStoreStride(StoreEv); in processLoopStoreOfLoopLoad() local
1208 bool NegStride = StoreSize == -Stride; in processLoopStoreOfLoopLoad()
/netbsd/external/gpl3/gcc.old/dist/libphobos/src/std/
H A Dmeta.d1510 template Stride(int stepSize, Args...)
1515 alias Stride = AliasSeq!(); variable
1520 alias Stride = AliasSeq!(Args[0]); variable
1522 alias Stride = AliasSeq!(Args[0], Stride!(stepSize, Args[stepSize .. $])); variable
1527 alias Stride = AliasSeq!(Args[$ - 1]); variable
1529 alias Stride = AliasSeq!(Args[$ - 1], Stride!(stepSize, Args[0 .. $ + stepSize])); variable
1542 static assert(is(Stride!(3, attribs) == AliasSeq!(short, ushort)));
1544 static assert(is(Stride!(-3, attribs) == AliasSeq!(ulong, long)));
1549 static assert(Pack!(Stride!(5, int)).equals!(int));
1550 static assert(Pack!(Stride!(-5, int)).equals!(int));
[all …]
/netbsd/external/gpl3/gcc/dist/libphobos/src/std/
H A Dmeta.d1385 template Stride(int stepSize, Args...)
1388 alias Stride = AliasSeq!(); variable
1392 Stride = AliasSeq!(Stride, Args[i * stepSize]);
1397 Stride = AliasSeq!(Stride, Args[$ - 1 + i * stepSize]);
1405 static assert(is(Stride!(2, short, int, long) == AliasSeq!(short, long)));
1410 static assert(is(Stride!(3, attribs) == AliasSeq!(short, ushort)));
1411 static assert(is(Stride!(3, attribs[1 .. $]) == AliasSeq!(int, uint)));
1412 static assert(is(Stride!(-3, attribs) == AliasSeq!(ulong, long)));
1417 static assert(Pack!(Stride!(5, int)).equals!(int));
1418 static assert(Pack!(Stride!(-5, int)).equals!(int));
[all …]
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/ADT/
H A DSparseSet.h206 const unsigned Stride = std::numeric_limits<SparseT>::max() + 1u;
207 for (unsigned i = Sparse[Idx], e = size(); i < e; i += Stride) {
213 if (!Stride)
H A DSparseMultiSet.h356 const unsigned Stride = std::numeric_limits<SparseT>::max() + 1u; in findIndex() local
357 for (unsigned i = Sparse[Idx], e = Dense.size(); i < e; i += Stride) { in findIndex()
364 if (!Stride) in findIndex()
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/IR/
H A DMatrixBuilder.h66 Value *Stride, bool IsVolatile, unsigned Rows,
75 Value *Ops[] = {DataPtr, Stride, B.getInt1(IsVolatile), B.getInt32(Rows),
94 Value *Stride, bool IsVolatile,
98 Stride, B.getInt1(IsVolatile),
H A DDIBuilder.h611 Metadata *UpperBound, Metadata *Stride);
617 DIGenericSubrange::BoundType Stride);
/netbsd/external/apache2/llvm/dist/llvm/lib/IR/
H A DLLVMContextImpl.h308 Metadata *Stride;
311 Metadata *Stride)
313 Stride(Stride) {}
337 BoundsEqual(Stride, RHS->getRawStride());
344 LowerBound, UpperBound, Stride);
345 return hash_combine(CountNode, LowerBound, UpperBound, Stride);
353 Metadata *Stride;
356 Metadata *Stride)
358 Stride(Stride) {}
367 (Stride == RHS->getRawStride());
[all …]
H A DDebugInfoMetadata.cpp362 Metadata *LB, Metadata *UB, Metadata *Stride, in getImpl() argument
364 DEFINE_GETIMPL_LOOKUP(DISubrange, (CountNode, LB, UB, Stride)); in getImpl()
365 Metadata *Ops[] = {CountNode, LB, UB, Stride}; in getImpl()
455 Metadata *UB, Metadata *Stride, in getImpl() argument
458 DEFINE_GETIMPL_LOOKUP(DIGenericSubrange, (CountNode, LB, UB, Stride)); in getImpl()
459 Metadata *Ops[] = {CountNode, LB, UB, Stride}; in getImpl()
H A DDIBuilder.cpp672 Metadata *UB, Metadata *Stride) { in getOrCreateSubrange() argument
673 return DISubrange::get(VMContext, CountNode, LB, UB, Stride); in getOrCreateSubrange()
678 DIGenericSubrange::BoundType UB, DIGenericSubrange::BoundType Stride) { in getOrCreateGenericSubrange() argument
685 ConvToMetadata(Stride)); in getOrCreateGenericSubrange()
/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DMachineRegisterInfo.cpp339 int Stride = 1; in moveOperands() local
341 Stride = -1; in moveOperands()
370 Dst += Stride; in moveOperands()
371 Src += Stride; in moveOperands()
/netbsd/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/tests/
H A Dsanitizer_vector_test.cc30 TEST(Vector, Stride) { in TEST() argument
/netbsd/external/apache2/llvm/dist/clang/include/clang/AST/
H A DExprOpenMP.h64 OMPArraySectionExpr(Expr *Base, Expr *LowerBound, Expr *Length, Expr *Stride, in OMPArraySectionExpr() argument
74 SubExprs[STRIDE] = Stride; in OMPArraySectionExpr()
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp415 int Stride = getPtrStride(PSE, Ptr, TheLoop, Strides, CanAddPredicate, false); in isConsecutivePtr() local
416 if (Stride == 1 || Stride == -1) in isConsecutivePtr()
417 return Stride; in isConsecutivePtr()

123