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 NVPTXOptions & getCLOpts () const
const TargetFrameLowering * getFrameLowering () const override
const NVPTXInstrInfo * getInstrInfo () const override
const NVPTXRegisterInfo * getRegisterInfo () const override
const NVPTXTargetLowering * getTargetLowering () const override
const SelectionDAGTargetInfo * getSelectionDAGInfo () const override
bool hasAnyFeature (ArrayRef< unsigned > Features) const
bool has256BitVectorLoadStore (unsigned AS) const
bool hasUsedBytesMaskPragma () const
bool hasABIPreserve () const
bool hasAtomAddF64 () const
bool hasAtomScope () const
bool hasAtomMinMaxAndOrXor () const
bool hasAtomCas16 () const
bool hasAtomSwap128 () const
bool hasLdStB128 () const
bool hasSysScopeLdStB128 () 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 hasLocalVolatile () const
bool hasDotInstructions () const
bool hasCLMAD () const
bool hasL1EvictionHint () const
bool hasL2EvictionHint () const
bool hasL2Prefetch64B () const
bool hasL2Prefetch128B () const
bool hasL2Prefetch256B () const
bool hasL2CacheHint () const
bool hasTcgen05InstSupport () const
bool hasF32x2Instructions () const
bool hasTensormapReplaceSupport () const
bool hasTensormapReplaceElemtypeSupport (unsigned ElemType) const
bool hasTensormapReplaceSwizzleModeSupport (unsigned SwizzleMode) const
bool hasPTXASUnreachableBug () const
bool hasCvtaParam () const
unsigned getSmVersion () const
bool hasTargetName () const
StringRef getTargetName () const
bool hasNativeBF16Support (unsigned Opcode) const
unsigned getMaxRequiredAlignment () const
unsigned getMinCmpXchgSizeInBits () const
unsigned getPTXVersion () const
NVPTXSubtarget & initializeSubtargetDependencies (StringRef CPU, StringRef FS)
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)

Detailed Description

Definition at line 44 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 183 of file NVPTXSubtarget.cpp.

References getCLOpts(), and initializeSubtargetDependencies().

Referenced by initializeSubtargetDependencies().

◆ ~NVPTXSubtarget()

NVPTXSubtarget::~NVPTXSubtarget ( )
overridedefault

Member Function Documentation

◆ allowFP16Math()

bool NVPTXSubtarget::allowFP16Math ( ) const

Definition at line 192 of file NVPTXSubtarget.cpp.

References hasFP16Math().

◆ getCLOpts()

const NVPTXOptions & llvm::NVPTXSubtarget::getCLOpts ( ) const
inline

◆ getFrameLowering()

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

Definition at line 77 of file NVPTXSubtarget.h.

◆ getInstrInfo()

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

Definition at line 80 of file NVPTXSubtarget.h.

◆ getMaxRequiredAlignment()

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

Definition at line 240 of file NVPTXSubtarget.h.

◆ getMinCmpXchgSizeInBits()

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

Definition at line 242 of file NVPTXSubtarget.h.

◆ getPTXVersion()

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

Definition at line 244 of file NVPTXSubtarget.h.

◆ getRegisterInfo()

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

Definition at line 81 of file NVPTXSubtarget.h.

◆ getSelectionDAGInfo()

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

Definition at line 88 of file NVPTXSubtarget.h.

◆ getSmVersion()

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

Definition at line 222 of file NVPTXSubtarget.h.

References llvm::NVPTX::getSmVersion().

◆ getTargetLowering()

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

Definition at line 84 of file NVPTXSubtarget.h.

◆ getTargetName()

StringRef NVPTXSubtarget::getTargetName ( ) const

Definition at line 132 of file NVPTXSubtarget.cpp.

References llvm::NVPTX::getArchName(), and hasFeature().

◆ has256BitVectorLoadStore()

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

Definition at line 97 of file NVPTXSubtarget.h.

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

Referenced by getVectorLoweringShape().

◆ hasABIPreserve()

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

Definition at line 104 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAnyFeature()

bool llvm::NVPTXSubtarget::hasAnyFeature ( ArrayRef< unsigned > Features) const
inline

◆ hasAtomAddF64()

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

Definition at line 107 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by getScalarAtomicRMWExpansion().

◆ hasAtomCas16()

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

Definition at line 110 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomMinMaxAndOrXor()

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

Definition at line 109 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by getScalarAtomicRMWExpansion().

◆ hasAtomScope()

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

Definition at line 108 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasAtomSwap128()

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

Definition at line 113 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by replaceAtomicSwap128().

◆ hasBF16Math()

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

Definition at line 129 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by hasNativeBF16Support().

◆ hasBrx()

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

Definition at line 125 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasCLMAD()

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

Definition at line 148 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasClusters()

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

Definition at line 122 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasCvtaParam()

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

Definition at line 216 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasDotInstructions()

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

Definition at line 147 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasF32x2Instructions()

bool NVPTXSubtarget::hasF32x2Instructions ( ) const

Definition at line 196 of file NVPTXSubtarget.cpp.

References hasFeature().

Referenced by getVectorLoweringShape(), and isSupportedFPArith().

◆ hasFP16Math()

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

Definition at line 128 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by allowFP16Math(), and isSupportedFPArith().

◆ hasHWROT32()

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

Definition at line 124 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL1EvictionHint()

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

Definition at line 152 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2CacheHint()

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

Definition at line 167 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2EvictionHint()

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

Definition at line 155 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2Prefetch128B()

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

Definition at line 161 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2Prefetch256B()

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

Definition at line 164 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasL2Prefetch64B()

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

Definition at line 158 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasLDG()

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

Definition at line 123 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasLdStB128()

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

Definition at line 116 of file NVPTXSubtarget.h.

References hasFeature().

Referenced by hasSysScopeLdStB128(), lowerAtomicStore128(), and replaceAtomicLoad128().

◆ hasLocalVolatile()

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

Definition at line 146 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasMaskOperator()

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

Definition at line 131 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasMemoryOrdering()

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

Definition at line 137 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasNativeBF16Support()

◆ hasNoReturn()

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

Definition at line 132 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasPTXASUnreachableBug()

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

Definition at line 215 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasRelaxedMMIO()

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

Definition at line 143 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasSplitAcquireAndReleaseFences()

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

Definition at line 139 of file NVPTXSubtarget.h.

References hasFeature().

◆ hasSysScopeLdStB128()

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

Definition at line 119 of file NVPTXSubtarget.h.

References hasFeature(), and hasLdStB128().

◆ hasTargetName()

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

Definition at line 226 of file NVPTXSubtarget.h.

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

◆ hasTcgen05InstSupport()

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

Definition at line 178 of file NVPTXSubtarget.h.

References hasAnyFeature().

◆ hasTensormapReplaceElemtypeSupport()

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

◆ hasTensormapReplaceSupport()

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

◆ hasTensormapReplaceSwizzleModeSupport()

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

◆ hasUsedBytesMaskPragma()

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

Definition at line 101 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: