MLIR 23.0.0git
OpenACCUtilsReduction.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::acc

Functions

static bool mlir::acc::isFloatOrComplexType (Type ty)
SmallVector< GPUParallelDimAttr > mlir::acc::getReductionCombineParDims (ReductionCombineOp op)
 Returns the parallel dimensions that participate in op's combine step.
SmallVector< GPUParallelDimAttr > mlir::acc::getReductionCombineParDims (ReductionCombineRegionOp op)
 Returns the parallel dimensions that participate in op's combine step.
ReductionOperator mlir::acc::translateAtomicRMWKind (arith::AtomicRMWKind kind)
 Maps an arith atomic RMW kind to the corresponding acc reduction operator.
std::optional< arith::AtomicRMWKind > mlir::acc::translateACCReductionOperator (ReductionOperator redOp, Type type)
 Maps an acc reduction operator to the arith atomic RMW kind for type.
static TypedAttr mlir::acc::getReductionIdentityValueAttr (arith::AtomicRMWKind kind, Type type, OpBuilder &builder, Location loc, bool useOnlyFiniteValue)
Value mlir::acc::createIdentityValue (OpBuilder &b, Location loc, Type type, arith::AtomicRMWKind kind, bool useOnlyFiniteValue=true)
 Creates the identity (neutral) value for a reduction of type and kind.
Value mlir::acc::generateReductionOp (OpBuilder &b, Location loc, Value lhs, Value rhs, arith::AtomicRMWKind kind)
 Combines two reduction partial values using the operator for kind.