Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::NVPTXSubtarget Class Reference

#include "Target/NVPTX/NVPTXSubtarget.h"

Inheritance diagram for llvm::NVPTXSubtarget:
[legend]

Public Member Functions

 NVPTXSubtarget (const Triple &TT, const std::string &CPU, const std::string &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 has256BitVectorLoadStore (unsigned AS) 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 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 hasTcgen05Instructions () const
bool hasF32x2Instructions () const
bool hasCpAsyncBulkTensorCTAGroupSupport () const
bool hasPTXASUnreachableBug () const
bool hasCvtaParam () const
unsigned int getFullSmVersion () const
unsigned int getSmVersion () const
bool hasArchAccelFeatures () const
bool hasFamilySpecificFeatures () const
std::string getTargetName () const
bool hasTargetName () const
bool hasNativeBF16Support (int Opcode) const
unsigned getMaxRequiredAlignment () const
unsigned getMinCmpXchgSizeInBits () const
unsigned getPTXVersion () const
NVPTXSubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS)
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
void failIfClustersUnsupported (std::string const &FailureMessage) const

Detailed Description

Definition at line 31 of file NVPTXSubtarget.h.

Constructor & Destructor Documentation

◆ NVPTXSubtarget()

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

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

Definition at line 60 of file NVPTXSubtarget.cpp.

References getSmVersion(), and initializeSubtargetDependencies().

Referenced by initializeSubtargetDependencies().

◆ ~NVPTXSubtarget()

NVPTXSubtarget::~NVPTXSubtarget ( )
overridedefault

Member Function Documentation

◆ allowFP16Math()

bool NVPTXSubtarget::allowFP16Math ( ) const

Definition at line 75 of file NVPTXSubtarget.cpp.

References hasFP16Math(), and NoF16Math.

◆ failIfClustersUnsupported()

void NVPTXSubtarget::failIfClustersUnsupported ( std::string const & FailureMessage) const

◆ getFrameLowering()

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

Definition at line 63 of file NVPTXSubtarget.h.

◆ getFullSmVersion()

unsigned int llvm::NVPTXSubtarget::getFullSmVersion ( ) const
inline

◆ getInstrInfo()

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

Definition at line 66 of file NVPTXSubtarget.h.

◆ getMaxRequiredAlignment()

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

Definition at line 186 of file NVPTXSubtarget.h.

◆ getMinCmpXchgSizeInBits()

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

Definition at line 188 of file NVPTXSubtarget.h.

◆ getPTXVersion()

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

◆ getRegisterInfo()

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

Definition at line 67 of file NVPTXSubtarget.h.

Referenced by isCVTAToLocalCombinationCandidate().

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo * NVPTXSubtarget::getSelectionDAGInfo ( ) const
override

Definition at line 71 of file NVPTXSubtarget.cpp.

◆ getSmVersion()

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

◆ getTargetLowering()

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

Definition at line 70 of file NVPTXSubtarget.h.

◆ getTargetName()

std::string llvm::NVPTXSubtarget::getTargetName ( ) const
inline

Definition at line 172 of file NVPTXSubtarget.h.

Referenced by initializeSubtargetDependencies().

◆ has256BitVectorLoadStore()

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

Definition at line 76 of file NVPTXSubtarget.h.

References llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL.

Referenced by getVectorLoweringShape().

◆ hasArchAccelFeatures()

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

Definition at line 159 of file NVPTXSubtarget.h.

References getFullSmVersion().

Referenced by hasFamilySpecificFeatures().

◆ hasAtomAddF64()

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

Definition at line 80 of file NVPTXSubtarget.h.

◆ hasAtomBitwise64()

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

Definition at line 82 of file NVPTXSubtarget.h.

◆ hasAtomCas16()

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

Definition at line 84 of file NVPTXSubtarget.h.

◆ hasAtomMinMax64()

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

Definition at line 83 of file NVPTXSubtarget.h.

◆ hasAtomScope()

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

Definition at line 81 of file NVPTXSubtarget.h.

◆ hasAtomSwap128()

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

Definition at line 85 of file NVPTXSubtarget.h.

Referenced by replaceAtomicSwap128().

◆ hasBF16Math()

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

Definition at line 90 of file NVPTXSubtarget.h.

Referenced by hasNativeBF16Support().

◆ hasClusters()

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

Definition at line 86 of file NVPTXSubtarget.h.

Referenced by failIfClustersUnsupported().

◆ hasCpAsyncBulkTensorCTAGroupSupport()

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

Definition at line 129 of file NVPTXSubtarget.h.

◆ hasCvtaParam()

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

Definition at line 150 of file NVPTXSubtarget.h.

◆ hasDotInstructions()

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

Definition at line 103 of file NVPTXSubtarget.h.

◆ hasF32x2Instructions()

bool NVPTXSubtarget::hasF32x2Instructions ( ) const

Definition at line 79 of file NVPTXSubtarget.cpp.

References NoF32x2.

Referenced by getVectorLoweringShape().

◆ hasFamilySpecificFeatures()

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

Definition at line 167 of file NVPTXSubtarget.h.

References getFullSmVersion(), and hasArchAccelFeatures().

◆ hasFP16Math()

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

Definition at line 89 of file NVPTXSubtarget.h.

Referenced by allowFP16Math().

◆ hasHWROT32()

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

Definition at line 88 of file NVPTXSubtarget.h.

◆ hasLDG()

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

Definition at line 87 of file NVPTXSubtarget.h.

Referenced by canLowerToLDG().

◆ hasMaskOperator()

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

Definition at line 92 of file NVPTXSubtarget.h.

◆ hasMemoryOrdering()

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

Definition at line 96 of file NVPTXSubtarget.h.

◆ hasNativeBF16Support()

bool NVPTXSubtarget::hasNativeBF16Support ( int Opcode) const

◆ hasNoReturn()

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

Definition at line 93 of file NVPTXSubtarget.h.

◆ hasPTXASUnreachableBug()

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

Definition at line 149 of file NVPTXSubtarget.h.

◆ hasRelaxedMMIO()

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

Definition at line 102 of file NVPTXSubtarget.h.

◆ hasSplitAcquireAndReleaseFences()

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

Definition at line 98 of file NVPTXSubtarget.h.

◆ hasTargetName()

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

Definition at line 175 of file NVPTXSubtarget.h.

◆ hasTcgen05Instructions()

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

Definition at line 107 of file NVPTXSubtarget.h.

◆ initializeSubtargetDependencies()

NVPTXSubtarget & NVPTXSubtarget::initializeSubtargetDependencies ( StringRef CPU,
StringRef FS )

Definition at line 41 of file NVPTXSubtarget.cpp.

References getSmVersion(), getTargetName(), NVPTXSubtarget(), and ParseSubtargetFeatures().

Referenced by NVPTXSubtarget().

◆ ParseSubtargetFeatures()

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

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