From f6d8481adad4b763a380186ea62637df2d480c99 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 11 May 2010 20:46:04 +0000 Subject: [PATCH] Simplify this logic of creating a default Features object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103507 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SubtargetFeature.cpp | 34 ++++++++------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/lib/Target/SubtargetFeature.cpp b/lib/Target/SubtargetFeature.cpp index 113cd5b7b3e..b35190a369e 100644 --- a/lib/Target/SubtargetFeature.cpp +++ b/lib/Target/SubtargetFeature.cpp @@ -370,32 +370,14 @@ void SubtargetFeatures::getDefaultSubtargetFeatures(const std::string &CPU, const Triple& Triple) { setCPU(CPU); - const char *Attrs = 0; - - switch (Triple.getVendor()) { - case Triple::Apple: - switch (Triple.getArch()) { - case Triple::ppc: // powerpc-apple-* - Attrs = "altivec"; - break; - case Triple::ppc64: // powerpc64-apple-* - Attrs = "64bit,altivec"; - break; - default: - break; + if (Triple.getVendor() == Triple::Apple) { + if (Triple.getArch() == Triple::ppc) { + // powerpc-apple-* + AddFeature("altivec"); + } else if (Triple.getArch() == Triple::ppc64) { + // powerpc64-apple-* + AddFeature("64bit"); + AddFeature("altivec"); } - break; - default: - break; - } - - if (!Attrs) return; - - StringRef SR(Attrs); - - while (!SR.empty()) { - std::pair Res = SR.split(','); - AddFeature(Res.first); - SR = Res.second; } }