[llvm] r225276 - Triple: Add amdgcn triple

Tom Stellard thomas.stellard at amd.com
Tue Jan 6 10:00:00 PST 2015


Author: tstellar
Date: Tue Jan  6 12:00:00 2015
New Revision: 225276

URL: http://llvm.org/viewvc/llvm-project?rev=225276&view=rev
Log:
Triple: Add amdgcn triple

This will be used for AMD GPUs with the Graphics Core Next architecture,
which are currently using by the r600 triple.

Modified:
    llvm/trunk/include/llvm/ADT/Triple.h
    llvm/trunk/lib/Support/Triple.cpp

Modified: llvm/trunk/include/llvm/ADT/Triple.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=225276&r1=225275&r2=225276&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/Triple.h (original)
+++ llvm/trunk/include/llvm/ADT/Triple.h Tue Jan  6 12:00:00 2015
@@ -60,6 +60,7 @@ public:
     ppc64,      // PPC64: powerpc64, ppu
     ppc64le,    // PPC64LE: powerpc64le
     r600,       // R600: AMD GPUs HD2XXX - HD6XXX
+    amdgcn,     // AMDGCN: AMD GCN GPUs
     sparc,      // Sparc: sparc
     sparcv9,    // Sparcv9: Sparcv9
     systemz,    // SystemZ: s390x

Modified: llvm/trunk/lib/Support/Triple.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=225276&r1=225275&r2=225276&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Triple.cpp (original)
+++ llvm/trunk/lib/Support/Triple.cpp Tue Jan  6 12:00:00 2015
@@ -33,6 +33,7 @@ const char *Triple::getArchTypeName(Arch
   case ppc64le:     return "powerpc64le";
   case ppc:         return "powerpc";
   case r600:        return "r600";
+  case amdgcn:      return "amdgcn";
   case sparc:       return "sparc";
   case sparcv9:     return "sparcv9";
   case systemz:     return "s390x";
@@ -82,7 +83,8 @@ const char *Triple::getArchTypePrefix(Ar
 
   case hexagon:     return "hexagon";
 
-  case r600:        return "r600";
+  case amdgcn:
+  case r600:        return "amdgpu";
 
   case sparcv9:
   case sparc:       return "sparc";
@@ -199,6 +201,7 @@ Triple::ArchType Triple::getArchTypeForL
     .Case("ppc", ppc)
     .Case("ppc64le", ppc64le)
     .Case("r600", r600)
+    .Case("amdgcn", amdgcn)
     .Case("hexagon", hexagon)
     .Case("sparc", sparc)
     .Case("sparcv9", sparcv9)
@@ -286,6 +289,7 @@ static Triple::ArchType parseArch(String
     .Cases("mips64", "mips64eb", Triple::mips64)
     .Case("mips64el", Triple::mips64el)
     .Case("r600", Triple::r600)
+    .Case("amdgcn", Triple::amdgcn)
     .Case("hexagon", Triple::hexagon)
     .Case("s390x", Triple::systemz)
     .Case("sparc", Triple::sparc)
@@ -864,6 +868,7 @@ static unsigned getArchPointerBitWidth(l
 
   case llvm::Triple::aarch64:
   case llvm::Triple::aarch64_be:
+  case llvm::Triple::amdgcn:
   case llvm::Triple::le64:
   case llvm::Triple::mips64:
   case llvm::Triple::mips64el:
@@ -899,6 +904,7 @@ Triple Triple::get32BitArchVariant() con
   case Triple::UnknownArch:
   case Triple::aarch64:
   case Triple::aarch64_be:
+  case Triple::amdgcn:
   case Triple::msp430:
   case Triple::systemz:
   case Triple::ppc64le:
@@ -962,6 +968,7 @@ Triple Triple::get64BitArchVariant() con
   case Triple::aarch64_be:
   case Triple::le64:
   case Triple::amdil64:
+  case Triple::amdgcn:
   case Triple::hsail64:
   case Triple::spir64:
   case Triple::mips64:





More information about the llvm-commits mailing list