struct OpenMPIRBuilder::ReductionInfo

Declaration

struct OpenMPIRBuilder::ReductionInfo { /* full declaration omitted */ };

Description

Information about an OpenMP reduction.

Declared at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:656

Member Variables

public llvm::Type* ElementType
Reduction element type, must match pointee type of variable.
public llvm::Value* Variable
Reduction variable of pointer type.
public llvm::Value* PrivateVariable
Thread-private partial reduction variable.
public llvm::OpenMPIRBuilder::ReductionGenTy 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.
public llvm::OpenMPIRBuilder::AtomicReductionGenTy 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.

Method Overview

  • public ReductionInfo(llvm::Type * ElementType, llvm::Value * Variable, llvm::Value * PrivateVariable, llvm::OpenMPIRBuilder::ReductionGenTy ReductionGen, llvm::OpenMPIRBuilder::AtomicReductionGenTy AtomicReductionGen)

Methods

ΒΆReductionInfo(
    llvm::Type* ElementType,
    llvm::Value* Variable,
    llvm::Value* PrivateVariable,
    llvm::OpenMPIRBuilder::ReductionGenTy
        ReductionGen,
    llvm::OpenMPIRBuilder::AtomicReductionGenTy
        AtomicReductionGen)

Declared at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:657

Parameters

llvm::Type* ElementType
llvm::Value* Variable
llvm::Value* PrivateVariable
llvm::OpenMPIRBuilder::ReductionGenTy ReductionGen
llvm::OpenMPIRBuilder::AtomicReductionGenTy AtomicReductionGen