]> granicus.if.org Git - clang/commitdiff
[Hexagon] Move getHexagonTargetFeatures to Hexagon.cpp (NFC)
authorSumanth Gundapaneni <sgundapa@codeaurora.org>
Wed, 4 Oct 2017 19:09:29 +0000 (19:09 +0000)
committerSumanth Gundapaneni <sgundapa@codeaurora.org>
Wed, 4 Oct 2017 19:09:29 +0000 (19:09 +0000)
Differential Revision: https://reviews.llvm.org/D38548

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@314926 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/ToolChains/Clang.cpp
lib/Driver/ToolChains/Hexagon.cpp
lib/Driver/ToolChains/Hexagon.h

index 4e1bf51d64d2f6493f32e413205c9807b07cfbef..21937ef143dd852c9af94000ebfed07cd7e70c94 100644 (file)
@@ -273,21 +273,6 @@ static void ParseMRecip(const Driver &D, const ArgList &Args,
   OutStrings.push_back(Args.MakeArgString(Out));
 }
 
-static void getHexagonTargetFeatures(const ArgList &Args,
-                                     std::vector<StringRef> &Features) {
-  handleTargetFeaturesGroup(Args, Features,
-                            options::OPT_m_hexagon_Features_Group);
-
-  bool UseLongCalls = false;
-  if (Arg *A = Args.getLastArg(options::OPT_mlong_calls,
-                               options::OPT_mno_long_calls)) {
-    if (A->getOption().matches(options::OPT_mlong_calls))
-      UseLongCalls = true;
-  }
-
-  Features.push_back(UseLongCalls ? "+long-calls" : "-long-calls");
-}
-
 static void getWebAssemblyTargetFeatures(const ArgList &Args,
                                          std::vector<StringRef> &Features) {
   handleTargetFeaturesGroup(Args, Features, options::OPT_m_wasm_Features_Group);
@@ -349,7 +334,7 @@ static void getTargetFeatures(const ToolChain &TC, const llvm::Triple &Triple,
     x86::getX86TargetFeatures(D, Triple, Args, Features);
     break;
   case llvm::Triple::hexagon:
-    getHexagonTargetFeatures(Args, Features);
+    hexagon::getHexagonTargetFeatures(Args, Features);
     break;
   case llvm::Triple::wasm32:
   case llvm::Triple::wasm64:
index 4f62b1f61a0c2d40428d0fbbf89fc251cbdfcebc..a745f8be19ba889f480ebf52e8d6ca43fc6893c8 100644 (file)
@@ -27,6 +27,22 @@ using namespace clang::driver::toolchains;
 using namespace clang;
 using namespace llvm::opt;
 
+// Hexagon target features.
+void hexagon::getHexagonTargetFeatures(const ArgList &Args,
+                                       std::vector<StringRef> &Features) {
+  handleTargetFeaturesGroup(Args, Features,
+                            options::OPT_m_hexagon_Features_Group);
+
+  bool UseLongCalls = false;
+  if (Arg *A = Args.getLastArg(options::OPT_mlong_calls,
+                               options::OPT_mno_long_calls)) {
+    if (A->getOption().matches(options::OPT_mlong_calls))
+      UseLongCalls = true;
+  }
+
+  Features.push_back(UseLongCalls ? "+long-calls" : "-long-calls");
+}
+
 // Hexagon tools start.
 void hexagon::Assembler::RenderExtraToolArgs(const JobAction &JA,
                                              ArgStringList &CmdArgs) const {
index 7f9a6b2f34b92135211098986ac167a4a0cb8b96..d9ae88dc35712884a5109e8a0459a8206ccc8f87 100644 (file)
@@ -50,6 +50,10 @@ public:
                     const llvm::opt::ArgList &TCArgs,
                     const char *LinkingOutput) const override;
 };
+
+void getHexagonTargetFeatures(const llvm::opt::ArgList &Args,
+                              std::vector<StringRef> &Features);
+
 } // end namespace hexagon.
 } // end namespace tools