Home
last modified time | relevance | path

Searched full:reductions (Results 1 – 25 of 443) sorted by relevance

12345678910>>...18

/llvm-project/mlir/lib/Dialect/Affine/Transforms/
H A DAffineParallelize.cpp51 : loop(l), reductions(std::move(r)) {} in ParallelizationCandidate()
55 /// Desciprtors of reductions that can be parallelized in the loop.
56 SmallVector<LoopReduction> reductions; member
67 SmallVector<LoopReduction> reductions; in runOnOperation() local
68 if (isLoopParallel(loop, parallelReductions ? &reductions : nullptr)) in runOnOperation()
69 parallelizableLoops.emplace_back(loop, std::move(reductions)); in runOnOperation()
83 if (failed(affineParallelize(loop, candidate.reductions))) { in runOnOperation()
H A DSuperVectorize.cpp523 /// passing a map from loops to reductions to utility functions, or by passing
524 /// `vectorize-reductions=true` to the vectorization pass.
543 /// vectorize-reductions=true"
1328 ArrayRef<LoopReduction> reductions; in vectorizeAffineForOp() local
1333 reductions = it->second; in vectorizeAffineForOp()
1334 assert(reductions.size() == forOp.getNumIterOperands() && in vectorizeAffineForOp()
1335 "The size of reductions array must match the number of iter_args"); in vectorizeAffineForOp()
1347 for (auto redAndOperand : llvm::zip(reductions, forOp.getInits())) { in vectorizeAffineForOp()
1387 getVectorReductionOp(reductions[i].kind, state.builder, in vectorizeAffineForOp()
1395 if (!isNeutralElementConst(reductions[ in vectorizeAffineForOp()
1772 SmallVector<LoopReduction, 2> reductions; runOnOperation() local
[all...]
/llvm-project/flang/docs/
H A DArrayComposition.md26 * Reductions to scalars (`SUM(X)`, also `ALL`, `ANY`, `COUNT`,
29 * Axial reductions (`SUM(X,DIM=)`, &c.)
30 * Location reductions to indices (`MAXLOC`, `MINLOC`, `FINDLOC`)
31 * Axial location reductions (`MAXLOC(DIM=`, &c.)
105 Partial (axial) reductions can be similarly composed.
110 * Reductions to scalars (`SUM(X)` without `DIM=`) become
113 * Axial reductions (`SUM(X,DIM=d)`) applied to indices `(J,K)`
115 * Location reductions to indices (`MAXLOC(X)` without `DIM=`)
118 * Axial location reductions (`MAXLOC(X,DIM=)`, &c.)
119 are handled like other axial reductions like `SUM(DIM=)`.
/llvm-project/openmp/runtime/src/
H A Dkmp_gsupport.cpp1780 int reductions = gomp_flags & (1u << 12); in __GOMP_taskloop() local
1858 if (reductions) { in __GOMP_taskloop()
2212 long *iend, uintptr_t *reductions, void **mem) { in KMP_EXPAND_NAME()
2215 KA_TRACE(20, ("GOMP_loop_start: T#%d, reductions: %p\n", gtid, reductions)); in KMP_EXPAND_NAME()
2216 if (reductions) in KMP_EXPAND_NAME()
2217 __kmp_GOMP_init_reductions(gtid, reductions, 1); in KMP_EXPAND_NAME()
2264 unsigned long long *istart, unsigned long long *iend, uintptr_t *reductions, in KMP_EXPAND_NAME()
2269 ("GOMP_loop_ull_start: T#%d, reductions: %p\n", gtid, reductions)); in KMP_EXPAND_NAME()
2270 if (reductions) in KMP_EXPAND_NAME()
2271 __kmp_GOMP_init_reductions(gtid, reductions, 1); in KMP_EXPAND_NAME()
[all …]
/llvm-project/llvm/test/Transforms/LoopVectorize/ARM/
H A Dtail-folding-reductions-allowed.ll4 …rm-eabihf -mattr=+mve.fp -passes=loop-vectorize -tail-predication=enabled-no-reductions -S < %s | \
7 …ihf -mattr=+mve.fp -passes=loop-vectorize -tail-predication=force-enabled-no-reductions -S < %s | \
12 ; Check that this reduction is allowed, except when reductions are disable on
/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DConstructCompositionT.h
/llvm-project/flang/test/Lower/OpenMP/
H A Ddelayed-privatization-reduction.f901 ! Test that reductions and delayed privatization work properly togehter. Since
3 ! that the block arguments are added in the proper order (reductions first and
H A Ddelayed-privatization-reduction-byref.f901 ! Test that reductions and delayed privatization work properly togehter. Since
3 ! that the block arguments are added in the proper order (reductions first and
/llvm-project/mlir/test/Dialect/Affine/SuperVectorize/
H A Dvectorize_reduction_2d.mlir1 …ctorize="virtual-vector-size=32,256 test-fastest-varying=1,0 vectorize-reductions=true" -verify-di…
7 // expected-error@+1 {{Vectorizing reductions is supported only for 1-D vectors}}
/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h265 /// of the reductions that were found in the loop.
273 /// inductions and reductions.
287 /// we can use in-order reductions. in getPrimaryInduction()
302 const ReductionList &getReductionVars() const { return Reductions; }
314 /// reductions found in the loop.
343 bool isReductionVariable(PHINode *PN) const { return Reductions.count(PN); }
521 /// 5. The loop does not contain reductions or recurrences.
585 ReductionList Reductions;
503 ReductionList Reductions; global() variable
/llvm-project/flang/runtime/
H A Dreduction-templates.h12 // * Partial reductions (i.e., those with DIM= arguments that are not
15 // * Total reductions (i.e., no DIM= argument) with FINDLOC, MAXLOC, & MINLOC
18 // * Character-valued reductions (MAXVAL & MINVAL) return arbitrary
33 // Reductions are implemented with *accumulators*, which are instances of
111 // For reductions on a dimension, e.g. SUM(array,DIM=2) where the shape
180 // Partial reductions with DIM= in PartialReduction()
/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/
H A Dstrict-fadd-vf1.ll2 ; RUN: opt -passes=loop-vectorize -force-ordered-reductions=true -force-vector-width=1 -S < %s -deb…
7 ; CHECK-DEBUG: LV: Not interleaving scalar ordered reductions.
H A Dsve-strict-fadd-cost.ll2 ; RUN: opt < %s -passes=loop-vectorize -debug -disable-output -force-ordered-reductions=true -hints-allow-reordering=false \
4 ; RUN: opt < %s -passes=loop-vectorize -debug -disable-output -force-ordered-reductions=true -hints-allow-reordering=false \
7 ; RUN: opt < %s -passes=loop-vectorize -debug -disable-output -force-ordered-reductions=true -hints-allow-reordering=false \
H A Dstrict-fadd-cost.ll2 ; RUN: opt < %s -passes=loop-vectorize -debug -disable-output -force-ordered-reductions=true -hints…
4 ; RUN: opt < %s -passes=loop-vectorize -debug -disable-output -force-ordered-reductions=true -hints…
/llvm-project/mlir/test/Integration/Dialect/Vector/CPU/
H A Dreductions-f32-reassoc.mlir2 // RUN: -convert-vector-to-llvm='reassociate-fp-reductions' \
23 // Various vector reductions. Not full functional unit tests, but
H A Dreductions-f64-reassoc.mlir2 // RUN: -convert-vector-to-llvm='reassociate-fp-reductions' \
23 // Various vector reductions. Not full functional unit tests, but
/llvm-project/llvm/lib/CodeGen/
H A DExpandReductions.cpp92 // Canonicalize logical or/and reductions: in expandReductions()
176 INITIALIZE_PASS_BEGIN(ExpandReductions, "expand-reductions", in INITIALIZE_PASS_DEPENDENCY()
179 INITIALIZE_PASS_END(ExpandReductions, "expand-reductions", in INITIALIZE_PASS_DEPENDENCY()
/llvm-project/mlir/lib/Analysis/
H A DSliceAnalysis.cpp233 /// This utility is generic enough to detect reductions involving multiple in matchReduction()
237 /// matching reductions without pre-defined semantics in core MLIR. It's up to in matchReduction()
240 /// reductions not covered by this generic matching. in matchReduction()
275 // Limit matching to single combiner op until we can properly test reductions
/llvm-project/flang/unittests/Runtime/
H A DReduction.cpp1 //===-- flang/unittests/Runtime/Reductions.cpp ----------------------------===//
26 TEST(Reductions, Int4Ops) { in TEST() argument
39 TEST(Reductions, DimMaskProductInt4) { in TEST() argument
58 TEST(Reductions, DoubleMaxMinNorm2) { in TEST() argument
253 TEST(Reductions, Character) { in TEST() argument
347 TEST(Reductions, Logical) { in TEST() argument
478 TEST(Reductions, FindlocNumeric) { in TEST() argument
546 // Partial reductions in TEST()
588 TEST(Reductions, DotProduct) { in TEST() argument
623 TEST(Reductions, ExtremaReal1 argument
647 TEST(Reductions,ReduceInt4) TEST() argument
655 TEST(Reductions,ReduceInt4Dim) TEST() argument
[all...]
/llvm-project/mlir/lib/Conversion/SCFToOpenMP/
H A DSCFToOpenMP.cpp241 /// reduction and returns it. Recognizes common reductions in order to identify
261 // Match simple binary reductions that can be expressed with atomicrmw. in declareReduction()
301 // Match simple binary reductions that cannot be expressed with atomicrmw. in declareReduction()
313 // Match select-based min/max reductions. in declareReduction()
366 // Declare reductions. in matchAndRewrite()
473 // false because these reductions always reduce scalars and so do in matchAndRewrite()
/llvm-project/mlir/include/mlir/Dialect/Vector/IR/
H A DVectorAttributes.td19 // The "kind" of combining function for contractions and reductions.
36 "Kind of combining function for contractions and reductions",
/llvm-project/llvm/docs/
H A DBugpointRedesign.md22 via classic delta debugging and by adding some IR-specific reductions (e.g.
79 Once these passes are implemented, more meaningful reductions (such as type
/llvm-project/mlir/lib/Conversion/AffineToStandard/
H A DAffineToStandard.cpp223 ArrayRef<Attribute> reductions = op.getReductions().getValue(); in matchAndRewrite() local
224 for (auto pair : llvm::zip(reductions, op.getResultTypes())) { in matchAndRewrite()
245 assert(reductions.size() == affineParOpTerminator->getNumOperands() && in matchAndRewrite()
246 "Unequal number of reductions and operands."); in matchAndRewrite()
252 for (unsigned i = 0, end = reductions.size(); i < end; i++) { in matchAndRewrite()
256 cast<IntegerAttr>(reductions[i]).getInt()); in matchAndRewrite()
/llvm-project/mlir/test/lib/Dialect/LLVM/
H A DTestLowerToLLVM.cpp41 *this, "reassociate-fp-reductions",
42 llvm::cl::desc("Allow reassociation og FP reductions"),
/llvm-project/mlir/include/mlir/Interfaces/
H A DTilingInterface.td369 tile reductions using partial reduction followed by merge. This is
370 complementary to TilingInterface to tile reductions.
397 `mergeReductions` method which will combine the partial reductions.
415 Method to merge partial reductions for an operation that has been

12345678910>>...18