summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2015-05-22 18:18:25 +0000
committerRenato Golin <renato.golin@linaro.org>2015-05-22 18:18:25 +0000
commitf6c154d53269be701e863b2b810daec75b48b76b (patch)
treed95166de7cc237c94a9c2aa465fcebab272e2bde /clang/lib/Driver
parentfadc210817bb197c249758880814abf57dda9937 (diff)
downloadbcm5719-llvm-f6c154d53269be701e863b2b810daec75b48b76b.tar.gz
bcm5719-llvm-f6c154d53269be701e863b2b810daec75b48b76b.zip
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
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/Tools.cpp37
1 files changed, 5 insertions, 32 deletions
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
OpenPOWER on IntegriCloud