Go to the documentation of this file.
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."),
31 void NVPTXSubtarget::anchor() {}
36 TargetName = std::string(CPU.
empty() ?
"sm_20" : CPU);
41 if (PTXVersion == 0) {
49 const std::string &
FS,
53 TLInfo(
TM, initializeSubtargetDependencies(CPU,
FS)) {}
59 return (SmVersion >= 30);
This is an optimization pass for GlobalISel generic memory operations.
Triple - Helper class for working with autoconf configuration names.
NVPTXSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
bool hasImageHandles() const
constexpr LLVM_NODISCARD bool empty() const
empty - Check if the string is empty.
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.
initializer< Ty > init(const Ty &Val)
static cl::opt< bool > NoF16Math("nvptx-no-f16-math", cl::ZeroOrMore, cl::Hidden, cl::desc("NVPTX Specific: Disable generation of f16 math ops."), cl::init(false))
bool allowFP16Math() const
StringRef - Represent a constant reference to a string, i.e.
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
const char LLVMTargetMachineRef TM
NVPTX::DrvInterface getDrvInterface() const