3 #include "llvm/ADT/StringRef.h" 4 #include "llvm/ADT/StringSwitch.h" 5 #include "llvm/Support/ErrorHandling.h" 6 #include "llvm/Support/VersionTuple.h" 31 llvm_unreachable(
"invalid enum");
35 return llvm::StringSwitch<CudaVersion>(S)
123 llvm_unreachable(
"invalid enum");
127 return llvm::StringSwitch<CudaArch>(S)
199 return "compute_amdgcn";
201 llvm_unreachable(
"invalid enum");
205 return llvm::StringSwitch<CudaVirtualArch>(S)
281 llvm_unreachable(
"invalid enum");
332 llvm_unreachable(
"invalid enum");
365 Version.getMajor() * 10 + Version.getMinor().getValueOr(0);
399 llvm_unreachable(
"Unknown CUDA feature.");
CudaVirtualArch StringToCudaVirtualArch(llvm::StringRef S)
const char * CudaArchToString(CudaArch A)
CudaArch StringToCudaArch(llvm::StringRef S)
static CudaVersion ToCudaVersion(llvm::VersionTuple Version)
const char * CudaVersionToString(CudaVersion V)
const char * CudaVirtualArchToString(CudaVirtualArch A)
CudaVersion MaxVersionForCudaArch(CudaArch A)
Get the latest CudaVersion that supports the given CudaArch.
bool CudaFeatureEnabled(llvm::VersionTuple, CudaFeature)
CudaVersion MinVersionForCudaArch(CudaArch A)
Get the earliest CudaVersion that supports the given CudaArch.
Dataflow Directional Tag Classes.
CudaVersion CudaStringToVersion(llvm::StringRef S)
CudaVirtualArch VirtualArchForCudaArch(CudaArch A)
Get the compute_xx corresponding to an sm_yy.