14 #ifndef LLVM_LIB_TARGET_NVPTX_NVPTXSUBTARGET_H
15 #define LLVM_LIB_TARGET_NVPTX_NVPTXSUBTARGET_H
27 #define GET_SUBTARGETINFO_HEADER
28 #include "NVPTXGenSubtargetInfo.inc"
33 virtual void anchor();
34 std::string TargetName;
40 unsigned int SmVersion;
63 return &FrameLowering;
76 bool hasBrkPt()
const {
return SmVersion >= 11; }
88 bool hasVote()
const {
return SmVersion >= 12; }
90 bool reqPTX20()
const {
return SmVersion >= 20; }
94 bool hasLDG()
const {
return SmVersion >= 32; }
95 bool hasLDU()
const {
return ((SmVersion >= 20) && (SmVersion < 30)); }
97 inline bool hasHWROT32()
const {
return SmVersion >= 32; }
99 return ((SmVersion >= 20) && (SmVersion < 32));
102 inline bool hasROT64()
const {
return SmVersion >= 20; }
bool hasAtomAddF32() const
bool hasAtomMinMax64() const
void ParseSubtargetFeatures(StringRef CPU, StringRef FS)
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.
bool hasAtomRedS64() const
bool hasAtomRedG64() const
unsigned int getSmVersion() const
bool hasGenericLdSt() const
const NVPTXTargetLowering * getTargetLowering() const override
bool hasAtomScope() const
bool hasAtomBitwise64() const
Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...
Triple - Helper class for working with autoconf configuration names.
bool hasAtomRedGen64() const
bool hasAtomRedGen32() const
Information about stack frame layout on the target.
std::string getTargetName() const
const NVPTXInstrInfo * getInstrInfo() const override
const NVPTXRegisterInfo & getRegisterInfo() const
bool hasAtomRedG32() const
const SelectionDAGTargetInfo * getSelectionDAGInfo() const override
bool hasImageHandles() const
const TargetFrameLowering * getFrameLowering() const override
NVPTXSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
bool hasAtomRedS32() const
StringRef - Represent a constant reference to a string, i.e.
bool hasAtomAddF64() const
unsigned getPTXVersion() const
const NVPTXRegisterInfo * getRegisterInfo() const override