LLVM 22.0.0git
llvm::OpenMPIRBuilder::FinalizationInfo Struct Reference

#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"

Public Member Functions

 FinalizationInfo (FinalizeCallbackTy FiniCB, omp::Directive DK, bool IsCancellable)
Expected< BasicBlock * > getFiniBB (IRBuilderBase &Builder)
 The basic block to which control should be transferred to implement the FiniCB.
Error mergeFiniBB (IRBuilderBase &Builder, BasicBlock *ExistingFiniBB)
 For cases where there is an unavoidable existing finalization block (e.g.

Public Attributes

const omp::Directive DK
 The directive kind of the innermost directive that has an associated region which might require finalization when it is left.
const bool IsCancellable
 Flag to indicate if the directive is cancellable.

Detailed Description

Definition at line 581 of file OMPIRBuilder.h.

Constructor & Destructor Documentation

◆ FinalizationInfo()

llvm::OpenMPIRBuilder::FinalizationInfo::FinalizationInfo ( FinalizeCallbackTy FiniCB,
omp::Directive DK,
bool IsCancellable )
inline

Definition at line 582 of file OMPIRBuilder.h.

References DK, IsCancellable, and llvm::move().

Member Function Documentation

◆ getFiniBB()

Expected< BasicBlock * > OpenMPIRBuilder::FinalizationInfo::getFiniBB ( IRBuilderBase & Builder)

The basic block to which control should be transferred to implement the FiniCB.

Memoized to avoid generating finalization multiple times.

Definition at line 688 of file OMPIRBuilder.cpp.

References llvm::OpenMPIRBuilder::Builder, and llvm::BasicBlock::Create().

◆ mergeFiniBB()

Error OpenMPIRBuilder::FinalizationInfo::mergeFiniBB ( IRBuilderBase & Builder,
BasicBlock * ExistingFiniBB )

For cases where there is an unavoidable existing finalization block (e.g.

loop finialization after omp sections). The existing finalization block must not contain any non-finalization code.

Definition at line 701 of file OMPIRBuilder.cpp.

References llvm::OpenMPIRBuilder::Builder, llvm::BasicBlock::getFirstNonPHIIt(), llvm::BasicBlock::splice(), and llvm::Error::success().

Member Data Documentation

◆ DK

const omp::Directive llvm::OpenMPIRBuilder::FinalizationInfo::DK

The directive kind of the innermost directive that has an associated region which might require finalization when it is left.

Definition at line 587 of file OMPIRBuilder.h.

Referenced by FinalizationInfo().

◆ IsCancellable

const bool llvm::OpenMPIRBuilder::FinalizationInfo::IsCancellable

Flag to indicate if the directive is cancellable.

Definition at line 590 of file OMPIRBuilder.h.

Referenced by FinalizationInfo().


The documentation for this struct was generated from the following files: