3 #include "llvm/ADT/StringRef.h" 4 #include "llvm/ADT/StringSwitch.h" 5 #include "llvm/ADT/Twine.h" 6 #include "llvm/Support/ErrorHandling.h" 7 #include "llvm/Support/VersionTuple.h" 32 llvm_unreachable(
"invalid enum");
36 return llvm::StringSwitch<CudaVersion>(S.str())
125 llvm_unreachable(
"invalid enum");
129 return llvm::StringSwitch<CudaArch>(S)
201 return "compute_amdgcn";
203 llvm_unreachable(
"invalid enum");
207 return llvm::StringSwitch<CudaVirtualArch>(S)
283 llvm_unreachable(
"invalid enum");
334 llvm_unreachable(
"invalid enum");
367 Version.getMajor() * 10 + Version.getMinor().getValueOr(0);
401 llvm_unreachable(
"Unknown CUDA feature.");
CudaVirtualArch StringToCudaVirtualArch(llvm::StringRef S)
CudaVersion CudaStringToVersion(const llvm::Twine &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.
CudaVirtualArch VirtualArchForCudaArch(CudaArch A)
Get the compute_xx corresponding to an sm_yy.