[PATCH] D19952: AMDGPU: Use lld as the linker again

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Wed May 4 19:15:38 PDT 2016


tstellarAMD created this revision.
tstellarAMD added reviewers: kzhuravl, arsenm.
tstellarAMD added a subscriber: llvm-commits.

Now that LLVM is emitting version 2 of the AMD code object, we can
start using lld again for linking instead of our custom tool.

http://reviews.llvm.org/D19952

Files:
  lib/Driver/Tools.cpp
  lib/Driver/Tools.h
  test/Driver/amdgpu-toolchain.c

Index: test/Driver/amdgpu-toolchain.c
===================================================================
--- test/Driver/amdgpu-toolchain.c
+++ test/Driver/amdgpu-toolchain.c
@@ -1,3 +1,3 @@
 // RUN: %clang -### -target amdgcn--amdhsa -x assembler -mcpu=kaveri %s 2>&1 | FileCheck -check-prefix=AS_LINK %s
 // AS_LINK: clang{{.*}} "-cc1as"
-// AS_LINK: amdphdrs{{.*}}
+// AS_LINK: ld.lld{{.*}} "-shared"
Index: lib/Driver/Tools.h
===================================================================
--- lib/Driver/Tools.h
+++ lib/Driver/Tools.h
@@ -242,7 +242,7 @@
 
 class LLVM_LIBRARY_VISIBILITY Linker : public GnuTool {
 public:
-  Linker(const ToolChain &TC) : GnuTool("amdgpu::Linker", "amdphdrs", TC) {}
+  Linker(const ToolChain &TC) : GnuTool("amdgpu::Linker", "ld.lld", TC) {}
   bool isLinkJob() const override { return true; }
   bool hasIntegratedCPP() const override { return false; }
   void ConstructJob(Compilation &C, const JobAction &JA,
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp
+++ lib/Driver/Tools.cpp
@@ -6776,6 +6776,8 @@
   std::string Linker = getToolChain().GetProgramPath(getShortName());
   ArgStringList CmdArgs;
   AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
+  CmdArgs.push_back("-shared");
+  CmdArgs.push_back("-o");
   CmdArgs.push_back(Output.getFilename());
   C.addCommand(llvm::make_unique<Command>(JA, *this, Args.MakeArgString(Linker),
                                           CmdArgs, Inputs));


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19952.56231.patch
Type: text/x-patch
Size: 1530 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160505/0d98162a/attachment.bin>


More information about the llvm-commits mailing list