21#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
22 .Case(NAME, GK_##KIND)
23#include "llvm/TargetParser/NVPTXTargetParser.def"
31#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
34#include "llvm/TargetParser/NVPTXTargetParser.def"
43#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
46#include "llvm/TargetParser/NVPTXTargetParser.def"
55#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
58#include "llvm/TargetParser/NVPTXTargetParser.def"
67#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
69 return ArchSuffix::SUFFIX;
70#include "llvm/TargetParser/NVPTXTargetParser.def"
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
LLVM_ABI GPUKind parseArch(StringRef CPU)
Parse CPU (e.g. "sm_90") into a GPUKind, or GK_NONE if unrecognized.
GPUKind
GPU kinds supported by the NVPTX target.
LLVM_ABI unsigned getSmVersion(GPUKind Kind)
Return the numeric compute-capability id (e.g.
ArchSuffix
Suffix class of an NVPTX architecture name.
LLVM_ABI StringRef getVirtualArch(GPUKind Kind)
Return the virtual (compute_) arch name (e.g.
LLVM_ABI StringRef getArchName(GPUKind Kind)
Return the canonical processor name (e.g.
LLVM_ABI ArchSuffix getArchSuffix(GPUKind Kind)
Return the suffix class of Kind.
This is an optimization pass for GlobalISel generic memory operations.