From 56a837238da90361ecb0b04cc645b44e7c6dce09 Mon Sep 17 00:00:00 2001 From: Zijiao Ma Date: Wed, 17 Aug 2016 02:13:33 +0000 Subject: [PATCH] Some missing usage of TargetParser. NFC. llvm-svn: 278890 --- clang/lib/Basic/Targets.cpp | 4 ++-- clang/lib/Driver/Tools.cpp | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 0fecdceafffa..7dfa0a361dcc 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4901,7 +4901,7 @@ public: // the frontend matches that. if (Triple.getEnvironment() == llvm::Triple::EABI || Triple.getOS() == llvm::Triple::UnknownOS || - StringRef(CPU).startswith("cortex-m")) { + ArchProfile == llvm::ARM::PK_M) { setABI("aapcs"); } else if (Triple.isWatchABI()) { setABI("aapcs16"); @@ -5230,7 +5230,7 @@ public: if (SoftFloat) Builder.defineMacro("__SOFTFP__"); - if (CPU == "xscale") + if (ArchKind == llvm::ARM::AK_XSCALE) Builder.defineMacro("__XSCALE__"); if (isThumb()) { diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 4900e20c4843..12d5eabafa1e 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -7465,11 +7465,14 @@ llvm::Triple::ArchType darwin::getArchTypeForMachOArchName(StringRef Str) { void darwin::setTripleTypeForMachOArchName(llvm::Triple &T, StringRef Str) { const llvm::Triple::ArchType Arch = getArchTypeForMachOArchName(Str); + unsigned ArchKind = llvm::ARM::parseArch(Str); T.setArch(Arch); if (Str == "x86_64h") T.setArchName(Str); - else if (Str == "armv6m" || Str == "armv7m" || Str == "armv7em") { + else if (ArchKind == llvm::ARM::AK_ARMV6M || + ArchKind == llvm::ARM::AK_ARMV7M || + ArchKind == llvm::ARM::AK_ARMV7EM) { T.setOS(llvm::Triple::UnknownOS); T.setObjectFormat(llvm::Triple::MachO); }