LLVM 24.0.0git
llvm::NVPTXSubtarget Class Reference

#include "Target/NVPTX/NVPTXSubtarget.h"

Inheritance diagram for llvm::NVPTXSubtarget:
[legend]

Public Member Functions

 NVPTXSubtarget (const Triple &TT, StringRef CPU, StringRef FS, const NVPTXTargetMachine &TM)
 This constructor initializes the data members to match that of the specified module.
 ~NVPTXSubtarget () override
const TargetFrameLoweringgetFrameLowering () const override
const NVPTXInstrInfogetInstrInfo () const override
const NVPTXRegisterInfogetRegisterInfo () const override
const NVPTXTargetLoweringgetTargetLowering () const override
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
bool hasAnyFeature (ArrayRef< unsigned > Features) const
bool has256BitVectorLoadStore (unsigned AS) const
bool hasUsedBytesMaskPragma () const
bool hasAtomAddF64 () const
bool hasAtomScope () const
bool hasAtomBitwise64 () const
bool hasAtomMinMax64 () const
bool hasAtomCas16 () const
bool hasAtomSwap128 () const
bool hasClusters () const
bool hasLDG () const
bool hasHWROT32 () const
bool hasBrx () const
bool hasFP16Math () const
bool hasBF16Math () const
bool allowFP16Math () const
bool hasMaskOperator () const
bool hasNoReturn () const
bool hasMemoryOrdering () const
bool hasSplitAcquireAndReleaseFences () const
bool hasRelaxedMMIO () const
bool hasDotInstructions () const
bool hasL1EvictionHint () const
bool hasL2EvictionHint () const
bool hasL2Prefetch64B () const
bool hasL2Prefetch128B () const
bool hasL2Prefetch256B () const
bool hasL2CacheHint () const
bool hasTcgen05InstSupport () const
bool hasRubinFamilySupport () const
bool hasTcgen05ShiftSupport () const
bool hasTcgen05MMAScaleInputDImm () const
bool hasTcgen05MMAI8Kind () const
bool hasTcgen05MMASparseMxf4nvf4 () const
bool hasTcgen05MMASparseMxf4 () const
bool hasTcgen05LdRedSupport () const
bool hasReduxSyncF32 () const
bool hasMMABlockScale () const
bool hasMMASparseBlockScaleF4 () const
bool hasMMAWithMXF4NVF4Scale4xE8M0 () const
bool hasMMASparseWithMXF4NVF4Scale4xE8M0 () const
bool hasF32x2Instructions () const
bool hasTMABlackwellSupport () const
bool hasFP8ConversionSupport () const
bool hasNarrowFPConversionSupport () const
bool hasFP16X2ToNarrowFPConversionSupport () const
bool hasS2F6X2ConversionSupport () const
bool hasNarrowFPToBF16x2ConversionSupport () const
bool hasUE5M3TypeSupport () const
bool hasTensormapReplaceSupport () const
bool hasTensormapReplaceElemtypeSupport (unsigned ElemType) const
bool hasTensormapReplaceSwizzleAtomicitySupport () const
bool hasTensormapReplaceSwizzleModeSupport (unsigned SwizzleMode) const
bool hasClusterLaunchControlTryCancelMulticastSupport () const
bool hasSetMaxNRegSupport () const
bool hasLdStmatrixBlackwellSupport () const
bool hasPTXASUnreachableBug () const
bool hasCvtaParam () const
bool hasConvertWithStochasticRounding () const
unsigned getSmVersion () const
bool hasTargetName () const
StringRef getTargetName () const
bool hasNativeBF16Support (unsigned Opcode) const
unsigned getMaxRequiredAlignment () const
unsigned getMinCmpXchgSizeInBits () const
unsigned getPTXVersion () const
NVPTXSubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS)
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)

Detailed Description

Definition at line 32 of file NVPTXSubtarget.h.

Constructor & Destructor Documentation

◆ NVPTXSubtarget()

NVPTXSubtarget::NVPTXSubtarget ( const Triple & TT,
StringRef CPU,
StringRef FS,
const NVPTXTargetMachine & TM )

This constructor initializes the data members to match that of the specified module.

Definition at line 150 of file NVPTXSubtarget.cpp.

References initializeSubtargetDependencies().

Referenced by initializeSubtargetDependencies().

◆ ~NVPTXSubtarget()

NVPTXSubtarget::~NVPTXSubtarget ( )
overridedefault

Member Function Documentation

◆ allowFP16Math()

bool NVPTXSubtarget::allowFP16Math ( ) const

Definition at line 158 of file NVPTXSubtarget.cpp.

References hasFP16Math(), and NoF16Math.

◆ getFrameLowering()

const TargetFrameLowering * llvm::NVPTXSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 61 of file NVPTXSubtarget.h.

◆ getInstrInfo()

const NVPTXInstrInfo * llvm::NVPTXSubtarget::getInstrInfo ( ) const
inlineoverride

Definition at line 64 of file NVPTXSubtarget.h.

◆ getMaxRequiredAlignment()

unsigned llvm::NVPTXSubtarget::getMaxRequiredAlignment ( ) const
inline

Definition at line 347 of file NVPTXSubtarget.h.

◆ getMinCmpXchgSizeInBits()

unsigned llvm::NVPTXSubtarget::getMinCmpXchgSizeInBits ( ) const
inline

Definition at line 349 of file NVPTXSubtarget.h.

◆ getPTXVersion()

unsigned llvm::NVPTXSubtarget::getPTXVersion ( ) const
inline

Definition at line 351 of file NVPTXSubtarget.h.

◆ getRegisterInfo()

const NVPTXRegisterInfo * llvm::NVPTXSubtarget::getRegisterInfo ( ) const
inlineoverride

Definition at line 65 of file NVPTXSubtarget.h.

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo * llvm::NVPTXSubtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 72 of file NVPTXSubtarget.h.

◆ getSmVersion()

unsigned llvm::NVPTXSubtarget::getSmVersion ( ) const
inline

Definition at line 329 of file NVPTXSubtarget.h.

References llvm::NVPTX::getSmVersion().

◆ getTargetLowering()

const NVPTXTargetLowering * llvm::NVPTXSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 68 of file NVPTXSubtarget.h.

◆ getTargetName()

StringRef llvm::NVPTXSubtarget::getTargetName ( ) const
inline

Definition at line 336 of file NVPTXSubtarget.h.

References llvm::NVPTX::getArchName().

◆ has256BitVectorLoadStore()

bool llvm::NVPTXSubtarget::has256BitVectorLoadStore ( unsigned AS) const
inline

Definition at line 81 of file NVPTXSubtarget.h.

References llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, and hasFeature().

Referenced by getVectorLoweringShape().

◆ hasAnyFeature()

◆ hasAtomAddF64()

bool llvm::NVPTXSubtarget::hasAtomAddF64 ( ) const
inline

Definition at line 88 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomBitwise64()

bool llvm::NVPTXSubtarget::hasAtomBitwise64 ( ) const
inline

Definition at line 90 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomCas16()

bool llvm::NVPTXSubtarget::hasAtomCas16 ( ) const
inline

Definition at line 92 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomMinMax64()

bool llvm::NVPTXSubtarget::hasAtomMinMax64 ( ) const
inline

Definition at line 91 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomScope()

bool llvm::NVPTXSubtarget::hasAtomScope ( ) const
inline

Definition at line 89 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomSwap128()

bool llvm::NVPTXSubtarget::hasAtomSwap128 ( ) const
inline

Definition at line 95 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by replaceAtomicSwap128().

◆ hasBF16Math()

bool llvm::NVPTXSubtarget::hasBF16Math ( ) const
inline

Definition at line 107 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by hasNativeBF16Support().

◆ hasBrx()

bool llvm::NVPTXSubtarget::hasBrx ( ) const
inline

Definition at line 103 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasClusterLaunchControlTryCancelMulticastSupport()

bool llvm::NVPTXSubtarget::hasClusterLaunchControlTryCancelMulticastSupport ( ) const
inline

Definition at line 298 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasClusters()

bool llvm::NVPTXSubtarget::hasClusters ( ) const
inline

Definition at line 98 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasConvertWithStochasticRounding()

bool llvm::NVPTXSubtarget::hasConvertWithStochasticRounding ( ) const
inline

Definition at line 322 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasCvtaParam()

bool llvm::NVPTXSubtarget::hasCvtaParam ( ) const
inline

Definition at line 319 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasDotInstructions()

bool llvm::NVPTXSubtarget::hasDotInstructions ( ) const
inline

Definition at line 126 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasF32x2Instructions()

bool NVPTXSubtarget::hasF32x2Instructions ( ) const

Definition at line 162 of file NVPTXSubtarget.cpp.

References hasFeature(), and NoF32x2.

Referenced by getVectorLoweringShape().

◆ hasFP16Math()

bool llvm::NVPTXSubtarget::hasFP16Math ( ) const
inline

Definition at line 106 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by allowFP16Math().

◆ hasFP16X2ToNarrowFPConversionSupport()

bool llvm::NVPTXSubtarget::hasFP16X2ToNarrowFPConversionSupport ( ) const
inline

Definition at line 246 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasFP8ConversionSupport()

bool llvm::NVPTXSubtarget::hasFP8ConversionSupport ( ) const
inline

Definition at line 222 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasHWROT32()

bool llvm::NVPTXSubtarget::hasHWROT32 ( ) const
inline

Definition at line 102 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL1EvictionHint()

bool llvm::NVPTXSubtarget::hasL1EvictionHint ( ) const
inline

Definition at line 130 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2CacheHint()

bool llvm::NVPTXSubtarget::hasL2CacheHint ( ) const
inline

Definition at line 145 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2EvictionHint()

bool llvm::NVPTXSubtarget::hasL2EvictionHint ( ) const
inline

Definition at line 133 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by isL2EvictionSupported().

◆ hasL2Prefetch128B()

bool llvm::NVPTXSubtarget::hasL2Prefetch128B ( ) const
inline

Definition at line 139 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by isL2PrefetchSupported().

◆ hasL2Prefetch256B()

bool llvm::NVPTXSubtarget::hasL2Prefetch256B ( ) const
inline

Definition at line 142 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by isL2PrefetchSupported().

◆ hasL2Prefetch64B()

bool llvm::NVPTXSubtarget::hasL2Prefetch64B ( ) const
inline

Definition at line 136 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by isL2PrefetchSupported().

◆ hasLDG()

bool llvm::NVPTXSubtarget::hasLDG ( ) const
inline

Definition at line 101 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by canLowerToLDG().

◆ hasLdStmatrixBlackwellSupport()

bool llvm::NVPTXSubtarget::hasLdStmatrixBlackwellSupport ( ) const
inline

Definition at line 307 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasMaskOperator()

bool llvm::NVPTXSubtarget::hasMaskOperator ( ) const
inline

Definition at line 109 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasMemoryOrdering()

bool llvm::NVPTXSubtarget::hasMemoryOrdering ( ) const
inline

Definition at line 115 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasMMABlockScale()

bool llvm::NVPTXSubtarget::hasMMABlockScale ( ) const
inline

Definition at line 194 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasMMASparseBlockScaleF4()

bool llvm::NVPTXSubtarget::hasMMASparseBlockScaleF4 ( ) const
inline

Definition at line 196 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasMMASparseWithMXF4NVF4Scale4xE8M0()

bool llvm::NVPTXSubtarget::hasMMASparseWithMXF4NVF4Scale4xE8M0 ( ) const
inline

Definition at line 204 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasMMAWithMXF4NVF4Scale4xE8M0()

bool llvm::NVPTXSubtarget::hasMMAWithMXF4NVF4Scale4xE8M0 ( ) const
inline

Definition at line 200 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasNarrowFPConversionSupport()

bool llvm::NVPTXSubtarget::hasNarrowFPConversionSupport ( ) const
inline

Definition at line 236 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasNarrowFPToBF16x2ConversionSupport()

bool llvm::NVPTXSubtarget::hasNarrowFPToBF16x2ConversionSupport ( ) const
inline

Definition at line 258 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasNativeBF16Support()

◆ hasNoReturn()

bool llvm::NVPTXSubtarget::hasNoReturn ( ) const
inline

Definition at line 110 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasPTXASUnreachableBug()

bool llvm::NVPTXSubtarget::hasPTXASUnreachableBug ( ) const
inline

Definition at line 318 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasReduxSyncF32()

bool llvm::NVPTXSubtarget::hasReduxSyncF32 ( ) const
inline

Definition at line 192 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasRelaxedMMIO()

bool llvm::NVPTXSubtarget::hasRelaxedMMIO ( ) const
inline

Definition at line 123 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasRubinFamilySupport()

bool llvm::NVPTXSubtarget::hasRubinFamilySupport ( ) const
inline

Definition at line 163 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasS2F6X2ConversionSupport()

bool llvm::NVPTXSubtarget::hasS2F6X2ConversionSupport ( ) const
inline

Definition at line 251 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasSetMaxNRegSupport()

bool llvm::NVPTXSubtarget::hasSetMaxNRegSupport ( ) const
inline

Definition at line 302 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasSplitAcquireAndReleaseFences()

bool llvm::NVPTXSubtarget::hasSplitAcquireAndReleaseFences ( ) const
inline

Definition at line 119 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasTargetName()

bool llvm::NVPTXSubtarget::hasTargetName ( ) const
inline

Definition at line 333 of file NVPTXSubtarget.h.

References llvm::StringRef::empty(), and llvm::getCPU().

◆ hasTcgen05InstSupport()

bool llvm::NVPTXSubtarget::hasTcgen05InstSupport ( ) const
inline

Definition at line 156 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTcgen05LdRedSupport()

bool llvm::NVPTXSubtarget::hasTcgen05LdRedSupport ( ) const
inline

Definition at line 187 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasTcgen05MMAI8Kind()

bool llvm::NVPTXSubtarget::hasTcgen05MMAI8Kind ( ) const
inline

Definition at line 174 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTcgen05MMAScaleInputDImm()

bool llvm::NVPTXSubtarget::hasTcgen05MMAScaleInputDImm ( ) const
inline

Definition at line 170 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTcgen05MMASparseMxf4()

bool llvm::NVPTXSubtarget::hasTcgen05MMASparseMxf4 ( ) const
inline

Definition at line 183 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTcgen05MMASparseMxf4nvf4()

bool llvm::NVPTXSubtarget::hasTcgen05MMASparseMxf4nvf4 ( ) const
inline

Definition at line 178 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasTcgen05ShiftSupport()

bool llvm::NVPTXSubtarget::hasTcgen05ShiftSupport ( ) const
inline

Definition at line 166 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTensormapReplaceElemtypeSupport()

bool llvm::NVPTXSubtarget::hasTensormapReplaceElemtypeSupport ( unsigned ElemType) const
inline

◆ hasTensormapReplaceSupport()

bool llvm::NVPTXSubtarget::hasTensormapReplaceSupport ( ) const
inline

◆ hasTensormapReplaceSwizzleAtomicitySupport()

bool llvm::NVPTXSubtarget::hasTensormapReplaceSwizzleAtomicitySupport ( ) const
inline

Definition at line 283 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasTensormapReplaceSwizzleModeSupport()

bool llvm::NVPTXSubtarget::hasTensormapReplaceSwizzleModeSupport ( unsigned SwizzleMode) const
inline

◆ hasTMABlackwellSupport()

bool llvm::NVPTXSubtarget::hasTMABlackwellSupport ( ) const
inline

Definition at line 217 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasUE5M3TypeSupport()

bool llvm::NVPTXSubtarget::hasUE5M3TypeSupport ( ) const
inline

Definition at line 264 of file NVPTXSubtarget.h.

References hasAnyFeature(), and hasFeature().

◆ hasUsedBytesMaskPragma()

bool llvm::NVPTXSubtarget::hasUsedBytesMaskPragma ( ) const
inline

Definition at line 85 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by convertMLOADToLoadWithUsedBytesMask().

◆ initializeSubtargetDependencies()

◆ ParseSubtargetFeatures()

void llvm::NVPTXSubtarget::ParseSubtargetFeatures ( StringRef CPU,
StringRef TuneCPU,
StringRef FS )

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