|
|
static bool | doReductionByRef (mlir::Type reductionType) |
|
static bool | doReductionByRef (mlir::Value reductionVar) |
|
static ReductionIdentifier | getReductionType (const omp::clause::ProcedureDesignator &pd) |
|
static ReductionIdentifier | getReductionType (omp::clause::DefinedOperator::IntrinsicOperator intrinsicOp) |
|
static ReductionIdentifier | getReductionType (const fir::ReduceOperationEnum &pd) |
|
static bool | supportedIntrinsicProcReduction (const omp::clause::ProcedureDesignator &pd) |
|
static const semantics::SourceName | getRealName (const semantics::Symbol *symbol) |
|
static const semantics::SourceName | getRealName (const omp::clause::ProcedureDesignator &pd) |
|
static std::string | getReductionName (llvm::StringRef name, const fir::KindMapping &kindMap, mlir::Type ty, bool isByRef) |
|
static std::string | getReductionName (ReductionIdentifier redId, const fir::KindMapping &kindMap, mlir::Type ty, bool isByRef) |
| static int | getOperationIdentity (ReductionIdentifier redId, mlir::Location loc) |
|
static mlir::Value | getReductionInitValue (mlir::Location loc, mlir::Type type, ReductionIdentifier redId, fir::FirOpBuilder &builder) |
|
template<typename FloatOp, typename IntegerOp> |
| static mlir::Value | getReductionOperation (fir::FirOpBuilder &builder, mlir::Type type, mlir::Location loc, mlir::Value op1, mlir::Value op2) |
|
template<typename FloatOp, typename IntegerOp, typename ComplexOp> |
| static mlir::Value | getReductionOperation (fir::FirOpBuilder &builder, mlir::Type type, mlir::Location loc, mlir::Value op1, mlir::Value op2) |
|
static mlir::Value | createScalarCombiner (fir::FirOpBuilder &builder, mlir::Location loc, ReductionIdentifier redId, mlir::Type type, mlir::Value op1, mlir::Value op2) |
| template<typename DeclareRedType> |
| static DeclareRedType | createDeclareReductionHelper (AbstractConverter &converter, llvm::StringRef reductionOpName, mlir::Type type, mlir::Location loc, bool isByRef, GenCombinerCBTy genCombinerCB, GenInitValueCBTy genInitValueCB) |
| template<typename OpType> |
| static OpType | createDeclareReduction (AbstractConverter &builder, llvm::StringRef reductionOpName, const ReductionIdentifier redId, mlir::Type type, mlir::Location loc, bool isByRef) |
| template<typename OpType, typename RedOperatorListTy> |
| static bool | processReductionArguments (mlir::Location currentLocation, lower::AbstractConverter &converter, const RedOperatorListTy &redOperatorList, llvm::SmallVectorImpl< mlir::Value > &reductionVars, llvm::SmallVectorImpl< bool > &reduceVarByRef, llvm::SmallVectorImpl< mlir::Attribute > &reductionDeclSymbols, const llvm::SmallVectorImpl< const semantics::Symbol * > &reductionSymbols) |