summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorBernard Ogden <bogden@arm.com>2013-10-29 09:47:51 +0000
committerBernard Ogden <bogden@arm.com>2013-10-29 09:47:51 +0000
commit18b5701a6853f6b4a5b3a05ba5c79105a805b61b (patch)
treec574929b1a37e96e04213e2977c478c65f0b0761 /clang/lib/Driver/Tools.cpp
parentee87e85505bb2b9b5057187785e82715ecbf71f2 (diff)
downloadbcm5719-llvm-18b5701a6853f6b4a5b3a05ba5c79105a805b61b.tar.gz
bcm5719-llvm-18b5701a6853f6b4a5b3a05ba5c79105a805b61b.zip
ARM: Add -m[no-]crc to dis/enable CRC subtargetfeature from clang
Allow users to disable or enable CRC subtarget feature. Differential Revision: http://llvm-reviews.chandlerc.com/D2037 llvm-svn: 193600
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 397f641f1b6..ffaac21b4ed 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -773,6 +773,15 @@ static void getARMTargetFeatures(const Driver &D, const llvm::Triple &Triple,
// implementation, although the same isn't true of VFP or VFP3.
if (FloatABI == "soft")
Features.push_back("-neon");
+
+ // En/disable crc
+ if (Arg *A = Args.getLastArg(options::OPT_mcrc,
+ options::OPT_mnocrc)) {
+ if (A->getOption().matches(options::OPT_mcrc))
+ Features.push_back("+crc");
+ else
+ Features.push_back("-crc");
+ }
}
void Clang::AddARMTargetArgs(const ArgList &Args,
OpenPOWER on IntegriCloud