summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-08-30 13:57:50 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-08-30 13:57:50 +0000
commit1f26912e4ca64c15790487d69156038cd77bd4e4 (patch)
tree5de920687531d8b9bc469553fd51ea5e0d665edf /clang/lib/Driver/Tools.cpp
parent5c95ee4dd87f34b4564e6eada2e8e4b70834db68 (diff)
downloadbcm5719-llvm-1f26912e4ca64c15790487d69156038cd77bd4e4.tar.gz
bcm5719-llvm-1f26912e4ca64c15790487d69156038cd77bd4e4.zip
Handle -mlong-calls on Hexagon
Differential Revision:://reviews.llvm.org/D22766 llvm-svn: 280089
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index da578ddfddf..0d04e45f36b 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2484,7 +2484,7 @@ static void getAArch64TargetFeatures(const Driver &D, const ArgList &Args,
static void getHexagonTargetFeatures(const ArgList &Args,
std::vector<const char *> &Features) {
- bool HasHVX = false, HasHVXD = false;
+ bool HasHVX = false, HasHVXD = false, UseLongCalls = false;
// FIXME: This should be able to use handleTargetFeaturesGroup except it is
// doing dependent option handling here rather than in initFeatureMap or a
@@ -2499,6 +2499,10 @@ static void getHexagonTargetFeatures(const ArgList &Args,
HasHVXD = HasHVX = true;
else if (Opt.matches(options::OPT_mno_hexagon_hvx_double))
HasHVXD = false;
+ else if (Opt.matches(options::OPT_mlong_calls))
+ UseLongCalls = true;
+ else if (Opt.matches(options::OPT_mno_long_calls))
+ UseLongCalls = false;
else
continue;
A->claim();
@@ -2506,6 +2510,7 @@ static void getHexagonTargetFeatures(const ArgList &Args,
Features.push_back(HasHVX ? "+hvx" : "-hvx");
Features.push_back(HasHVXD ? "+hvx-double" : "-hvx-double");
+ Features.push_back(UseLongCalls ? "+long-calls" : "-long-calls");
}
static void getWebAssemblyTargetFeatures(const ArgList &Args,
OpenPOWER on IntegriCloud