clang  14.0.0git
Public Member Functions | Public Attributes | List of all members
clang::CodeGen::CGOpenMPRuntime::TargetDataInfo Class Reference

Struct that keeps all the relevant information that should be kept throughout a 'target data' region. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h"

Collaboration diagram for clang::CodeGen::CGOpenMPRuntime::TargetDataInfo:
Collaboration graph
[legend]

Public Member Functions

 TargetDataInfo ()
 
 TargetDataInfo (bool RequiresDevicePointerInfo, bool SeparateBeginEndCalls)
 
void clearArrayInfo ()
 Clear information about the data arrays. More...
 
bool isValid ()
 Return true if the current target data information has valid arrays. More...
 
bool requiresDevicePointerInfo ()
 
bool separateBeginEndCalls ()
 

Public Attributes

llvm::Value * BasePointersArray = nullptr
 The array of base pointer passed to the runtime library. More...
 
llvm::Value * PointersArray = nullptr
 The array of section pointers passed to the runtime library. More...
 
llvm::Value * SizesArray = nullptr
 The array of sizes passed to the runtime library. More...
 
llvm::Value * MapTypesArray = nullptr
 The array of map types passed to the runtime library for the beginning of the region or for the entire region if there are no separate map types for the region end. More...
 
llvm::Value * MapTypesArrayEnd = nullptr
 The array of map types passed to the runtime library for the end of the region, or nullptr if there are no separate map types for the region end. More...
 
llvm::Value * MappersArray = nullptr
 The array of user-defined mappers passed to the runtime library. More...
 
llvm::Value * MapNamesArray = nullptr
 The array of original declaration names of mapped pointers sent to the runtime library for debugging. More...
 
bool HasMapper = false
 Indicate whether any user-defined mapper exists. More...
 
unsigned NumberOfPtrs = 0u
 The total number of pointers passed to the runtime library. More...
 
llvm::DenseMap< const ValueDecl *, AddressCaptureDeviceAddrMap
 Map between the a declaration of a capture and the corresponding base pointer address where the runtime returns the device pointers. More...
 

Detailed Description

Struct that keeps all the relevant information that should be kept throughout a 'target data' region.

Definition at line 1658 of file CGOpenMPRuntime.h.

Constructor & Destructor Documentation

◆ TargetDataInfo() [1/2]

clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::TargetDataInfo ( )
inlineexplicit

Definition at line 1693 of file CGOpenMPRuntime.h.

◆ TargetDataInfo() [2/2]

clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::TargetDataInfo ( bool  RequiresDevicePointerInfo,
bool  SeparateBeginEndCalls 
)
inlineexplicit

Definition at line 1694 of file CGOpenMPRuntime.h.

Member Function Documentation

◆ clearArrayInfo()

void clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::clearArrayInfo ( )
inline

Clear information about the data arrays.

Definition at line 1699 of file CGOpenMPRuntime.h.

References BasePointersArray, HasMapper, MapNamesArray, MappersArray, MapTypesArray, MapTypesArrayEnd, NumberOfPtrs, PointersArray, and SizesArray.

Referenced by emitOffloadingArrays().

◆ isValid()

bool clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::isValid ( )
inline

Return true if the current target data information has valid arrays.

Definition at line 1711 of file CGOpenMPRuntime.h.

References BasePointersArray, HasMapper, MappersArray, MapTypesArray, NumberOfPtrs, PointersArray, and SizesArray.

◆ requiresDevicePointerInfo()

bool clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::requiresDevicePointerInfo ( )
inline

Definition at line 1715 of file CGOpenMPRuntime.h.

◆ separateBeginEndCalls()

bool clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::separateBeginEndCalls ( )
inline

Definition at line 1716 of file CGOpenMPRuntime.h.

Member Data Documentation

◆ BasePointersArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::BasePointersArray = nullptr

The array of base pointer passed to the runtime library.

Definition at line 1667 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), clang::CodeGen::CGOpenMPRuntime::emitTargetCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), and isValid().

◆ CaptureDeviceAddrMap

llvm::DenseMap<const ValueDecl *, Address> clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::CaptureDeviceAddrMap

Map between the a declaration of a capture and the corresponding base pointer address where the runtime returns the device pointers.

Definition at line 1691 of file CGOpenMPRuntime.h.

◆ HasMapper

bool clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::HasMapper = false

Indicate whether any user-defined mapper exists.

Definition at line 1686 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), and isValid().

◆ MapNamesArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::MapNamesArray = nullptr

The array of original declaration names of mapped pointers sent to the runtime library for debugging.

Definition at line 1684 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), clang::CodeGen::CGOpenMPRuntime::emitTargetCall(), and clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall().

◆ MappersArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::MappersArray = nullptr

The array of user-defined mappers passed to the runtime library.

Definition at line 1681 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), clang::CodeGen::CGOpenMPRuntime::emitTargetCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), and isValid().

◆ MapTypesArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::MapTypesArray = nullptr

The array of map types passed to the runtime library for the beginning of the region or for the entire region if there are no separate map types for the region end.

Definition at line 1675 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), clang::CodeGen::CGOpenMPRuntime::emitTargetCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), and isValid().

◆ MapTypesArrayEnd

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::MapTypesArrayEnd = nullptr

The array of map types passed to the runtime library for the end of the region, or nullptr if there are no separate map types for the region end.

Definition at line 1679 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo().

◆ NumberOfPtrs

unsigned clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::NumberOfPtrs = 0u

◆ PointersArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::PointersArray = nullptr

◆ SizesArray

llvm::Value* clang::CodeGen::CGOpenMPRuntime::TargetDataInfo::SizesArray = nullptr

The array of sizes passed to the runtime library.

Definition at line 1671 of file CGOpenMPRuntime.h.

Referenced by clearArrayInfo(), clang::CodeGen::CGOpenMPRuntime::emitTargetCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), and isValid().


The documentation for this class was generated from the following file: