diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-07-18 01:49:05 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-07-18 01:49:05 +0000 |
commit | 8fa3309796ec8ede7ff2006cbcab17d3e93f93c9 (patch) | |
tree | 82a2ccc0102967c82a1f4aa88e7c3e39231ec7bb /clang/lib/Driver/Tools.cpp | |
parent | 7842c3fceadaa1fcef7c91c59d822a572a17c8e2 (diff) | |
download | bcm5719-llvm-8fa3309796ec8ede7ff2006cbcab17d3e93f93c9.tar.gz bcm5719-llvm-8fa3309796ec8ede7ff2006cbcab17d3e93f93c9.zip |
Driver: Add AMDGPU toolchain
Summary:
This is a minimal toolchain, which sets the integrated assembler as default,
and uses lld for linking.
Reviewers: arsenm, mcrosier
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D10700
llvm-svn: 242601
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 40643ccb67e..6dc25b5a1f9 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -5777,6 +5777,26 @@ void hexagon::Linker::ConstructJob(Compilation &C, const JobAction &JA, } // Hexagon tools end. +void amdgpu::Linker::ConstructJob(Compilation &C, const JobAction &JA, + const InputInfo &Output, + const InputInfoList &Inputs, + const ArgList &Args, + const char *LinkingOutput) const { + + std::string Linker = getToolChain().GetProgramPath(getShortName()); + ArgStringList CmdArgs; + CmdArgs.push_back("-flavor"); + CmdArgs.push_back("gnu"); + CmdArgs.push_back("-target"); + CmdArgs.push_back(getToolChain().getTripleString().c_str()); + AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs); + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + C.addCommand(llvm::make_unique<Command>(JA, *this, Args.MakeArgString(Linker), + CmdArgs, Inputs)); +} +// AMDGPU tools end. + const std::string arm::getARMArch(const ArgList &Args, const llvm::Triple &Triple) { std::string MArch; |