brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · cbafdf5 Raw
72 lines · c
1//===- AMDGPUOpenMP.h - AMDGPUOpenMP ToolChain Implementation -*- C++ -*---===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H11 12#include "AMDGPU.h"13#include "clang/Driver/Tool.h"14#include "clang/Driver/ToolChain.h"15 16namespace clang {17namespace driver {18 19namespace toolchains {20class AMDGPUOpenMPToolChain;21}22 23namespace toolchains {24 25class LLVM_LIBRARY_VISIBILITY AMDGPUOpenMPToolChain final26    : public ROCMToolChain {27public:28  AMDGPUOpenMPToolChain(const Driver &D, const llvm::Triple &Triple,29                        const ToolChain &HostTC,30                        const llvm::opt::ArgList &Args);31 32  const llvm::Triple *getAuxTriple() const override {33    return &HostTC.getTriple();34  }35 36  llvm::opt::DerivedArgList *37  TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef BoundArch,38                Action::OffloadKind DeviceOffloadKind) const override;39  void40  addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,41                        llvm::opt::ArgStringList &CC1Args,42                        Action::OffloadKind DeviceOffloadKind) const override;43  void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const override;44  CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;45  void AddClangCXXStdlibIncludeArgs(46      const llvm::opt::ArgList &Args,47      llvm::opt::ArgStringList &CC1Args) const override;48  void49  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,50                            llvm::opt::ArgStringList &CC1Args) const override;51  void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,52                           llvm::opt::ArgStringList &CC1Args) const override;53 54  SanitizerMask getSupportedSanitizers() const override;55 56  VersionTuple57  computeMSVCVersion(const Driver *D,58                     const llvm::opt::ArgList &Args) const override;59 60  llvm::SmallVector<BitCodeLibraryInfo, 12>61  getDeviceLibs(const llvm::opt::ArgList &Args,62                const Action::OffloadKind DeviceOffloadKind) const override;63 64  const ToolChain &HostTC;65};66 67} // end namespace toolchains68} // end namespace driver69} // end namespace clang70 71#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AMDGPUOPENMP_H72