Add the triple for the Sony Playstation®4.

Lots more to follow.

llvm-svn: 227060
This commit is contained in:
Alex Rosenberg 2015-01-25 22:46:59 +00:00
parent efdbf4c0b7
commit 38babd1eeb
2 changed files with 17 additions and 1 deletions

View File

@ -141,7 +141,8 @@ public:
AIX,
CUDA, // NVIDIA CUDA
NVCL, // NVIDIA OpenCL
AMDHSA // AMD HSA Runtime
AMDHSA, // AMD HSA Runtime
PS4
};
enum EnvironmentType {
UnknownEnvironment,
@ -455,6 +456,19 @@ public:
return getObjectFormat() == Triple::MachO;
}
/// \brief Tests whether the target is the PS4 CPU
bool isPS4CPU() const {
return getArch() == Triple::x86_64 &&
getVendor() == Triple::SCEI &&
getOS() == Triple::PS4;
}
/// \brief Tests whether the target is the PS4 platform
bool isPS4() const {
return getVendor() == Triple::SCEI &&
getOS() == Triple::PS4;
}
/// @}
/// @name Mutators
/// @{

View File

@ -163,6 +163,7 @@ const char *Triple::getOSTypeName(OSType Kind) {
case CUDA: return "cuda";
case NVCL: return "nvcl";
case AMDHSA: return "amdhsa";
case PS4: return "ps4";
}
llvm_unreachable("Invalid OSType");
@ -356,6 +357,7 @@ static Triple::OSType parseOS(StringRef OSName) {
.StartsWith("cuda", Triple::CUDA)
.StartsWith("nvcl", Triple::NVCL)
.StartsWith("amdhsa", Triple::AMDHSA)
.StartsWith("ps4", Triple::PS4)
.Default(Triple::UnknownOS);
}