]> granicus.if.org Git - clang/commitdiff
Add clang support for cortex-m0 cpus. Patch by James Orr.
authorBob Wilson <bob.wilson@apple.com>
Mon, 21 Mar 2011 20:40:05 +0000 (20:40 +0000)
committerBob Wilson <bob.wilson@apple.com>
Mon, 21 Mar 2011 20:40:05 +0000 (20:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128018 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChain.cpp
lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp

index e305683930cf9f4fd11a3dd57f90deb4b9055f6f..06998a5edebd7d0a3623bbe2f4a4e88d857f6767 100644 (file)
@@ -101,6 +101,8 @@ static const char *getARMTargetCPU(const ArgList &Args,
     return "iwmmxt";
   if (MArch == "xscale")
     return "xscale";
+  if (MArch == "armv6m" || MArch == "armv6-m")
+    return "cortex-m0";
 
   // If all else failed, return the most base CPU LLVM supports.
   return "arm7tdmi";
@@ -137,6 +139,12 @@ static const char *getLLVMArchSuffixForARM(llvm::StringRef CPU) {
   if (CPU == "cortex-a8" || CPU == "cortex-a9")
     return "v7";
 
+  if (CPU == "cortex-m3")
+    return "v7m";
+
+  if (CPU == "cortex-m0")
+    return "v6m";
+
   return "";
 }
 
index d4691ac86ef48154d1eeae334c57d9e15c2aef28..6127d45fa3a4713dd382e1b2c94bda0eba73a8d3 100644 (file)
@@ -101,7 +101,8 @@ static const char *GetArmArchForMCpu(llvm::StringRef Value) {
     return "xscale";
 
   if (Value == "arm1136j-s" || Value == "arm1136jf-s" ||
-      Value == "arm1176jz-s" || Value == "arm1176jzf-s")
+      Value == "arm1176jz-s" || Value == "arm1176jzf-s" ||
+      Value == "cortex-m0" )
     return "armv6";
 
   if (Value == "cortex-a8" || Value == "cortex-r4" || Value == "cortex-m3")
index 5a4b7e29ba2a2a1e13a9b00390bf8420f1891ddd..6bfe82a8a630d24b16bbd123e02a575ebb138d0b 100644 (file)
@@ -374,6 +374,8 @@ static const char *getARMTargetCPU(const ArgList &Args,
     return "iwmmxt";
   if (MArch == "xscale")
     return "xscale";
+  if (MArch == "armv6m" || MArch == "armv6-m")
+    return "cortex-m0";
 
   // If all else failed, return the most base CPU LLVM supports.
   return "arm7tdmi";