summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorAlexandros Lamprineas <alexandros.lamprineas@arm.com>2015-07-28 09:08:03 +0000
committerAlexandros Lamprineas <alexandros.lamprineas@arm.com>2015-07-28 09:08:03 +0000
commite5b47640ee437b49313657aeee7f4e8c08bb0019 (patch)
treea4a3a8b7b9850469cd52c9092417fabbf51b17cb /clang/lib/Driver
parent424b201df7b3c86ba6981d6a46d22295494a52e3 (diff)
downloadbcm5719-llvm-e5b47640ee437b49313657aeee7f4e8c08bb0019.tar.gz
bcm5719-llvm-e5b47640ee437b49313657aeee7f4e8c08bb0019.zip
Use TargetParser to parse -mhwdiv command line option in Driver.
Change-Id: I2ebc40f77af75ec6b43ce8364d6d5a1d29988bd6 Phabricator: http://reviews.llvm.org/D11501 llvm-svn: 243398
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/Tools.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index b5b183e7847..dd281ad08f5 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -542,19 +542,8 @@ static void getARMArchCPUFromArgs(const ArgList &Args, llvm::StringRef &Arch,
static void getARMHWDivFeatures(const Driver &D, const Arg *A,
const ArgList &Args, StringRef HWDiv,
std::vector<const char *> &Features) {
- if (HWDiv == "arm") {
- Features.push_back("+hwdiv-arm");
- Features.push_back("-hwdiv");
- } else if (HWDiv == "thumb") {
- Features.push_back("-hwdiv-arm");
- Features.push_back("+hwdiv");
- } else if (HWDiv == "arm,thumb" || HWDiv == "thumb,arm") {
- Features.push_back("+hwdiv-arm");
- Features.push_back("+hwdiv");
- } else if (HWDiv == "none") {
- Features.push_back("-hwdiv-arm");
- Features.push_back("-hwdiv");
- } else
+ unsigned HWDivID = llvm::ARMTargetParser::parseHWDiv(HWDiv);
+ if (!llvm::ARMTargetParser::getHWDivFeatures(HWDivID, Features))
D.Diag(diag::err_drv_clang_unsupported) << A->getAsString(Args);
}
OpenPOWER on IntegriCloud