LLVM 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
llvm::AMDGPUSubtarget Class Referenceabstract

#include "Target/AMDGPU/AMDGPUSubtarget.h"

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

Public Types

enum  Generation {
  INVALID = 0 , R600 = 1 , R700 = 2 , EVERGREEN = 3 ,
  NORTHERN_ISLANDS = 4 , SOUTHERN_ISLANDS = 5 , SEA_ISLANDS = 6 , VOLCANIC_ISLANDS = 7 ,
  GFX9 = 8 , GFX10 = 9 , GFX11 = 10 , GFX12 = 11
}
 

Public Member Functions

 AMDGPUSubtarget (Triple TT)
 
std::pair< unsigned, unsignedgetDefaultFlatWorkGroupSize (CallingConv::ID CC) const
 
std::pair< unsigned, unsignedgetFlatWorkGroupSizes (const Function &F) const
 
std::pair< unsigned, unsignedgetWavesPerEU (const Function &F) const
 
std::pair< unsigned, unsignedgetWavesPerEU (const Function &F, std::pair< unsigned, unsigned > FlatWorkGroupSizes) const
 Overload which uses the specified values for the flat work group sizes, rather than querying the function itself.
 
std::pair< unsigned, unsignedgetEffectiveWavesPerEU (std::pair< unsigned, unsigned > WavesPerEU, std::pair< unsigned, unsigned > FlatWorkGroupSizes) const
 
unsigned getMaxLocalMemSizeWithWaveCount (unsigned WaveCount, const Function &) const
 Return the amount of LDS that can be used that will not restrict the occupancy lower than WaveCount.
 
unsigned getOccupancyWithLocalMemSize (uint32_t Bytes, const Function &) const
 Inverse of getMaxLocalMemWithWaveCount.
 
unsigned getOccupancyWithLocalMemSize (const MachineFunction &MF) const
 
bool isAmdHsaOS () const
 
bool isAmdPalOS () const
 
bool isMesa3DOS () const
 
bool isMesaKernel (const Function &F) const
 
bool isAmdHsaOrMesa (const Function &F) const
 
bool isGCN () const
 
bool isGCN3Encoding () const
 
bool has16BitInsts () const
 
bool hasTrue16BitInsts () const
 Return true if the subtarget supports True16 instructions.
 
bool useRealTrue16Insts () const
 Return true if real (non-fake) variants of True16 instructions using 16-bit registers should be code-generated.
 
bool hasMadMixInsts () const
 
bool hasMadMacF32Insts () const
 
bool hasDsSrc2Insts () const
 
bool hasSDWA () const
 
bool hasVOP3PInsts () const
 
bool hasMulI24 () const
 
bool hasMulU24 () const
 
bool hasSMulHi () const
 
bool hasInv2PiInlineImm () const
 
bool hasFminFmaxLegacy () const
 
bool hasTrigReducedRange () const
 
bool hasFastFMAF32 () const
 
bool isPromoteAllocaEnabled () const
 
unsigned getWavefrontSize () const
 
unsigned getWavefrontSizeLog2 () const
 
unsigned getLocalMemorySize () const
 
unsigned getAddressableLocalMemorySize () const
 
unsigned getEUsPerCU () const
 Number of SIMDs/EUs (execution units) per "CU" ("compute unit"), where the "CU" is the unit onto which workgroups are mapped.
 
Align getAlignmentForImplicitArgPtr () const
 
unsigned getExplicitKernelArgOffset () const
 Returns the offset in bytes from the start of the input buffer of the first explicit kernel argument.
 
virtual unsigned getMaxWorkGroupsPerCU (unsigned FlatWorkGroupSize) const =0
 
virtual unsigned getMinFlatWorkGroupSize () const =0
 
virtual unsigned getMaxFlatWorkGroupSize () const =0
 
virtual unsigned getWavesPerEUForWorkGroup (unsigned FlatWorkGroupSize) const =0
 
virtual unsigned getMinWavesPerEU () const =0
 
unsigned getMaxWavesPerEU () const
 
unsigned getMaxWorkitemID (const Function &Kernel, unsigned Dimension) const
 Return the maximum workitem ID value in the function, for the given (0, 1, 2) dimension.
 
SmallVector< unsignedgetMaxNumWorkGroups (const Function &F) const
 Return the number of work groups for the function.
 
bool isSingleLaneExecution (const Function &Kernel) const
 Return true if only a single workitem can be active in a wave.
 
bool makeLIDRangeMetadata (Instruction *I) const
 Creates value range metadata on an workitemid.* intrinsic call or load.
 
unsigned getImplicitArgNumBytes (const Function &F) const
 
uint64_t getExplicitKernArgSize (const Function &F, Align &MaxAlign) const
 
unsigned getKernArgSegmentSize (const Function &F, Align &MaxAlign) const
 
AMDGPUDwarfFlavour getAMDGPUDwarfFlavour () const
 
virtual ~AMDGPUSubtarget ()=default
 

Static Public Member Functions

static const AMDGPUSubtargetget (const MachineFunction &MF)
 
static const AMDGPUSubtargetget (const TargetMachine &TM, const Function &F)
 

Protected Attributes

bool GCN3Encoding = false
 
bool Has16BitInsts = false
 
bool HasTrue16BitInsts = false
 
bool EnableRealTrue16Insts = false
 
bool HasMadMixInsts = false
 
bool HasMadMacF32Insts = false
 
bool HasDsSrc2Insts = false
 
bool HasSDWA = false
 
bool HasVOP3PInsts = false
 
bool HasMulI24 = true
 
bool HasMulU24 = true
 
bool HasSMulHi = false
 
bool HasInv2PiInlineImm = false
 
bool HasFminFmaxLegacy = true
 
bool EnablePromoteAlloca = false
 
bool HasTrigReducedRange = false
 
bool FastFMAF32 = false
 
unsigned EUsPerCU = 4
 
unsigned MaxWavesPerEU = 10
 
unsigned LocalMemorySize = 0
 
unsigned AddressableLocalMemorySize = 0
 
char WavefrontSizeLog2 = 0
 

Detailed Description

Definition at line 29 of file AMDGPUSubtarget.h.

Member Enumeration Documentation

◆ Generation

Enumerator
INVALID 
R600 
R700 
EVERGREEN 
NORTHERN_ISLANDS 
SOUTHERN_ISLANDS 
SEA_ISLANDS 
VOLCANIC_ISLANDS 
GFX9 
GFX10 
GFX11 
GFX12 

Definition at line 31 of file AMDGPUSubtarget.h.

Constructor & Destructor Documentation

◆ AMDGPUSubtarget()

AMDGPUSubtarget::AMDGPUSubtarget ( Triple  TT)

Definition at line 186 of file AMDGPUSubtarget.cpp.

◆ ~AMDGPUSubtarget()

virtual llvm::AMDGPUSubtarget::~AMDGPUSubtarget ( )
virtualdefault

Member Function Documentation

◆ get() [1/2]

const AMDGPUSubtarget & AMDGPUSubtarget::get ( const MachineFunction MF)
static

◆ get() [2/2]

const AMDGPUSubtarget & AMDGPUSubtarget::get ( const TargetMachine TM,
const Function F 
)
static

Definition at line 1044 of file AMDGPUSubtarget.cpp.

References llvm::Triple::amdgcn, F, and TM.

◆ getAddressableLocalMemorySize()

unsigned llvm::AMDGPUSubtarget::getAddressableLocalMemorySize ( ) const
inline

Definition at line 233 of file AMDGPUSubtarget.h.

References AddressableLocalMemorySize.

◆ getAlignmentForImplicitArgPtr()

Align llvm::AMDGPUSubtarget::getAlignmentForImplicitArgPtr ( ) const
inline

◆ getAMDGPUDwarfFlavour()

AMDGPUDwarfFlavour AMDGPUSubtarget::getAMDGPUDwarfFlavour ( ) const
Returns
Corresponding DWARF register number mapping flavour for the WavefrontSize.

Definition at line 648 of file AMDGPUSubtarget.cpp.

References getWavefrontSize(), llvm::Wave32, and llvm::Wave64.

◆ getDefaultFlatWorkGroupSize()

std::pair< unsigned, unsigned > AMDGPUSubtarget::getDefaultFlatWorkGroupSize ( CallingConv::ID  CC) const

◆ getEffectiveWavesPerEU()

std::pair< unsigned, unsigned > AMDGPUSubtarget::getEffectiveWavesPerEU ( std::pair< unsigned, unsigned WavesPerEU,
std::pair< unsigned, unsigned FlatWorkGroupSizes 
) const

◆ getEUsPerCU()

unsigned llvm::AMDGPUSubtarget::getEUsPerCU ( ) const
inline

Number of SIMDs/EUs (execution units) per "CU" ("compute unit"), where the "CU" is the unit onto which workgroups are mapped.

This takes WGP mode vs. CU mode into account.

Definition at line 240 of file AMDGPUSubtarget.h.

References EUsPerCU.

Referenced by getMaxLocalMemSizeWithWaveCount(), and getOccupancyWithLocalMemSize().

◆ getExplicitKernArgSize()

uint64_t AMDGPUSubtarget::getExplicitKernArgSize ( const Function F,
Align MaxAlign 
) const

◆ getExplicitKernelArgOffset()

unsigned llvm::AMDGPUSubtarget::getExplicitKernelArgOffset ( ) const
inline

Returns the offset in bytes from the start of the input buffer of the first explicit kernel argument.

Definition at line 248 of file AMDGPUSubtarget.h.

References llvm::Triple::AMDHSA, llvm::Triple::AMDPAL, llvm::Triple::getOS(), llvm_unreachable, llvm::Triple::Mesa3D, and llvm::Triple::UnknownOS.

Referenced by llvm::AMDGPUTargetLowering::getImplicitParameterOffset(), getKernArgSegmentSize(), and llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel().

◆ getFlatWorkGroupSizes()

std::pair< unsigned, unsigned > AMDGPUSubtarget::getFlatWorkGroupSizes ( const Function F) const
Returns
Subtarget's default pair of minimum/maximum flat work group sizes for function F, or minimum/maximum flat work group sizes explicitly requested using "amdgpu-flat-work-group-size" attribute attached to function F.
Subtarget's default values if explicitly requested values cannot be converted to integer, or violate subtarget's specifications.

Definition at line 424 of file AMDGPUSubtarget.cpp.

References llvm::Default, F, getDefaultFlatWorkGroupSize(), llvm::AMDGPU::getIntegerPairAttribute(), getMaxFlatWorkGroupSize(), and getMinFlatWorkGroupSize().

Referenced by getMaxLocalMemSizeWithWaveCount(), getMaxWorkitemID(), getOccupancyWithLocalMemSize(), getWavesPerEU(), and makeLIDRangeMetadata().

◆ getImplicitArgNumBytes()

unsigned AMDGPUSubtarget::getImplicitArgNumBytes ( const Function F) const
Returns
Number of bytes of arguments that are passed to a shader or kernel in addition to the explicit ones declared for the function.

Definition at line 585 of file AMDGPUSubtarget.cpp.

References llvm::AMDGPU::AMDHSA_COV5, assert(), F, llvm::AMDGPU::getAMDHSACodeObjectVersion(), llvm::AMDGPU::isKernel(), and isMesaKernel().

Referenced by getKernArgSegmentSize().

◆ getKernArgSegmentSize()

unsigned AMDGPUSubtarget::getKernArgSegmentSize ( const Function F,
Align MaxAlign 
) const

◆ getLocalMemorySize()

unsigned llvm::AMDGPUSubtarget::getLocalMemorySize ( ) const
inline

Definition at line 229 of file AMDGPUSubtarget.h.

References LocalMemorySize.

Referenced by getMaxLocalMemSizeWithWaveCount(), and getOccupancyWithLocalMemSize().

◆ getMaxFlatWorkGroupSize()

virtual unsigned llvm::AMDGPUSubtarget::getMaxFlatWorkGroupSize ( ) const
pure virtual
Returns
Maximum flat work group size supported by the subtarget.

Implemented in llvm::GCNSubtarget, and llvm::R600Subtarget.

Referenced by getDefaultFlatWorkGroupSize(), and getFlatWorkGroupSizes().

◆ getMaxLocalMemSizeWithWaveCount()

unsigned AMDGPUSubtarget::getMaxLocalMemSizeWithWaveCount ( unsigned  WaveCount,
const Function F 
) const

Return the amount of LDS that can be used that will not restrict the occupancy lower than WaveCount.

Definition at line 345 of file AMDGPUSubtarget.cpp.

References F, getEUsPerCU(), getFlatWorkGroupSizes(), getLocalMemorySize(), and getWavefrontSize().

◆ getMaxNumWorkGroups()

SmallVector< unsigned > AMDGPUSubtarget::getMaxNumWorkGroups ( const Function F) const

Return the number of work groups for the function.

Definition at line 1131 of file AMDGPUSubtarget.cpp.

References F, and llvm::AMDGPU::getIntegerVecAttribute().

◆ getMaxWavesPerEU()

unsigned llvm::AMDGPUSubtarget::getMaxWavesPerEU ( ) const
inline
Returns
Maximum number of waves per execution unit supported by the subtarget without any kind of limitation.

Definition at line 285 of file AMDGPUSubtarget.h.

References MaxWavesPerEU.

Referenced by getEffectiveWavesPerEU(), getOccupancyWithLocalMemSize(), and getWavesPerEU().

◆ getMaxWorkGroupsPerCU()

virtual unsigned llvm::AMDGPUSubtarget::getMaxWorkGroupsPerCU ( unsigned  FlatWorkGroupSize) const
pure virtual
Returns
Maximum number of work groups per compute unit supported by the subtarget and limited by given FlatWorkGroupSize.

Implemented in llvm::GCNSubtarget, and llvm::R600Subtarget.

Referenced by getOccupancyWithLocalMemSize().

◆ getMaxWorkitemID()

unsigned AMDGPUSubtarget::getMaxWorkitemID ( const Function Kernel,
unsigned  Dimension 
) const

◆ getMinFlatWorkGroupSize()

virtual unsigned llvm::AMDGPUSubtarget::getMinFlatWorkGroupSize ( ) const
pure virtual
Returns
Minimum flat work group size supported by the subtarget.

Implemented in llvm::GCNSubtarget, and llvm::R600Subtarget.

Referenced by getFlatWorkGroupSizes().

◆ getMinWavesPerEU()

virtual unsigned llvm::AMDGPUSubtarget::getMinWavesPerEU ( ) const
pure virtual
Returns
Minimum number of waves per execution unit supported by the subtarget.

Implemented in llvm::GCNSubtarget, and llvm::R600Subtarget.

Referenced by getEffectiveWavesPerEU().

◆ getOccupancyWithLocalMemSize() [1/2]

unsigned AMDGPUSubtarget::getOccupancyWithLocalMemSize ( const MachineFunction MF) const

◆ getOccupancyWithLocalMemSize() [2/2]

unsigned AMDGPUSubtarget::getOccupancyWithLocalMemSize ( uint32_t  Bytes,
const Function F 
) const

◆ getWavefrontSize()

unsigned llvm::AMDGPUSubtarget::getWavefrontSize ( ) const
inline

◆ getWavefrontSizeLog2()

unsigned llvm::AMDGPUSubtarget::getWavefrontSizeLog2 ( ) const
inline

◆ getWavesPerEU() [1/2]

std::pair< unsigned, unsigned > llvm::AMDGPUSubtarget::getWavesPerEU ( const Function F) const
inline
Returns
Subtarget's default pair of minimum/maximum number of waves per execution unit for function F, or minimum/maximum number of waves per execution unit explicitly requested using "amdgpu-waves-per-eu" attribute attached to function F.
Subtarget's default values if explicitly requested values cannot be converted to integer, violate subtarget's specifications, or are not compatible with minimum/maximum number of waves limited by flat work group size, register usage, and/or lds usage.

Definition at line 101 of file AMDGPUSubtarget.h.

References F, getFlatWorkGroupSizes(), and getWavesPerEU().

Referenced by llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::GCNSubtarget::getMaxNumVGPRs(), and getWavesPerEU().

◆ getWavesPerEU() [2/2]

std::pair< unsigned, unsigned > AMDGPUSubtarget::getWavesPerEU ( const Function F,
std::pair< unsigned, unsigned FlatWorkGroupSizes 
) const

Overload which uses the specified values for the flat work group sizes, rather than querying the function itself.

FlatWorkGroupSizes Should correspond to the function's value for getFlatWorkGroupSizes.

Definition at line 478 of file AMDGPUSubtarget.cpp.

References llvm::Default, F, getEffectiveWavesPerEU(), llvm::AMDGPU::getIntegerPairAttribute(), and getMaxWavesPerEU().

◆ getWavesPerEUForWorkGroup()

virtual unsigned llvm::AMDGPUSubtarget::getWavesPerEUForWorkGroup ( unsigned  FlatWorkGroupSize) const
pure virtual
Returns
Number of waves per execution unit required to support the given FlatWorkGroupSize.

Implemented in llvm::GCNSubtarget, and llvm::R600Subtarget.

Referenced by getEffectiveWavesPerEU().

◆ has16BitInsts()

bool llvm::AMDGPUSubtarget::has16BitInsts ( ) const
inline

◆ hasDsSrc2Insts()

bool llvm::AMDGPUSubtarget::hasDsSrc2Insts ( ) const
inline

Definition at line 177 of file AMDGPUSubtarget.h.

References HasDsSrc2Insts.

◆ hasFastFMAF32()

bool llvm::AMDGPUSubtarget::hasFastFMAF32 ( ) const
inline

◆ hasFminFmaxLegacy()

bool llvm::AMDGPUSubtarget::hasFminFmaxLegacy ( ) const
inline

Definition at line 205 of file AMDGPUSubtarget.h.

References HasFminFmaxLegacy.

Referenced by llvm::AMDGPUTargetLowering::performSelectCombine().

◆ hasInv2PiInlineImm()

bool llvm::AMDGPUSubtarget::hasInv2PiInlineImm ( ) const
inline

◆ hasMadMacF32Insts()

bool llvm::AMDGPUSubtarget::hasMadMacF32Insts ( ) const
inline

◆ hasMadMixInsts()

bool llvm::AMDGPUSubtarget::hasMadMixInsts ( ) const
inline

Definition at line 169 of file AMDGPUSubtarget.h.

References HasMadMixInsts.

Referenced by llvm::SITargetLowering::isFPExtFoldable().

◆ hasMulI24()

bool llvm::AMDGPUSubtarget::hasMulI24 ( ) const
inline

◆ hasMulU24()

bool llvm::AMDGPUSubtarget::hasMulU24 ( ) const
inline

◆ hasSDWA()

bool llvm::AMDGPUSubtarget::hasSDWA ( ) const
inline

◆ hasSMulHi()

bool llvm::AMDGPUSubtarget::hasSMulHi ( ) const
inline

◆ hasTrigReducedRange()

bool llvm::AMDGPUSubtarget::hasTrigReducedRange ( ) const
inline

Definition at line 209 of file AMDGPUSubtarget.h.

References HasTrigReducedRange.

Referenced by llvm::AMDGPULegalizerInfo::legalizeSinCos().

◆ hasTrue16BitInsts()

bool llvm::AMDGPUSubtarget::hasTrue16BitInsts ( ) const
inline

Return true if the subtarget supports True16 instructions.

Definition at line 159 of file AMDGPUSubtarget.h.

References HasTrue16BitInsts.

Referenced by llvm::SIInstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::copyPhysReg(), llvm::SIInstrInfo::foldImmediate(), and useRealTrue16Insts().

◆ hasVOP3PInsts()

bool llvm::AMDGPUSubtarget::hasVOP3PInsts ( ) const
inline

◆ isAmdHsaOrMesa()

bool llvm::AMDGPUSubtarget::isAmdHsaOrMesa ( const Function F) const
inline

Definition at line 142 of file AMDGPUSubtarget.h.

References F, isAmdHsaOS(), and isMesaKernel().

◆ isAmdHsaOS()

bool llvm::AMDGPUSubtarget::isAmdHsaOS ( ) const
inline

◆ isAmdPalOS()

bool llvm::AMDGPUSubtarget::isAmdPalOS ( ) const
inline

◆ isGCN()

bool llvm::AMDGPUSubtarget::isGCN ( ) const
inline

◆ isGCN3Encoding()

bool llvm::AMDGPUSubtarget::isGCN3Encoding ( ) const
inline

Definition at line 150 of file AMDGPUSubtarget.h.

References GCN3Encoding.

◆ isMesa3DOS()

bool llvm::AMDGPUSubtarget::isMesa3DOS ( ) const
inline

◆ isMesaKernel()

bool AMDGPUSubtarget::isMesaKernel ( const Function F) const

Definition at line 496 of file AMDGPUSubtarget.cpp.

References F, isMesa3DOS(), and llvm::AMDGPU::isShader().

Referenced by getImplicitArgNumBytes(), and isAmdHsaOrMesa().

◆ isPromoteAllocaEnabled()

bool llvm::AMDGPUSubtarget::isPromoteAllocaEnabled ( ) const
inline

Definition at line 217 of file AMDGPUSubtarget.h.

References EnablePromoteAlloca.

◆ isSingleLaneExecution()

bool AMDGPUSubtarget::isSingleLaneExecution ( const Function Kernel) const

Return true if only a single workitem can be active in a wave.

Definition at line 508 of file AMDGPUSubtarget.cpp.

References getMaxWorkitemID(), and I.

Referenced by llvm::GCNTTIImpl::hasBranchDivergence().

◆ makeLIDRangeMetadata()

bool AMDGPUSubtarget::makeLIDRangeMetadata ( Instruction I) const

Creates value range metadata on an workitemid.* intrinsic call or load.

Definition at line 517 of file AMDGPUSubtarget.cpp.

References llvm::MDBuilder::createRange(), F, getFlatWorkGroupSizes(), getReqdWorkGroupSize(), I, if(), llvm::Lower, Range, and llvm::Upper.

◆ useRealTrue16Insts()

bool AMDGPUSubtarget::useRealTrue16Insts ( ) const

Return true if real (non-fake) variants of True16 instructions using 16-bit registers should be code-generated.

Fake True16 instructions are identical to non-fake ones except that they take 32-bit registers as operands and always use their low halves.

Definition at line 188 of file AMDGPUSubtarget.cpp.

References EnableRealTrue16Insts, and hasTrue16BitInsts().

Referenced by llvm::SIRegisterInfo::getRegClassForSizeOnBank(), llvm::SIInstrInfo::getVALUOp(), llvm::SIInstrInfo::moveToVALUImpl(), and llvm::SITargetLowering::SITargetLowering().

Member Data Documentation

◆ AddressableLocalMemorySize

unsigned llvm::AMDGPUSubtarget::AddressableLocalMemorySize = 0
protected

◆ EnablePromoteAlloca

bool llvm::AMDGPUSubtarget::EnablePromoteAlloca = false
protected

Definition at line 64 of file AMDGPUSubtarget.h.

Referenced by isPromoteAllocaEnabled().

◆ EnableRealTrue16Insts

bool llvm::AMDGPUSubtarget::EnableRealTrue16Insts = false
protected

Definition at line 53 of file AMDGPUSubtarget.h.

Referenced by useRealTrue16Insts().

◆ EUsPerCU

unsigned llvm::AMDGPUSubtarget::EUsPerCU = 4
protected

Definition at line 67 of file AMDGPUSubtarget.h.

Referenced by llvm::GCNSubtarget::GCNSubtarget(), and getEUsPerCU().

◆ FastFMAF32

bool llvm::AMDGPUSubtarget::FastFMAF32 = false
protected

Definition at line 66 of file AMDGPUSubtarget.h.

Referenced by hasFastFMAF32().

◆ GCN3Encoding

bool llvm::AMDGPUSubtarget::GCN3Encoding = false
protected

Definition at line 50 of file AMDGPUSubtarget.h.

Referenced by isGCN3Encoding().

◆ Has16BitInsts

bool llvm::AMDGPUSubtarget::Has16BitInsts = false
protected

Definition at line 51 of file AMDGPUSubtarget.h.

Referenced by has16BitInsts().

◆ HasDsSrc2Insts

bool llvm::AMDGPUSubtarget::HasDsSrc2Insts = false
protected

Definition at line 56 of file AMDGPUSubtarget.h.

Referenced by hasDsSrc2Insts().

◆ HasFminFmaxLegacy

bool llvm::AMDGPUSubtarget::HasFminFmaxLegacy = true
protected

◆ HasInv2PiInlineImm

bool llvm::AMDGPUSubtarget::HasInv2PiInlineImm = false
protected

Definition at line 62 of file AMDGPUSubtarget.h.

Referenced by hasInv2PiInlineImm().

◆ HasMadMacF32Insts

bool llvm::AMDGPUSubtarget::HasMadMacF32Insts = false
protected

Definition at line 55 of file AMDGPUSubtarget.h.

Referenced by hasMadMacF32Insts().

◆ HasMadMixInsts

bool llvm::AMDGPUSubtarget::HasMadMixInsts = false
protected

Definition at line 54 of file AMDGPUSubtarget.h.

Referenced by hasMadMixInsts().

◆ HasMulI24

bool llvm::AMDGPUSubtarget::HasMulI24 = true
protected

◆ HasMulU24

bool llvm::AMDGPUSubtarget::HasMulU24 = true
protected

◆ HasSDWA

bool llvm::AMDGPUSubtarget::HasSDWA = false
protected

Definition at line 57 of file AMDGPUSubtarget.h.

Referenced by hasSDWA().

◆ HasSMulHi

bool llvm::AMDGPUSubtarget::HasSMulHi = false
protected

◆ HasTrigReducedRange

bool llvm::AMDGPUSubtarget::HasTrigReducedRange = false
protected

Definition at line 65 of file AMDGPUSubtarget.h.

Referenced by hasTrigReducedRange().

◆ HasTrue16BitInsts

bool llvm::AMDGPUSubtarget::HasTrue16BitInsts = false
protected

Definition at line 52 of file AMDGPUSubtarget.h.

Referenced by hasTrue16BitInsts().

◆ HasVOP3PInsts

bool llvm::AMDGPUSubtarget::HasVOP3PInsts = false
protected

Definition at line 58 of file AMDGPUSubtarget.h.

Referenced by hasVOP3PInsts().

◆ LocalMemorySize

unsigned llvm::AMDGPUSubtarget::LocalMemorySize = 0
protected

◆ MaxWavesPerEU

unsigned llvm::AMDGPUSubtarget::MaxWavesPerEU = 10
protected

Definition at line 68 of file AMDGPUSubtarget.h.

Referenced by llvm::GCNSubtarget::GCNSubtarget(), and getMaxWavesPerEU().

◆ WavefrontSizeLog2

char llvm::AMDGPUSubtarget::WavefrontSizeLog2 = 0
protected

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