Add clang support for cortex-m0 cpus. Patch by James Orr.

llvm-svn: 128018
This commit is contained in:
Bob Wilson 2011-03-21 20:40:05 +00:00
parent d39242369a
commit d9249414b3
3 changed files with 12 additions and 1 deletions

View 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 "";
}

View 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")

View 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";