Author: kzhuravl Date: Fri Nov 10 11:09:57 2017 New Revision: 317909 URL: http://llvm.org/viewvc/llvm-project?rev=317909&view=rev Log: AMDGPU/NFC: Move getAMDGPUTargetFeatures to AMDGPU toolchain
Differential Revision: https://reviews.llvm.org/D39877 Modified: cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpp cfe/trunk/lib/Driver/ToolChains/AMDGPU.h cfe/trunk/lib/Driver/ToolChains/Clang.cpp Modified: cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpp?rev=317909&r1=317908&r2=317909&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/AMDGPU.cpp Fri Nov 10 11:09:57 2017 @@ -11,6 +11,7 @@ #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; @@ -35,6 +36,24 @@ void amdgpu::Linker::ConstructJob(Compil 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-reserve-regs"); + 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) Modified: cfe/trunk/lib/Driver/ToolChains/AMDGPU.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/AMDGPU.h?rev=317909&r1=317908&r2=317909&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/AMDGPU.h (original) +++ cfe/trunk/lib/Driver/ToolChains/AMDGPU.h Fri Nov 10 11:09:57 2017 @@ -19,7 +19,6 @@ namespace clang { namespace driver { namespace tools { - namespace amdgpu { class LLVM_LIBRARY_VISIBILITY Linker : public GnuTool { @@ -33,6 +32,9 @@ public: const char *LinkingOutput) const override; }; +void getAMDGPUTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args, + std::vector<StringRef> &Features); + } // end namespace amdgpu } // end namespace tools Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=317909&r1=317908&r2=317909&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Fri Nov 10 11:09:57 2017 @@ -15,6 +15,7 @@ #include "Arch/Sparc.h" #include "Arch/SystemZ.h" #include "Arch/X86.h" +#include "AMDGPU.h" #include "CommonArgs.h" #include "Hexagon.h" #include "InputInfo.h" @@ -278,23 +279,6 @@ static void getWebAssemblyTargetFeatures handleTargetFeaturesGroup(Args, Features, options::OPT_m_wasm_Features_Group); } -static void getAMDGPUTargetFeatures(const Driver &D, const 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-reserve-regs"); - 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); -} - static void getTargetFeatures(const ToolChain &TC, const llvm::Triple &Triple, const ArgList &Args, ArgStringList &CmdArgs, bool ForAS) { @@ -347,7 +331,7 @@ static void getTargetFeatures(const Tool break; case llvm::Triple::r600: case llvm::Triple::amdgcn: - getAMDGPUTargetFeatures(D, Args, Features); + amdgpu::getAMDGPUTargetFeatures(D, Args, Features); break; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits