Lines Matching defs:reduction

243         result = todo("reduction");
246 result = todo("reduction with modifier");
721 /// Populates `reductions` with reduction declarations used in the given op.
778 // this can happen for really simple reduction init regions e.g.
819 /// Create an OpenMPIRBuilder-compatible reduction generator for the given
820 /// reduction declaration. The generator uses `builder` but ignores its
838 "omp.reduction.nonatomic.body", builder,
849 /// Create an OpenMPIRBuilder-compatible atomic reduction generator for the
850 /// given reduction declaration. The generator uses `builder` but ignores its
852 /// reduction declaration.
872 "omp.reduction.atomic.body", builder,
961 /// Allocate space for privatized reduction variables.
988 if (failed(inlineConvertOmpRegions(allocRegion, "omp.reduction.alloc",
996 // Allocate reduction variable (which is a pointer to the real reduction
1007 "allocaction is implicit for by-val reduction");
1019 /// Map input arguments to reduction initialization region
1027 mlir::omp::DeclareReductionOp &reduction = reductionDecls[i];
1028 Region &initializerRegion = reduction.getInitializerRegion();
1033 assert(llvmSource && "lookup reduction var");
1034 moduleTranslation.mapValue(reduction.getInitializerMoldArg(), llvmSource);
1039 moduleTranslation.mapValue(reduction.getInitializerAllocArg(), allocation);
1062 llvm::BasicBlock *initBlock = splitBB(builder, true, "omp.reduction.init");
1074 // region: Allocate reduction variable (which is a pointer to the real
1087 // reduction variable
1091 // Before the loop, store the initial values of reductions into reduction
1102 "omp.reduction.neutral", builder,
1107 "reduction neutral element declaration region");
1123 // Store the result of the inlined region to the allocated reduction var
1131 // for by-ref case the store is inside of the reduction region
1137 // different mapping if this reduction declaration is re-used for a
1145 /// Collect reduction info
1164 // Collect the reduction information.
1214 // different source for another use of the same reduction decl
1234 // Create the reduction generators. We need to own them here because
1267 // after the construct, deallocate private reduction variables
1275 "omp.reduction.cleanup");
1425 // reduction decl
1482 // re-created with different sources for reuse of the same reduction
1544 // Store the mapping between reduction variables and their private copies on
1562 // map the omp.section reduction block argument to the omp.sections block
1564 // TODO: this assumes that the only block arguments are reduction
1943 // Store the mapping between reduction variables and their private copies on
2073 // Collect reduction declarations
2088 // Allocate reduction vars
2119 // Store the mapping between reduction variables and their private copies on
2138 // Collect reduction info
2182 // if the reduction has a cleanup region, inline it here to finalize the
2183 // reduction variables
2191 moduleTranslation, builder, "omp.reduction.cleanup")))