diff options
author | Bob Wilson <bob.wilson@apple.com> | 2012-09-29 23:52:50 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2012-09-29 23:52:50 +0000 |
commit | d7cf104dae396f63d5eb774723eead91ceb4b427 (patch) | |
tree | 7002082c194fcc8951082642fe6e7e400cc5a457 /clang/lib/Driver/ToolChain.cpp | |
parent | 39d8a132dfc6132f701f0b298e3f2cd026ab75e9 (diff) | |
download | bcm5719-llvm-d7cf104dae396f63d5eb774723eead91ceb4b427.tar.gz bcm5719-llvm-d7cf104dae396f63d5eb774723eead91ceb4b427.zip |
Add armv7s and some other arm variants supported by Mach-O files.
llvm-svn: 164905
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 913c5e00f58..3d0dc6216cb 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -95,6 +95,8 @@ static const char *getARMTargetCPU(const ArgList &Args, .Cases("armv6z", "armv6zk", "arm1176jzf-s") .Case("armv6t2", "arm1156t2-s") .Cases("armv7", "armv7a", "armv7-a", "cortex-a8") + .Cases("armv7f", "armv7-f", "cortex-a9-mp") + .Cases("armv7s", "armv7-s", "swift") .Cases("armv7r", "armv7-r", "cortex-r4") .Cases("armv7m", "armv7-m", "cortex-m3") .Case("ep9312", "ep9312") @@ -127,6 +129,8 @@ static const char *getLLVMArchSuffixForARM(StringRef CPU) { .Case("cortex-m3", "v7m") .Case("cortex-m4", "v7m") .Case("cortex-m0", "v6m") + .Case("cortex-a9-mp", "v7f") + .Case("swift", "v7s") .Default(""); } @@ -146,7 +150,7 @@ std::string ToolChain::ComputeLLVMTriple(const ArgList &Args, // FIXME: Thumb should just be another -target-feaure, not in the triple. StringRef Suffix = getLLVMArchSuffixForARM(getARMTargetCPU(Args, Triple)); - bool ThumbDefault = (Suffix == "v7" && getTriple().isOSDarwin()); + bool ThumbDefault = (Suffix.startswith("v7") && getTriple().isOSDarwin()); std::string ArchName = "arm"; // Assembly files should start in ARM mode. |