MLIR 23.0.0git
OpenACCUtilsReduction.h File Reference
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/OpenACC/OpenACC.h"
#include "mlir/Dialect/OpenACC/OpenACCParMapping.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/Value.h"
#include "llvm/ADT/SmallVector.h"
#include <optional>

Go to the source code of this file.

Namespaces

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

Functions

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.
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.