13#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXSUBTARGET_H
14#define LLVM_LIB_TARGET_NVPTX_NVPTXSUBTARGET_H
27#define GET_SUBTARGETINFO_HEADER
28#include "NVPTXGenSubtargetInfo.inc"
33 virtual void anchor();
34 std::string TargetName;
42 unsigned FullSmVersion;
46 std::unique_ptr<const SelectionDAGTargetInfo> TSInfo;
62 return &FrameLowering;
66 return &InstrInfo.getRegisterInfo();
211 if (PTXVersion >= 81)
214 if (PTXVersion >= 78)
NVPTX address space definition.
This file contains the definitions of the enumerations and flags associated with NVVM Intrinsics,...
Represent a constant reference to an array (0 or more elements consecutively in memory),...
bool hasTensormapReplaceElemtypeSupport(unsigned ElemType) const
bool hasMMASparseBlockScaleF4() const
bool hasTcgen05MMASparseMxf4() const
const NVPTXInstrInfo * getInstrInfo() const override
bool hasTensormapReplaceSwizzleModeSupport(unsigned SwizzleMode) const
bool hasPTXWithAccelSMs(unsigned MinPTXVersion, ArrayRef< unsigned > SMVersions) const
bool hasFP16X2ToNarrowFPConversionSupport() const
bool hasTcgen05MMAI8Kind() const
bool hasTMABlackwellSupport() const
StringRef getTargetName() const
bool hasS2F6X2ConversionSupport() const
bool hasTcgen05MMASparseMxf4nvf4() const
const SelectionDAGTargetInfo * getSelectionDAGInfo() const override
unsigned getMaxRequiredAlignment() const
bool hasClusterLaunchControlTryCancelMulticastSupport() const
bool hasAtomMinMax64() const
bool hasTcgen05InstSupport() const
bool hasAtomAddF64() const
bool hasSplitAcquireAndReleaseFences() const
bool hasNativeBF16Support(unsigned Opcode) const
bool hasConvertWithStochasticRounding() const
bool hasMaskOperator() const
bool hasFP8ConversionSupport() const
const NVPTXTargetLowering * getTargetLowering() const override
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
unsigned getMinCmpXchgSizeInBits() const
unsigned getPTXVersion() const
bool hasCvtaParam() const
~NVPTXSubtarget() override
bool hasUsedBytesMaskPragma() const
bool hasPTXWithFamilySMs(unsigned MinPTXVersion, ArrayRef< unsigned > SMVersions) const
const NVPTXRegisterInfo * getRegisterInfo() const override
bool hasTensormapReplaceSupport() const
bool hasDotInstructions() const
bool hasNarrowFPToBF16x2ConversionSupport() const
bool hasTcgen05MMAScaleInputDImm() const
bool hasFamilySpecificFeatures() const
bool hasAtomBitwise64() const
bool hasTcgen05ShiftSupport() const
bool hasRelaxedMMIO() const
bool hasTargetName() const
bool hasSetMaxNRegSupport() const
bool hasMMASparseWithMXF4NVF4Scale4xE8M0() const
bool hasAtomSwap128() const
unsigned getSmFamilyVersion() const
bool hasF32x2Instructions() const
bool hasTcgen05LdRedSupport() const
bool hasReduxSyncF32() const
unsigned getFullSmVersion() const
bool hasMMAWithMXF4NVF4Scale4xE8M0() const
bool allowFP16Math() const
const TargetFrameLowering * getFrameLowering() const override
bool hasAtomScope() const
unsigned getSmVersion() const
bool hasMMABlockScale() const
bool hasLdStmatrixBlackwellSupport() const
bool hasAtomCas16() const
bool hasNarrowFPConversionSupport() const
bool hasMemoryOrdering() const
bool hasArchAccelFeatures() const
NVPTXSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
bool has256BitVectorLoadStore(unsigned AS) const
bool hasTensormapReplaceSwizzleAtomicitySupport() const
NVPTXSubtarget(const Triple &TT, StringRef CPU, StringRef FS, const NVPTXTargetMachine &TM)
This constructor initializes the data members to match that of the specified module.
bool hasPTXASUnreachableBug() const
Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...
Represent a constant reference to a string, i.e.
Information about stack frame layout on the target.
Triple - Helper class for working with autoconf configuration names.
This is an optimization pass for GlobalISel generic memory operations.