LLVM 17.0.0git
|
Information about an OpenMP reduction. More...
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
Public Member Functions | |
ReductionInfo (Type *ElementType, Value *Variable, Value *PrivateVariable, ReductionGenTy ReductionGen, AtomicReductionGenTy AtomicReductionGen) | |
Public Attributes | |
Type * | ElementType |
Reduction element type, must match pointee type of variable. | |
Value * | Variable |
Reduction variable of pointer type. | |
Value * | PrivateVariable |
Thread-private partial reduction variable. | |
ReductionGenTy | ReductionGen |
Callback for generating the reduction body. | |
AtomicReductionGenTy | AtomicReductionGen |
Callback for generating the atomic reduction body, may be null. | |
Information about an OpenMP reduction.
Definition at line 1058 of file OMPIRBuilder.h.
|
inline |
Definition at line 1059 of file OMPIRBuilder.h.
References assert(), ElementType, llvm::Value::getType(), and Variable.
AtomicReductionGenTy llvm::OpenMPIRBuilder::ReductionInfo::AtomicReductionGen |
Callback for generating the atomic reduction body, may be null.
The IR produced by this will be used to atomically combine two values during reduction. If null, the implementation will use the non-atomic version along with the appropriate synchronization mechanisms.
Definition at line 1087 of file OMPIRBuilder.h.
Referenced by llvm::OpenMPIRBuilder::createReductions().
Type* llvm::OpenMPIRBuilder::ReductionInfo::ElementType |
Reduction element type, must match pointee type of variable.
Definition at line 1070 of file OMPIRBuilder.h.
Referenced by llvm::OpenMPIRBuilder::createReductions(), and ReductionInfo().
Value* llvm::OpenMPIRBuilder::ReductionInfo::PrivateVariable |
Thread-private partial reduction variable.
Definition at line 1076 of file OMPIRBuilder.h.
Referenced by llvm::OpenMPIRBuilder::createReductions().
ReductionGenTy llvm::OpenMPIRBuilder::ReductionInfo::ReductionGen |
Callback for generating the reduction body.
The IR produced by this will be used to combine two values in a thread-safe context, e.g., under lock or within the same thread, and therefore need not be atomic.
Definition at line 1081 of file OMPIRBuilder.h.
Referenced by llvm::OpenMPIRBuilder::createReductions().
Value* llvm::OpenMPIRBuilder::ReductionInfo::Variable |
Reduction variable of pointer type.
Definition at line 1073 of file OMPIRBuilder.h.
Referenced by llvm::OpenMPIRBuilder::createReductions(), and ReductionInfo().