18#define DEBUG_TYPE "nvptx-subtarget"
20#define GET_SUBTARGETINFO_ENUM
21#define GET_SUBTARGETINFO_TARGET_DESC
22#define GET_SUBTARGETINFO_CTOR
23#include "NVPTXGenSubtargetInfo.inc"
27 cl::desc(
"NVPTX Specific: Disable generation of f16 math ops."),
30void NVPTXSubtarget::anchor() {}
35 TargetName = std::string(CPU.
empty() ?
"sm_30" : CPU);
45 if (PTXVersion == 0) {
53 const std::string &FS,
56 FullSmVersion(200),
SmVersion(getSmVersion()), TM(TM),
57 TLInfo(TM, initializeSubtargetDependencies(CPU, FS)) {}
63 return (SmVersion >= 30);
static cl::opt< bool > NoF16Math("nvptx-no-f16-math", cl::Hidden, cl::desc("NVPTX Specific: Disable generation of f16 math ops."), cl::init(false))
bool hasImageHandles() const
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
unsigned int getSmVersion() const
bool allowFP16Math() const
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 & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
NVPTX::DrvInterface getDrvInterface() const
StringRef - Represent a constant reference to a string, i.e.
constexpr bool empty() const
empty - Check if the string is empty.
Triple - Helper class for working with autoconf configuration names.
initializer< Ty > init(const Ty &Val)
This is an optimization pass for GlobalISel generic memory operations.