Add llvm::Triple::getArchTypePrefix for getting the intrinsic prefix for an

identifier architecture.

llvm-svn: 79906
This commit is contained in:
Daniel Dunbar 2009-08-24 09:53:06 +00:00
parent 8100d01ecf
commit b8dc4ea2c4
2 changed files with 33 additions and 0 deletions

View File

@ -238,6 +238,14 @@ public:
/// architecture.
static const char *getArchTypeName(ArchType Kind);
/// getArchTypePrefix - Get the "prefix" canonical name for the \arg Kind
/// architecture. This is the prefix used by the architecture specific
/// builtins, and is suitable for passing to \see
/// Intrinsic::getIntrinsicForGCCBuiltin().
///
/// \return - The architecture prefix, or 0 if none is defined.
static const char *getArchTypePrefix(ArchType Kind);
/// getVendorTypeName - Get the canonical name for the \arg Kind
/// vendor.
static const char *getVendorTypeName(VendorType Kind);

View File

@ -43,6 +43,31 @@ const char *Triple::getArchTypeName(ArchType Kind) {
return "<invalid>";
}
const char *Triple::getArchTypePrefix(ArchType Kind) {
switch (Kind) {
default:
return 0;
case alpha: return "alpha";
case arm:
case thumb: return "arm";
case bfin: return "bfin";
case cellspu: return "spu";
case ppc64:
case ppc: return "ppc";
case sparc: return "sparc";
case x86:
case x86_64: return "x86";
case xcore: return "xcore";
}
}
const char *Triple::getVendorTypeName(VendorType Kind) {
switch (Kind) {
case UnknownVendor: return "unknown";