Lines Matching refs:Reduction
458 /// Atomic reduction option for kmpc_reduce.
606 /// UDR decl used for reduction.
624 std::pair<llvm::Function *, llvm::Function *> Reduction =
640 RValue Func = RValue::get(Reduction.second);
869 "Size should be nullptr for non-variably modified reduction "
2965 /// (Taskloops only) Reduction data.
5312 /// Emit reduction operation for each element of array (required for
5315 /// \param LHSVar Variable on the left side of the reduction operation
5317 /// \param RHSVar Variable on the right side of the reduction operation
5319 /// \param RedOpGen Generator of reduction operation with use of LHSVar and
5392 /// Emit reduction combiner. If the combiner is a simple expression emit it as
5403 std::pair<llvm::Function *, llvm::Function *> Reduction =
5405 RValue Func = RValue::get(Reduction.first);
5429 std::string Name = getName({"omp", "reduction", "reduction_func"});
5484 // Emit reduction for array section.
5493 // Emit reduction for array subscript or single variable.
5511 // Emit reduction for array section.
5520 // Emit reduction for array subscript or single variable.
5537 // Next code should be emitted for reduction:
5589 // 1. Build a list of reduction variables.
5602 CGF.CreateMemTemp(ReductionArrayTy, ".omp.reduction.red_list");
5631 std::string Name = getName({"reduction"});
5657 llvm::BasicBlock *DefaultBB = CGF.createBasicBlock(".omp.reduction.default");
5667 llvm::BasicBlock *Case1BB = CGF.createBasicBlock(".omp.reduction.case1");
5708 llvm::BasicBlock *Case2BB = CGF.createBasicBlock(".omp.reduction.case2");
5735 // min/max reduction operator.
5771 // Emit atomic reduction for array section.
5777 // Emit atomic reduction for array subscript or single variable.
5850 /// Emits reduction initializer function:
5885 // If the size of the reduction item is non-constant, load it from global
5896 // If initializer uses initializer from declare reduction construct, emit a
5897 // pointer to the address of the original reduction item (reuired by reduction
5919 /// Emits reduction combiner function:
5956 // If the size of the reduction item is non-constant, load it from global
5997 /// Emits reduction finalizer function:
6029 // If the size of the reduction item is non-constant, load it from global
6054 // void *reduce_shar; // shared reduction item
6055 // void *reduce_orig; // original reduction item used for initialization
12768 assert(Options.SimpleReduction && "Only simple reduction is expected.");