From f6c154d53269be701e863b2b810daec75b48b76b Mon Sep 17 00:00:00 2001 From: Renato Golin Date: Fri, 22 May 2015 18:18:25 +0000 Subject: Use profile and version parsers from ARMTargetParser Now that ARMTargetParser can parse profile and version numbers, use them instead of the local implementation. llvm-svn: 238037 --- clang/lib/Driver/Tools.cpp | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) (limited to 'clang/lib/Driver') diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index beb6a34c904..261af720d36 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -617,42 +617,15 @@ static void getARMFPUFeatures(const Driver &D, const Arg *A, } } -// FIXME: Move to ARMTargetParser. static int getARMSubArchVersionNumber(const llvm::Triple &Triple) { - switch (Triple.getSubArch()) { - case llvm::Triple::ARMSubArch_v8_1a: - case llvm::Triple::ARMSubArch_v8: - return 8; - case llvm::Triple::ARMSubArch_v7: - case llvm::Triple::ARMSubArch_v7em: - case llvm::Triple::ARMSubArch_v7m: - case llvm::Triple::ARMSubArch_v7s: - return 7; - case llvm::Triple::ARMSubArch_v6: - case llvm::Triple::ARMSubArch_v6m: - case llvm::Triple::ARMSubArch_v6k: - case llvm::Triple::ARMSubArch_v6t2: - return 6; - case llvm::Triple::ARMSubArch_v5: - case llvm::Triple::ARMSubArch_v5te: - return 5; - case llvm::Triple::ARMSubArch_v4t: - return 4; - default: - return 0; - } + llvm::StringRef Arch = Triple.getArchName(); + return llvm::ARMTargetParser::parseArchVersion(Arch); } -// FIXME: Move to ARMTargetParser. static bool isARMMProfile(const llvm::Triple &Triple) { - switch (Triple.getSubArch()) { - case llvm::Triple::ARMSubArch_v7em: - case llvm::Triple::ARMSubArch_v7m: - case llvm::Triple::ARMSubArch_v6m: - return true; - default: - return false; - } + llvm::StringRef Arch = Triple.getArchName(); + unsigned Profile = llvm::ARMTargetParser::parseArchProfile(Arch); + return Profile == llvm::ARM::PK_M; } // Select the float ABI as determined by -msoft-float, -mhard-float, and -- cgit v1.2.3