diff options
author | Yaxun Liu <Yaxun.Liu@amd.com> | 2018-05-18 15:07:56 +0000 |
---|---|---|
committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2018-05-18 15:07:56 +0000 |
commit | 29155b01c13d6ee67af9a8a6fd3b0c3b444ed306 (patch) | |
tree | a8af55686b5866c54471979afe280704f480ee76 /clang/lib/Driver/ToolChains/Gnu.cpp | |
parent | 655ef1875b92266c8ad81bf2b28ad92350894ca9 (diff) | |
download | bcm5719-llvm-29155b01c13d6ee67af9a8a6fd3b0c3b444ed306.tar.gz bcm5719-llvm-29155b01c13d6ee67af9a8a6fd3b0c3b444ed306.zip |
[HIP] Support offloading by linker script
To support linking device code in different source files, it is necessary to
embed fat binary at host linking stage.
This patch emits an external symbol for fat binary in host codegen, then
embed the fat binary by lld through a linker script.
Differential Revision: https://reviews.llvm.org/D46472
llvm-svn: 332724
Diffstat (limited to 'clang/lib/Driver/ToolChains/Gnu.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/Gnu.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 56c2a97dc4c..cc925c70276 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -535,6 +535,10 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, // Add OpenMP offloading linker script args if required. AddOpenMPLinkerScript(getToolChain(), C, Output, Inputs, Args, CmdArgs, JA); + // Add HIP offloading linker script args if required. + AddHIPLinkerScript(getToolChain(), C, Output, Inputs, Args, CmdArgs, JA, + *this); + C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs)); } |