HomeSort by: relevance | last modified time | path
    Searched refs:Stride (Results 1 - 25 of 49) sorted by relevancy

1 2

  /src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/tests/
sanitizer_vector_test.cc 30 TEST(Vector, Stride) {
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
LoopCacheAnalysis.cpp 288 // (TripCount*Stride)/CLS, otherwise the cost is TripCount.
294 const SCEV *Stride = SE.getMulExpr(Coeff, ElemSize);
295 const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS);
296 Type *WiderType = SE.getWiderType(Stride->getType(), TripCount->getType());
297 if (SE.isKnownNegative(Stride))
298 Stride = SE.getNegativeSCEV(Stride);
299 Stride = SE.getNoopOrAnyExtend(Stride, WiderType);
301 const SCEV *Numerator = SE.getMulExpr(Stride, TripCount)
    [all...]
VectorUtils.cpp 192 /// Get the stride of a pointer access in a loop. Looks for symbolic
193 /// strides "a[i*stride]". Returns the symbolic stride, or null otherwise.
255 Value *Stride = U->getValue();
256 if (!Lp->isLoopInvariant(Stride))
262 Stride = getUniqueCastUse(Stride, Lp, StripedOffRecurrenceCast);
264 return Stride;
796 llvm::createStrideMask(unsigned Start, unsigned Stride, unsigned VF) {
799 Mask.push_back(Start + i * Stride);
    [all...]
LoopAccessAnalysis.cpp 123 cl::desc("Enable symbolic stride memory access versioning"));
149 // symbolic stride replaced by one.
153 // For a non-symbolic stride, just return the original expression.
195 // Get the stride replaced scev.
650 int64_t Stride = getPtrStride(PSE, Ptr, L, Strides);
651 if (Stride == 1 || PSE.hasNoOverflow(Ptr, SCEVWrapPredicate::IncrementNUSW))
1016 /// Check whether the access through \p Ptr has a constant stride.
1026 LLVM_DEBUG(dbgs() << "LAA: Bad stride - Not a pointer to a scalar type"
1038 LLVM_DEBUG(dbgs() << "LAA: Bad stride - Not an AddRecExpr pointer " << *Ptr
1043 // The access function must stride over the innermost loop
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Object/
Minidump.h 110 MemoryInfoIterator(ArrayRef<uint8_t> Storage, size_t Stride)
111 : Storage(Storage), Stride(Stride) {
112 assert(Storage.size() % Stride == 0);
125 Storage = Storage.drop_front(Stride);
131 size_t Stride;
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
VectorUtils.h 339 /// Get the stride of a pointer access in a loop. Looks for symbolic
340 /// strides "a[i*stride]". Returns the symbolic stride, or null otherwise.
504 /// Create a stride shuffle mask.
507 /// are incremented by \p Stride. The mask can be used to deinterleave an
511 /// <Start, Start + Stride, ..., Start + Stride * (VF - 1)>
513 /// For example, the mask for Start = 0, Stride = 2, and VF = 4 is:
516 llvm::SmallVector<int, 16> createStrideMask(unsigned Start, unsigned Stride,
556 /// The group of interleaved loads/stores sharing the same stride an
    [all...]
ScalarEvolution.h 1987 /// stride and presence of the equality in the comparison.
1988 const SCEV *computeBECount(const SCEV *Delta, const SCEV *Stride,
1992 /// permitted by Start, End, and Stride. This is for loops of the form
1993 /// {Start, +, Stride} LT End.
1997 const SCEV *computeMaxBECountForLT(const SCEV *Start, const SCEV *Stride,
2001 /// Verify if an linear IV with positive stride can overflow when in a
2003 /// the stride and the knowledge of NSW/NUW flags on the recurrence.
2004 bool doesIVOverflowOnLT(const SCEV *RHS, const SCEV *Stride, bool IsSigned,
2007 /// Verify if an linear IV with negative stride can overflow when in a
2009 /// the stride and the knowledge of NSW/NUW flags on the recurrence
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/ADT/
SparseSet.h 206 const unsigned Stride = std::numeric_limits<SparseT>::max() + 1u;
207 for (unsigned i = Sparse[Idx], e = size(); i < e; i += Stride) {
212 // Stride is 0 when SparseT >= unsigned. We don't need to loop.
213 if (!Stride)
SparseMultiSet.h 356 const unsigned Stride = std::numeric_limits<SparseT>::max() + 1u;
357 for (unsigned i = Sparse[Idx], e = Dense.size(); i < e; i += Stride) {
363 // Stride is 0 when SparseT >= unsigned. We don't need to loop.
364 if (!Stride)
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86LowerAMXType.cpp 176 // Use the maximun column as stride.
177 Value *Stride = Builder.getInt64(64);
180 std::array<Value *, 4> Args = {Row, Col, I8Ptr, Stride};
188 // %stride);
203 // Use the maximum column as stride. It must be the same with load
204 // stride.
205 Value *Stride = Builder.getInt64(64);
208 std::array<Value *, 5> Args = {Row, Col, I8Ptr, Stride, Tile};
229 Value *I8Ptr, *Stride;
235 Stride = Builder.getInt64(64)
    [all...]
X86InterleavedAccess.cpp 60 /// Reference to the interleaving stride in terms of elements.
106 /// \p 'Ind' and the interleaving stride factor \p F. In order to generate
135 // Stride 4:
138 // Stride 3:
150 // We support shuffle represents stride 4 for byte type with size of
199 // In the case of stride 3 with a vector of 32 elements load the information
293 unsigned VecElems, unsigned Stride,
297 for (unsigned i = 0; i < Stride; i++)
305 for (unsigned i = 0; i < (VecElems / 16) * Stride; i += 2) {
306 genShuffleBland(VT, VPShuf, OptimizeShuf, (i / Stride) * 16
    [all...]
X86LowerAMXIntrinsics.cpp 78 Value *Ptr, Value *Stride, Value *Tile);
150 Value *Col, Value *Ptr, Value *Stride, Value *Tile) {
183 Value *CurrentRowZExt = B.CreateZExt(CurrentRow, Stride->getType());
184 Value *CurrentColZExt = B.CreateZExt(CurrentCol, Stride->getType());
186 B.CreateAdd(B.CreateMul(CurrentRowZExt, Stride), CurrentColZExt);
516 Value *M, *N, *Ptr, *Stride, *Tile;
520 m_Value(M), m_Value(N), m_Value(Ptr), m_Value(Stride)));
524 m_Value(Stride), m_Value(Tile)));
530 Value *StrideDWord = PreBuilder.CreateLShr(Stride, PreBuilder.getInt64(2));
  /src/external/gpl3/gcc.old/dist/libphobos/src/std/
meta.d 33 * $(LREF Stride)
1383 Returns: An `AliasSeq` filtered by the selected stride.
1385 template Stride(int stepSize, Args...)
1388 alias Stride = AliasSeq!();
1392 Stride = AliasSeq!(Stride, Args[i * stepSize]);
1397 Stride = AliasSeq!(Stride, Args[$ - 1 + i * stepSize]);
1404 static assert(is(Stride!(1, short, int, long) == AliasSeq!(short, int, long)));
1405 static assert(is(Stride!(2, short, int, long) == AliasSeq!(short, long)))
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/IR/
MatrixBuilder.h 64 /// \p Stride - Space between columns
66 Value *Stride, bool IsVolatile, unsigned Rows,
75 Value *Ops[] = {DataPtr, Stride, B.getInt1(IsVolatile), B.getInt32(Rows),
92 /// \p Stride - Space between columns
94 Value *Stride, bool IsVolatile,
98 Stride, B.getInt1(IsVolatile),
DIBuilder.h 611 Metadata *UpperBound, Metadata *Stride);
617 DIGenericSubrange::BoundType Stride);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
StraightLineStrengthReduce.cpp 145 : CandidateKind(CT), Base(B), Index(Idx), Stride(S), Ins(I) {}
151 // Note that Index and Stride of a GEP candidate do not necessarily have the
152 // same integer type. In that case, during rewriting, Stride will be
156 Value *Stride = nullptr;
167 // <Base: a, Index: 1, Stride: b + 2>
171 // <Base: b, Index: 2, Stride: a + 1>
183 // share the same base and stride.
231 // A helper function that factors ArrayIdx to a product of a stride and a
281 // They share the same base, stride, and candidate kind.
282 Basis.Base == C.Base && Basis.Stride == C.Stride &
    [all...]
LowerMatrixIntrinsics.cpp 94 // assuming \p Stride elements between start two consecutive vectors.
95 // \p Stride must be >= \p NumElements.
115 // Column 0: computeVectorAddr(Base, 0 (column), 4 (stride), 2 (num rows), ..)
117 // Column 1: computeVectorAddr(Base, 1 (column), 4 (stride), 2 (num rows), ..)
119 // Column 2: computeVectorAddr(Base, 2 (column), 4 (stride), 2 (num rows), ..)
132 Value *computeVectorAddr(Value *BasePtr, Value *VecIdx, Value *Stride,
136 assert((!isa<ConstantInt>(Stride) ||
137 cast<ConstantInt>(Stride)->getZExtValue() >= NumElements) &&
138 "Stride must be >= the number of elements in the result vector.");
141 // Compute the start of the vector with index VecIdx as VecIdx * Stride
    [all...]
LoopIdiomRecognize.cpp 511 // Check to see if we have a constant stride.
545 // Check to see if the stride matches the size of the store. If so, then we
547 APInt Stride = getStoreStride(StoreEv);
549 if (StoreSize != Stride && StoreSize != -Stride)
570 // The store and load must share the same stride.
592 // Make sure this is a strided store with a constant stride.
779 APInt Stride = getStoreStride(StoreEv);
781 // Check to see if the stride matches the size of the stores. If so, then
783 if (StoreSize != Stride && StoreSize != -Stride
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/IR/
LLVMContextImpl.h 308 Metadata *Stride;
311 Metadata *Stride)
313 Stride(Stride) {}
316 UpperBound(N->getRawUpperBound()), Stride(N->getRawStride()) {}
337 BoundsEqual(Stride, RHS->getRawStride());
344 LowerBound, UpperBound, Stride);
345 return hash_combine(CountNode, LowerBound, UpperBound, Stride);
353 Metadata *Stride;
356 Metadata *Stride)
    [all...]
DebugInfoMetadata.cpp 362 Metadata *LB, Metadata *UB, Metadata *Stride,
364 DEFINE_GETIMPL_LOOKUP(DISubrange, (CountNode, LB, UB, Stride));
365 Metadata *Ops[] = {CountNode, LB, UB, Stride};
439 "Stride must be signed constant or DIVariable or DIExpression");
455 Metadata *UB, Metadata *Stride,
458 DEFINE_GETIMPL_LOOKUP(DIGenericSubrange, (CountNode, LB, UB, Stride));
459 Metadata *Ops[] = {CountNode, LB, UB, Stride};
520 "Stride must be signed constant or DIVariable or DIExpression");
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
MachineRegisterInfo.cpp 339 int Stride = 1;
341 Stride = -1;
370 Dst += Stride;
371 Src += Stride;
  /src/external/apache2/llvm/dist/clang/include/clang/AST/
ExprOpenMP.h 24 /// [ lower-bound : length : stride ]
27 /// [ lower-bound : : stride ]
30 /// [ : length : stride ]
33 /// [ : : stride ]
41 /// Each of the lower-bound, length, and stride expressions if specified must be
45 /// { lower-bound, lower-bound + stride, lower-bound + 2 * stride,... ,
46 /// lower-bound + ((length - 1) * stride) }
49 /// The stride must evaluate to a positive integer.
52 /// When the stride is absent it defaults to 1
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
LoopVectorizationLegality.cpp 278 // 1) it has a canonical IV (starting from 0 and with stride 1),
415 int Stride = getPtrStride(PSE, Ptr, TheLoop, Strides, CanAddPredicate, false);
416 if (Stride == 1 || Stride == -1)
417 return Stride;
LoadStoreVectorizer.cpp 421 uint64_t Stride = DL.getTypeAllocSize(GTIA.getIndexedType());
422 if (PtrDelta.urem(Stride) != 0)
425 APInt IdxDiff = PtrDelta.udiv(Stride).zextOrSelf(IdxBitWidth);
  /src/external/apache2/llvm/dist/llvm/tools/sancov/
sancov.cpp 618 uint32_t Stride = Sec.reserved2;
619 uint32_t Cnt = Sec.size / Stride;
624 uint64_t Addr = Sec.addr + J * Stride;

Completed in 84 milliseconds

1 2