Path: blob/main/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
35267 views
//===- AMDGPUOpenMP.h - AMDGPUOpenMP ToolChain Implementation -*- C++ -*---===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H9#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H1011#include "AMDGPU.h"12#include "clang/Driver/Tool.h"13#include "clang/Driver/ToolChain.h"1415namespace clang {16namespace driver {1718namespace toolchains {19class AMDGPUOpenMPToolChain;20}2122namespace toolchains {2324class LLVM_LIBRARY_VISIBILITY AMDGPUOpenMPToolChain final25: public ROCMToolChain {26public:27AMDGPUOpenMPToolChain(const Driver &D, const llvm::Triple &Triple,28const ToolChain &HostTC,29const llvm::opt::ArgList &Args);3031const llvm::Triple *getAuxTriple() const override {32return &HostTC.getTriple();33}3435llvm::opt::DerivedArgList *36TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef BoundArch,37Action::OffloadKind DeviceOffloadKind) const override;38void39addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,40llvm::opt::ArgStringList &CC1Args,41Action::OffloadKind DeviceOffloadKind) const override;42void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const override;43CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;44void45AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,46llvm::opt::ArgStringList &CC1Args) const override;47void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,48llvm::opt::ArgStringList &CC1Args) const override;4950SanitizerMask getSupportedSanitizers() const override;5152VersionTuple53computeMSVCVersion(const Driver *D,54const llvm::opt::ArgList &Args) const override;5556llvm::SmallVector<BitCodeLibraryInfo, 12>57getDeviceLibs(const llvm::opt::ArgList &Args) const override;5859const ToolChain &HostTC;60};6162} // end namespace toolchains63} // end namespace driver64} // end namespace clang6566#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H676869