This patch adds support of le32 pseudo-cpu that stands for generic
authorIvan Krasin <krasin@chromium.org>
Tue, 23 Aug 2011 16:59:00 +0000 (16:59 +0000)
committerIvan Krasin <krasin@chromium.org>
Tue, 23 Aug 2011 16:59:00 +0000 (16:59 +0000)
32-bit little-endian CPU. Used by PNaCl and Emscripten.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138335 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/Triple.h
lib/Support/Triple.cpp

index 86817e93c0ca59bb7f9f60e61c0a7b55fffaafc6..22d68a11d79a909e611b0dbfc8be93c33a93b01e 100644 (file)
@@ -63,6 +63,7 @@ public:
     mblaze,  // MBlaze: mblaze
     ptx32,   // PTX: ptx (32-bit)
     ptx64,   // PTX: ptx (64-bit)
+    le32,    // le32: generic little-endian 32-bit CPU (PNaCl / Emscripten)
 
     InvalidArch
   };
index ccb1a249761c645135db2dfcc60548e52c74a3c4..af934ae3fa264d024d82d6b2158680477f98b1d5 100644 (file)
@@ -38,6 +38,7 @@ const char *Triple::getArchTypeName(ArchType Kind) {
   case mblaze:  return "mblaze";
   case ptx32:   return "ptx32";
   case ptx64:   return "ptx64";
+  case le32:    return "le32";
   }
 
   return "<invalid>";
@@ -72,6 +73,8 @@ const char *Triple::getArchTypePrefix(ArchType Kind) {
 
   case ptx32:   return "ptx";
   case ptx64:   return "ptx";
+
+  case le32:    return "le32";
   }
 }
 
@@ -171,6 +174,8 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) {
     return ptx32;
   if (Name == "ptx64")
     return ptx64;
+  if (Name == "le32")
+    return le32;
 
   return UnknownArch;
 }
@@ -249,6 +254,8 @@ const char *Triple::getArchNameForAssembler() {
     return "ptx32";
   if (Str == "ptx64")
     return "ptx64";
+  if (Str == "le32")
+    return "le32";
   return NULL;
 }
 
@@ -302,6 +309,8 @@ Triple::ArchType Triple::ParseArch(StringRef ArchName) {
     return ptx32;
   else if (ArchName == "ptx64")
     return ptx64;
+  else if (ArchName == "le32")
+    return le32;
   else
     return UnknownArch;
 }