Index: include/llvm/ADT/Triple.h =================================================================== --- include/llvm/ADT/Triple.h +++ include/llvm/ADT/Triple.h @@ -157,6 +157,7 @@ MSVC, Itanium, Cygnus, + AMDOpenCL }; enum ObjectFormatType { UnknownObjectFormat, Index: lib/Support/Triple.cpp =================================================================== --- lib/Support/Triple.cpp +++ lib/Support/Triple.cpp @@ -179,6 +179,7 @@ case MSVC: return "msvc"; case Itanium: return "itanium"; case Cygnus: return "cygnus"; + case AMDOpenCL: return "amdopencl"; } llvm_unreachable("Invalid EnvironmentType!"); @@ -378,6 +379,7 @@ .StartsWith("msvc", Triple::MSVC) .StartsWith("itanium", Triple::Itanium) .StartsWith("cygnus", Triple::Cygnus) + .StartsWith("amdopencl", Triple::AMDOpenCL) .Default(Triple::UnknownEnvironment); } Index: unittests/ADT/TripleTest.cpp =================================================================== --- unittests/ADT/TripleTest.cpp +++ unittests/ADT/TripleTest.cpp @@ -319,6 +319,8 @@ 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) {