[llvm] r239631 - Add 'shave' processor name to Triple
Douglas Katzman
dougk at google.com
Fri Jun 12 11:31:38 PDT 2015
Author: dougk
Date: Fri Jun 12 13:31:38 2015
New Revision: 239631
URL: http://llvm.org/viewvc/llvm-project?rev=239631&view=rev
Log:
Add 'shave' processor name to Triple
Based on ArchType, Clang's driver can select a non-Clang compiler.
String parsing in Clang would have sufficed if it were only that,
however this change anticipates true llvm support.
Differential Revision: http://reviews.llvm.org/D10413
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=239631&r1=239630&r2=239631&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/Triple.h (original)
+++ llvm/trunk/include/llvm/ADT/Triple.h Fri Jun 12 13:31:38 2015
@@ -84,7 +84,8 @@ public:
spir, // SPIR: standard portable IR for OpenCL 32-bit version
spir64, // SPIR: standard portable IR for OpenCL 64-bit version
kalimba, // Kalimba: generic kalimba
- LastArchType = kalimba
+ shave, // SHAVE: Movidius vector VLIW processors
+ LastArchType = shave
};
enum SubArchType {
NoSubArch,
Modified: llvm/trunk/lib/Support/Triple.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=239631&r1=239630&r2=239631&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Triple.cpp (original)
+++ llvm/trunk/lib/Support/Triple.cpp Fri Jun 12 13:31:38 2015
@@ -59,6 +59,7 @@ const char *Triple::getArchTypeName(Arch
case spir: return "spir";
case spir64: return "spir64";
case kalimba: return "kalimba";
+ case shave: return "shave";
}
llvm_unreachable("Invalid ArchType!");
@@ -120,6 +121,7 @@ const char *Triple::getArchTypePrefix(Ar
case spir:
case spir64: return "spir";
case kalimba: return "kalimba";
+ case shave: return "shave";
}
}
@@ -252,6 +254,7 @@ Triple::ArchType Triple::getArchTypeForL
.Case("spir", spir)
.Case("spir64", spir64)
.Case("kalimba", kalimba)
+ .Case("shave", shave)
.Default(UnknownArch);
}
@@ -356,6 +359,7 @@ static Triple::ArchType parseArch(String
.Case("spir", Triple::spir)
.Case("spir64", Triple::spir64)
.StartsWith("kalimba", Triple::kalimba)
+ .Case("shave", Triple::shave)
.Default(Triple::UnknownArch);
}
@@ -1004,6 +1008,7 @@ static unsigned getArchPointerBitWidth(l
case llvm::Triple::hsail:
case llvm::Triple::spir:
case llvm::Triple::kalimba:
+ case llvm::Triple::shave:
return 32;
case llvm::Triple::aarch64:
@@ -1075,6 +1080,7 @@ Triple Triple::get32BitArchVariant() con
case Triple::thumbeb:
case Triple::x86:
case Triple::xcore:
+ case Triple::shave:
// Already 32-bit.
break;
@@ -1107,6 +1113,7 @@ Triple Triple::get64BitArchVariant() con
case Triple::thumbeb:
case Triple::xcore:
case Triple::sparcel:
+ case Triple::shave:
T.setArch(UnknownArch);
break;
More information about the llvm-commits
mailing list