LLVM 22.0.0git
llvm::AMDGPUMachineModuleInfo Class Referencefinal

#include "Target/AMDGPU/AMDGPUMachineModuleInfo.h"

Inheritance diagram for llvm::AMDGPUMachineModuleInfo:
[legend]

Public Member Functions

 AMDGPUMachineModuleInfo (const MachineModuleInfo &MMI)
SyncScope::ID getAgentSSID () const
SyncScope::ID getWorkgroupSSID () const
SyncScope::ID getWavefrontSSID () const
SyncScope::ID getClusterSSID () const
SyncScope::ID getSystemOneAddressSpaceSSID () const
SyncScope::ID getAgentOneAddressSpaceSSID () const
SyncScope::ID getWorkgroupOneAddressSpaceSSID () const
SyncScope::ID getWavefrontOneAddressSpaceSSID () const
SyncScope::ID getSingleThreadOneAddressSpaceSSID () const
SyncScope::ID getClusterOneAddressSpaceSSID () const
std::optional< boolisSyncScopeInclusion (SyncScope::ID A, SyncScope::ID B) const
 In AMDGPU target synchronization scopes are inclusive, meaning a larger synchronization scope is inclusive of a smaller synchronization scope.
Public Member Functions inherited from llvm::MachineModuleInfoELF
 MachineModuleInfoELF (const MachineModuleInfo &)
StubValueTygetGVStubEntry (MCSymbol *Sym)
const MCExpr *& getAuthPtrStubEntry (MCSymbol *Sym)
SymbolListTy GetGVStubList ()
 Accessor methods to return the set of stubs in sorted order.
ExprStubListTy getAuthGVStubList ()
bool hasSignedPersonality () const
Public Member Functions inherited from llvm::MachineModuleInfoImpl
virtual ~MachineModuleInfoImpl ()

Additional Inherited Members

Public Types inherited from llvm::MachineModuleInfoImpl
using StubValueTy = PointerIntPair<MCSymbol *, 1, bool>
using SymbolListTy = std::vector<std::pair<MCSymbol *, StubValueTy>>
using ExprStubListTy = std::vector<std::pair<MCSymbol *, const MCExpr *>>
 A variant of SymbolListTy where the stub is a generalized MCExpr.
Static Protected Member Functions inherited from llvm::MachineModuleInfoImpl
static SymbolListTy getSortedStubs (DenseMap< MCSymbol *, StubValueTy > &)
 Return the entries from a DenseMap in a deterministic sorted orer.
static ExprStubListTy getSortedExprStubs (DenseMap< MCSymbol *, const MCExpr * > &)
 Return the entries from a DenseMap in a deterministic sorted orer.

Detailed Description

Definition at line 23 of file AMDGPUMachineModuleInfo.h.

Constructor & Destructor Documentation

◆ AMDGPUMachineModuleInfo()

Member Function Documentation

◆ getAgentOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getAgentOneAddressSpaceSSID ( ) const
inline
Returns
Agent synchronization scope ID (single address space).

Definition at line 113 of file AMDGPUMachineModuleInfo.h.

◆ getAgentSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getAgentSSID ( ) const
inline
Returns
Agent synchronization scope ID (cross address space).

Definition at line 95 of file AMDGPUMachineModuleInfo.h.

◆ getClusterOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getClusterOneAddressSpaceSSID ( ) const
inline
Returns
Single thread synchronization scope ID (single address space).

Definition at line 129 of file AMDGPUMachineModuleInfo.h.

◆ getClusterSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getClusterSSID ( ) const
inline
Returns
Cluster synchronization scope ID (cross address space).

Definition at line 107 of file AMDGPUMachineModuleInfo.h.

◆ getSingleThreadOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getSingleThreadOneAddressSpaceSSID ( ) const
inline
Returns
Single thread synchronization scope ID (single address space).

Definition at line 125 of file AMDGPUMachineModuleInfo.h.

◆ getSystemOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getSystemOneAddressSpaceSSID ( ) const
inline
Returns
System synchronization scope ID (single address space).

Definition at line 109 of file AMDGPUMachineModuleInfo.h.

◆ getWavefrontOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getWavefrontOneAddressSpaceSSID ( ) const
inline
Returns
Wavefront synchronization scope ID (single address space).

Definition at line 121 of file AMDGPUMachineModuleInfo.h.

◆ getWavefrontSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getWavefrontSSID ( ) const
inline
Returns
Wavefront synchronization scope ID (cross address space).

Definition at line 103 of file AMDGPUMachineModuleInfo.h.

◆ getWorkgroupOneAddressSpaceSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getWorkgroupOneAddressSpaceSSID ( ) const
inline
Returns
Workgroup synchronization scope ID (single address space).

Definition at line 117 of file AMDGPUMachineModuleInfo.h.

◆ getWorkgroupSSID()

SyncScope::ID llvm::AMDGPUMachineModuleInfo::getWorkgroupSSID ( ) const
inline
Returns
Workgroup synchronization scope ID (cross address space).

Definition at line 99 of file AMDGPUMachineModuleInfo.h.

◆ isSyncScopeInclusion()

std::optional< bool > llvm::AMDGPUMachineModuleInfo::isSyncScopeInclusion ( SyncScope::ID A,
SyncScope::ID B ) const
inline

In AMDGPU target synchronization scopes are inclusive, meaning a larger synchronization scope is inclusive of a smaller synchronization scope.

Returns
True if synchronization scope A is larger than or equal to synchronization scope B, false if synchronization scope A is smaller than synchronization scope B, or "std::nullopt" if either synchronization scope A or B is not supported by the AMDGPU target.

Definition at line 141 of file AMDGPUMachineModuleInfo.h.

References A(), and B().


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