41 ResultTy init, ReduceFuncTy reduce,
42 TransformFuncTy transform) {
44 if (context->isMultithreadingEnabled())
45 return llvm::parallelTransformReduce(begin, end, init, reduce, transform);
48 for (IterTy i = begin; i != end; ++i)
49 init = reduce(std::move(init), transform(*i));
50 return std::move(init);
57 ResultTy init, ReduceFuncTy reduce,
58 TransformFuncTy transform) {
59 return transformReduce(context, std::begin(r), std::end(r), init, reduce,
static ResultTy transformReduce(MLIRContext *context, IterTy begin, IterTy end, ResultTy init, ReduceFuncTy reduce, TransformFuncTy transform)
Wrapper for llvm::parallelTransformReduce that performs the transform_reduce serially when MLIR multi...