diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp b/gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp deleted file mode 100644 index a421a09891c..00000000000 --- a/gnu/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp +++ /dev/null @@ -1,113 +0,0 @@ -//===--- AMDGPU.cpp - AMDGPU ToolChain Implementations ----------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "AMDGPU.h" -#include "CommonArgs.h" -#include "InputInfo.h" -#include "clang/Driver/Compilation.h" -#include "clang/Driver/DriverDiagnostic.h" -#include "llvm/Option/ArgList.h" - -using namespace clang::driver; -using namespace clang::driver::tools; -using namespace clang::driver::toolchains; -using namespace clang; -using namespace llvm::opt; - -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; - AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA); - 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)); -} - -void amdgpu::getAMDGPUTargetFeatures(const Driver &D, - const llvm::opt::ArgList &Args, - std::vector<StringRef> &Features) { - if (const Arg *dAbi = Args.getLastArg(options::OPT_mamdgpu_debugger_abi)) { - StringRef value = dAbi->getValue(); - if (value == "1.0") { - Features.push_back("+amdgpu-debugger-insert-nops"); - Features.push_back("+amdgpu-debugger-emit-prologue"); - } else { - D.Diag(diag::err_drv_clang_unsupported) << dAbi->getAsString(Args); - } - } - - handleTargetFeaturesGroup( - Args, Features, options::OPT_m_amdgpu_Features_Group); -} - -/// AMDGPU Toolchain -AMDGPUToolChain::AMDGPUToolChain(const Driver &D, const llvm::Triple &Triple, - const ArgList &Args) - : Generic_ELF(D, Triple, Args), - OptionsDefault({{options::OPT_O, "3"}, - {options::OPT_cl_std_EQ, "CL1.2"}}) {} - -Tool *AMDGPUToolChain::buildLinker() const { - return new tools::amdgpu::Linker(*this); -} - -DerivedArgList * -AMDGPUToolChain::TranslateArgs(const DerivedArgList &Args, StringRef BoundArch, - Action::OffloadKind DeviceOffloadKind) const { - - DerivedArgList *DAL = - Generic_ELF::TranslateArgs(Args, BoundArch, DeviceOffloadKind); - - // Do nothing if not OpenCL (-x cl) - if (!Args.getLastArgValue(options::OPT_x).equals("cl")) - return DAL; - - if (!DAL) - DAL = new DerivedArgList(Args.getBaseArgs()); - for (auto *A : Args) - DAL->append(A); - - const OptTable &Opts = getDriver().getOpts(); - - // Phase 1 (.cl -> .bc) - if (Args.hasArg(options::OPT_c) && Args.hasArg(options::OPT_emit_llvm)) { - DAL->AddFlagArg(nullptr, Opts.getOption(getTriple().isArch64Bit() - ? options::OPT_m64 - : options::OPT_m32)); - - // Have to check OPT_O4, OPT_O0 & OPT_Ofast separately - // as they defined that way in Options.td - if (!Args.hasArg(options::OPT_O, options::OPT_O0, options::OPT_O4, - options::OPT_Ofast)) - DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_O), - getOptionDefault(options::OPT_O)); - } - - return DAL; -} - -void AMDGPUToolChain::addClangTargetOptions( - const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args, - Action::OffloadKind DeviceOffloadingKind) const { - // Default to "hidden" visibility, as object level linking will not be - // supported for the foreseeable future. - if (!DriverArgs.hasArg(options::OPT_fvisibility_EQ, - options::OPT_fvisibility_ms_compat)) { - CC1Args.push_back("-fvisibility"); - CC1Args.push_back("hidden"); - } -} |
