summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2015-07-30 08:16:51 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2015-07-30 08:16:51 +0000
commitf1ffbe7bb3bf280f86a5a7bd5a74717a563bdcee (patch)
treee57dd3373f487fdf4488a4b4a93194332c0d3582
parent98a857140bf8d7e55536b633b4072428bb254dee (diff)
downloadbcm5719-llvm-f1ffbe7bb3bf280f86a5a7bd5a74717a563bdcee.tar.gz
bcm5719-llvm-f1ffbe7bb3bf280f86a5a7bd5a74717a563bdcee.zip
Add amdopencl environment to triple
This is used by the AMD x86 OpenCL implementation to change some ABI details on Windows and Linux. llvm-svn: 243627
-rw-r--r--llvm/include/llvm/ADT/Triple.h3
-rw-r--r--llvm/lib/Support/Triple.cpp2
-rw-r--r--llvm/unittests/ADT/TripleTest.cpp2
3 files changed, 6 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
index 947812d94ec..4ad9396066a 100644
--- a/llvm/include/llvm/ADT/Triple.h
+++ b/llvm/include/llvm/ADT/Triple.h
@@ -170,7 +170,8 @@ public:
MSVC,
Itanium,
Cygnus,
- LastEnvironmentType = Cygnus
+ AMDOpenCL,
+ LastEnvironmentType = AMDOpenCL
};
enum ObjectFormatType {
UnknownObjectFormat,
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
index c6646fb101b..f1b009e19e1 100644
--- a/llvm/lib/Support/Triple.cpp
+++ b/llvm/lib/Support/Triple.cpp
@@ -196,6 +196,7 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
case MSVC: return "msvc";
case Itanium: return "itanium";
case Cygnus: return "cygnus";
+ case AMDOpenCL: return "amdopencl";
}
llvm_unreachable("Invalid EnvironmentType!");
@@ -430,6 +431,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("msvc", Triple::MSVC)
.StartsWith("itanium", Triple::Itanium)
.StartsWith("cygnus", Triple::Cygnus)
+ .StartsWith("amdopencl", Triple::AMDOpenCL)
.Default(Triple::UnknownEnvironment);
}
diff --git a/llvm/unittests/ADT/TripleTest.cpp b/llvm/unittests/ADT/TripleTest.cpp
index 2b1e871b94c..ead430bdc48 100644
--- a/llvm/unittests/ADT/TripleTest.cpp
+++ b/llvm/unittests/ADT/TripleTest.cpp
@@ -354,6 +354,8 @@ TEST(TripleTest, MutateName) {
EXPECT_EQ(Triple::Darwin, T.getOS());
EXPECT_EQ("i386-pc-darwin", T.getTriple());
+ T.setEnvironmentName("amdopencl");
+ EXPECT_EQ(Triple::AMDOpenCL, T.getEnvironment());
}
TEST(TripleTest, BitWidthPredicates) {
OpenPOWER on IntegriCloud