LLVM 20.0.0git
Public Member Functions | List of all members
llvm::AMDGPUMachineModuleInfo Class Referencefinal

#include "Target/AMDGPU/AMDGPUMachineModuleInfo.h"

Inheritance diagram for llvm::AMDGPUMachineModuleInfo:
Inheritance graph
[legend]

Public Member Functions

 AMDGPUMachineModuleInfo (const MachineModuleInfo &MMI)
 
SyncScope::ID getAgentSSID () const
 
SyncScope::ID getWorkgroupSSID () const
 
SyncScope::ID getWavefrontSSID () const
 
SyncScope::ID getSystemOneAddressSpaceSSID () const
 
SyncScope::ID getAgentOneAddressSpaceSSID () const
 
SyncScope::ID getWorkgroupOneAddressSpaceSSID () const
 
SyncScope::ID getWavefrontOneAddressSpaceSSID () const
 
SyncScope::ID getSingleThreadOneAddressSpaceSSID () 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 ()
 
- 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()

llvm::AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo ( const MachineModuleInfo MMI)

Member Function Documentation

◆ getAgentOneAddressSpaceSSID()

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

Definition at line 103 of file AMDGPUMachineModuleInfo.h.

◆ getAgentSSID()

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

Definition at line 87 of file AMDGPUMachineModuleInfo.h.

◆ getSingleThreadOneAddressSpaceSSID()

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

Definition at line 115 of file AMDGPUMachineModuleInfo.h.

◆ getSystemOneAddressSpaceSSID()

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

Definition at line 99 of file AMDGPUMachineModuleInfo.h.

◆ getWavefrontOneAddressSpaceSSID()

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

Definition at line 111 of file AMDGPUMachineModuleInfo.h.

◆ getWavefrontSSID()

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

Definition at line 95 of file AMDGPUMachineModuleInfo.h.

◆ getWorkgroupOneAddressSpaceSSID()

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

Definition at line 107 of file AMDGPUMachineModuleInfo.h.

◆ getWorkgroupSSID()

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

Definition at line 91 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 127 of file AMDGPUMachineModuleInfo.h.

References A, and B.


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