[llvm-branch-commits] [cfe-tag] r201644 - Add driver hack to substitute armv7s for arm64 (for static analyzer support).

Ted Kremenek kremenek at apple.com
Tue Feb 18 21:51:28 PST 2014


Author: kremenek
Date: Tue Feb 18 23:51:28 2014
New Revision: 201644

URL: http://llvm.org/viewvc/llvm-project?rev=201644&view=rev
Log:
Add driver hack to substitute armv7s for arm64 (for static analyzer support).

Modified:
    cfe/tags/checker/checker-276/lib/Driver/ToolChains.cpp
    cfe/tags/checker/checker-276/lib/Driver/Tools.cpp

Modified: cfe/tags/checker/checker-276/lib/Driver/ToolChains.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/tags/checker/checker-276/lib/Driver/ToolChains.cpp?rev=201644&r1=201643&r2=201644&view=diff
==============================================================================
--- cfe/tags/checker/checker-276/lib/Driver/ToolChains.cpp (original)
+++ cfe/tags/checker/checker-276/lib/Driver/ToolChains.cpp Tue Feb 18 23:51:28 2014
@@ -118,6 +118,7 @@ static const char *GetArmArchForMArch(St
     .Cases("armv7k", "armv7-k", "armv7k")
     .Cases("armv7m", "armv7-m", "armv7m")
     .Cases("armv7s", "armv7-s", "armv7s")
+    .Cases("arm64", "armv7-s", "armv7s")
     .Default(0);
 }
 
@@ -485,7 +486,8 @@ void Darwin::AddDeploymentTarget(Derived
     // go ahead as assume we're targeting iOS.
     StringRef MachOArchName = getMachOArchName(Args);
     if (OSXTarget.empty() && iOSTarget.empty() &&
-        (MachOArchName == "armv7" || MachOArchName == "armv7s"))
+        (MachOArchName == "armv7" || MachOArchName == "armv7s" || 
+         MachOArchName == "arm64"))
         iOSTarget = iOSVersionMin;
 
     // Handle conflicting deployment targets
@@ -865,6 +867,8 @@ DerivedArgList *MachO::TranslateArgs(con
       DAL->AddJoinedArg(0, MArch, "armv7m");
     else if (Name == "armv7s")
       DAL->AddJoinedArg(0, MArch, "armv7s");
+    else if (Name == "arm64")
+      DAL->AddJoinedArg(0, MArch, "armv7s");
 
   }
 

Modified: cfe/tags/checker/checker-276/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/tags/checker/checker-276/lib/Driver/Tools.cpp?rev=201644&r1=201643&r2=201644&view=diff
==============================================================================
--- cfe/tags/checker/checker-276/lib/Driver/Tools.cpp (original)
+++ cfe/tags/checker/checker-276/lib/Driver/Tools.cpp Tue Feb 18 23:51:28 2014
@@ -4676,6 +4676,9 @@ const char *arm::getARMCPUForMArch(const
     if (MArch == "armv6")
       return "arm1176jzf-s";
   }
+  
+  if (MArch == "arm64")
+    MArch = "armv7s";
 
   const char *result = llvm::StringSwitch<const char *>(MArch)
     .Cases("armv2", "armv2a","arm2")
@@ -4805,6 +4808,7 @@ llvm::Triple::ArchType darwin::getArchTy
     .Cases("arm", "armv4t", "armv5", "armv6", "armv6m", llvm::Triple::arm)
     .Cases("armv7", "armv7em", "armv7k", "armv7m", llvm::Triple::arm)
     .Cases("armv7s", "xscale", llvm::Triple::arm)
+    .Case("arm64", llvm::Triple::arm)
     .Case("r600", llvm::Triple::r600)
     .Case("nvptx", llvm::Triple::nvptx)
     .Case("nvptx64", llvm::Triple::nvptx64)





More information about the llvm-branch-commits mailing list