diff options
| author | Renato Golin <renato.golin@linaro.org> | 2015-05-22 18:18:25 +0000 |
|---|---|---|
| committer | Renato Golin <renato.golin@linaro.org> | 2015-05-22 18:18:25 +0000 |
| commit | f6c154d53269be701e863b2b810daec75b48b76b (patch) | |
| tree | d95166de7cc237c94a9c2aa465fcebab272e2bde /clang/lib/Driver | |
| parent | fadc210817bb197c249758880814abf57dda9937 (diff) | |
| download | bcm5719-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.cpp | 37 |
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 |

