Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Public Member Functions |List of all members
llvm::NVPTXSubtarget Class Reference

#include "Target/NVPTX/NVPTXSubtarget.h"

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

Public Member Functions

 NVPTXSubtarget (constTriple &TT,const std::string &CPU,const std::string &FS,constNVPTXTargetMachine &TM)
 This constructor initializes the data members to match that of the specified module.
 
 ~NVPTXSubtarget () override
 
constTargetFrameLoweringgetFrameLowering ()const override
 
constNVPTXInstrInfogetInstrInfo ()const override
 
constNVPTXRegisterInfogetRegisterInfo ()const override
 
constNVPTXTargetLoweringgetTargetLowering ()const override
 
constSelectionDAGTargetInfogetSelectionDAGInfo ()const override
 
bool hasAtomAddF64 ()const
 
bool hasAtomScope ()const
 
bool hasAtomBitwise64 ()const
 
bool hasAtomMinMax64 ()const
 
bool hasAtomCas16 ()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 hasRelaxedMMIO ()const
 
bool hasDotInstructions ()const
 
bool hasPTXASUnreachableBug ()const
 
bool hasCvtaParam ()const
 
unsigned int getFullSmVersion ()const
 
unsigned int getSmVersion ()const
 
bool hasAAFeatures ()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::stringconst &FailureMessage)const
 

Detailed Description

Definition at line30 of fileNVPTXSubtarget.h.

Constructor & Destructor Documentation

◆ NVPTXSubtarget()

NVPTXSubtarget::NVPTXSubtarget(constTripleTT,
const std::string & CPU,
const std::string & FS,
constNVPTXTargetMachineTM 
)

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

Definition at line54 of fileNVPTXSubtarget.cpp.

◆ ~NVPTXSubtarget()

NVPTXSubtarget::~NVPTXSubtarget()
overridedefault

Member Function Documentation

◆ allowFP16Math()

bool NVPTXSubtarget::allowFP16Math() const

Definition at line69 of fileNVPTXSubtarget.cpp.

ReferenceshasFP16Math(), andNoF16Math.

Referenced byllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ failIfClustersUnsupported()

void NVPTXSubtarget::failIfClustersUnsupported(std::stringconstFailureMessage) const

Definition at line105 of fileNVPTXSubtarget.cpp.

Referencesllvm::formatv(),getFullSmVersion(),hasClusters(), andllvm::report_fatal_error().

◆ getFrameLowering()

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

Definition at line62 of fileNVPTXSubtarget.h.

◆ getFullSmVersion()

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

Definition at line105 of fileNVPTXSubtarget.h.

Referenced byfailIfClustersUnsupported(),getSmVersion(), andhasAAFeatures().

◆ getInstrInfo()

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

Definition at line65 of fileNVPTXSubtarget.h.

◆ getMaxRequiredAlignment()

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

Definition at line130 of fileNVPTXSubtarget.h.

Referenced byllvm::NVPTXTargetLowering::LowerCall().

◆ getMinCmpXchgSizeInBits()

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

Definition at line132 of fileNVPTXSubtarget.h.

Referenced byllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ getPTXVersion()

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

Definition at line134 of fileNVPTXSubtarget.h.

Referenced byllvm::NVPTXAsmPrinter::doInitialization(),hasNativeBF16Support(),llvm::NVPTXTargetLowering::LowerCall(),llvm::NVPTXTargetLowering::LowerDYNAMIC_STACKALLOC(),llvm::NVPTXTargetLowering::LowerSTACKRESTORE(),llvm::NVPTXTargetLowering::LowerSTACKSAVE(),llvm::NVPTXTargetLowering::NVPTXTargetLowering(), andllvm::NVPTXTargetLowering::shouldExpandAtomicRMWInIR().

◆ getRegisterInfo()

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

Definition at line66 of fileNVPTXSubtarget.h.

Referencesllvm::NVPTXInstrInfo::getRegisterInfo().

Referenced byllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ getSelectionDAGInfo()

constSelectionDAGTargetInfo * NVPTXSubtarget::getSelectionDAGInfo() const
override

Definition at line65 of fileNVPTXSubtarget.cpp.

◆ getSmVersion()

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

Definition at line106 of fileNVPTXSubtarget.h.

ReferencesgetFullSmVersion().

Referenced byllvm::NVPTXAsmPrinter::doInitialization(),llvm::NVPTXTargetLowering::getPrototype(),llvm::NVPTXTargetLowering::getRegForInlineAsmConstraint(),hasNativeBF16Support(),initializeSubtargetDependencies(),llvm::NVPTXTargetLowering::LowerCall(),llvm::NVPTXTargetLowering::LowerDYNAMIC_STACKALLOC(),llvm::NVPTXTargetLowering::LowerFormalArguments(),llvm::NVPTXTargetLowering::LowerReturn(),llvm::NVPTXTargetLowering::LowerSTACKRESTORE(),llvm::NVPTXTargetLowering::LowerSTACKSAVE(),llvm::NVPTXTargetLowering::NVPTXTargetLowering(),llvm::NVPTXTargetMachine::registerPassBuilderCallbacks(), andllvm::NVPTXTargetLowering::shouldExpandAtomicRMWInIR().

◆ getTargetLowering()

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

Definition at line69 of fileNVPTXSubtarget.h.

Referenced byllvm::NVPTXTargetLowering::LowerFormalArguments().

◆ getTargetName()

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

Definition at line116 of fileNVPTXSubtarget.h.

Referenced byinitializeSubtargetDependencies().

◆ hasAAFeatures()

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

Definition at line113 of fileNVPTXSubtarget.h.

ReferencesgetFullSmVersion().

◆ hasAtomAddF64()

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

Definition at line75 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byllvm::NVPTXTargetLowering::shouldExpandAtomicRMWInIR().

◆ hasAtomBitwise64()

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

Definition at line77 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byllvm::NVPTXTargetLowering::shouldExpandAtomicRMWInIR().

◆ hasAtomCas16()

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

Definition at line79 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasAtomMinMax64()

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

Definition at line78 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byllvm::NVPTXTargetLowering::shouldExpandAtomicRMWInIR().

◆ hasAtomScope()

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

Definition at line76 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasBF16Math()

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

Definition at line84 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byhasNativeBF16Support(), andllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ hasClusters()

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

Definition at line80 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byfailIfClustersUnsupported().

◆ hasCvtaParam()

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

Definition at line104 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasDotInstructions()

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

Definition at line93 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasFP16Math()

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

Definition at line83 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byallowFP16Math().

◆ hasHWROT32()

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

Definition at line82 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced byllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ hasLDG()

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

Definition at line81 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

Referenced bycanLowerToLDG().

◆ hasMaskOperator()

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

Definition at line86 of fileNVPTXSubtarget.h.

◆ hasMemoryOrdering()

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

Definition at line90 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasNativeBF16Support()

bool NVPTXSubtarget::hasNativeBF16Support(int Opcode) const

Definition at line73 of fileNVPTXSubtarget.cpp.

Referencesllvm::ISD::FADD,llvm::ISD::FCEIL,llvm::ISD::FEXP2,llvm::ISD::FFLOOR,llvm::ISD::FMAXIMUM,llvm::ISD::FMAXNUM,llvm::ISD::FMAXNUM_IEEE,llvm::ISD::FMINIMUM,llvm::ISD::FMINNUM,llvm::ISD::FMINNUM_IEEE,llvm::ISD::FMUL,llvm::ISD::FNEARBYINT,llvm::ISD::FRINT,llvm::ISD::FROUNDEVEN,llvm::ISD::FSUB,llvm::ISD::FTRUNC,getPTXVersion(),getSmVersion(),hasBF16Math(),llvm::ISD::SELECT,llvm::ISD::SELECT_CC, andllvm::ISD::SETCC.

Referenced byllvm::NVPTXTargetLowering::NVPTXTargetLowering().

◆ hasNoReturn()

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

Definition at line87 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasPTXASUnreachableBug()

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

Definition at line103 of fileNVPTXSubtarget.h.

◆ hasRelaxedMMIO()

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

Definition at line92 of fileNVPTXSubtarget.h.

ReferencesSmVersion.

◆ hasTargetName()

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

Definition at line119 of fileNVPTXSubtarget.h.

Referenced byllvm::NVPTXTargetMachine::registerPassBuilderCallbacks().

◆ initializeSubtargetDependencies()

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

Definition at line35 of fileNVPTXSubtarget.cpp.

ReferencesgetSmVersion(),getTargetName(), andParseSubtargetFeatures().

◆ ParseSubtargetFeatures()

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

Referenced byinitializeSubtargetDependencies().


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

Generated on Sun Jul 20 2025 19:15:00 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp