[PATCH] D26345: Extend small data threshold driver options to PPC target

Jack Andersen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 27 11:36:06 PST 2017


jackoalan updated this revision to Diff 86088.
jackoalan added a comment.
Herald added a subscriber: nemanjai.

Remove already-aliased option matchings; add test case for patch.


https://reviews.llvm.org/D26345

Files:
  lib/Driver/Tools.cpp
  test/Driver/ppc-eabi-small-data.c


Index: test/Driver/ppc-eabi-small-data.c
===================================================================
--- /dev/null
+++ test/Driver/ppc-eabi-small-data.c
@@ -0,0 +1,9 @@
+// Check passing PowerPC EABI small-data threshold to the backend.
+
+// RUN: %clang -target powerpc-unknown-unknown-eabi -G 0 %s -### -o %t.o 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK-SDATA0 %s
+// RUN: %clang -target powerpc-unknown-unknown-eabi -G 8 %s -### -o %t.o 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK-SDATA8 %s
+
+// CHECK-SDATA0: "-mllvm" "-ppc-ssection-threshold=0"
+// CHECK-SDATA8: "-mllvm" "-ppc-ssection-threshold=8"
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp
+++ lib/Driver/Tools.cpp
@@ -1887,6 +1887,13 @@
     CmdArgs.push_back("-target-abi");
     CmdArgs.push_back(ABIName);
   }
+
+  if (Arg *A = Args.getLastArg(options::OPT_G)) {
+    StringRef v = A->getValue();
+    CmdArgs.push_back("-mllvm");
+    CmdArgs.push_back(Args.MakeArgString("-ppc-ssection-threshold=" + v));
+    A->claim();
+  }
 }
 
 bool ppc::hasPPCAbiArg(const ArgList &Args, const char *Value) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26345.86088.patch
Type: text/x-patch
Size: 1163 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170127/820e81ab/attachment.bin>


More information about the cfe-commits mailing list