[NVPTX] Add support for selecting CUDA vs OCL mode based on triple
IR for CUDA should use "nvptx[64]-nvidia-cuda", and IR for NV OpenCL should use "nvptx[64]-nvidia-nvcl"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184579 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 7c02ffb..3b1bff9 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -104,6 +104,7 @@
case BGQ: return "bgq";
case Freescale: return "fsl";
case IBM: return "ibm";
+ case NVIDIA: return "nvidia";
}
llvm_unreachable("Invalid VendorType!");
@@ -135,6 +136,8 @@
case CNK: return "cnk";
case Bitrig: return "bitrig";
case AIX: return "aix";
+ case CUDA: return "cuda";
+ case NVCL: return "nvcl";
}
llvm_unreachable("Invalid OSType");
@@ -260,6 +263,7 @@
.Case("bgq", Triple::BGQ)
.Case("fsl", Triple::Freescale)
.Case("ibm", Triple::IBM)
+ .Case("nvidia", Triple::NVIDIA)
.Default(Triple::UnknownVendor);
}
@@ -287,6 +291,8 @@
.StartsWith("cnk", Triple::CNK)
.StartsWith("bitrig", Triple::Bitrig)
.StartsWith("aix", Triple::AIX)
+ .StartsWith("cuda", Triple::CUDA)
+ .StartsWith("nvcl", Triple::NVCL)
.Default(Triple::UnknownOS);
}