clang 20.0.0git
Public Member Functions | List of all members
clang::driver::CudaInstallationDetector Class Reference

A class to find a viable CUDA installation. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Driver/ToolChains/Cuda.h"

Public Member Functions

 CudaInstallationDetector (const Driver &D, const llvm::Triple &HostTriple, const llvm::opt::ArgList &Args)
 
void AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const
 
void CheckCudaVersionSupportsArch (OffloadArch Arch) const
 Emit an error if Version does not support the given Arch.
 
bool isValid () const
 Check whether we detected a valid Cuda install.
 
void print (raw_ostream &OS) const
 Print information about the detected CUDA installation.
 
CudaVersion version () const
 Get the detected Cuda install's version.
 
StringRef getInstallPath () const
 Get the detected Cuda installation path.
 
StringRef getBinPath () const
 Get the detected path to Cuda's bin directory.
 
StringRef getIncludePath () const
 Get the detected Cuda Include path.
 
StringRef getLibDevicePath () const
 Get the detected Cuda device library path.
 
std::string getLibDeviceFile (StringRef Gpu) const
 Get libdevice file for given architecture.
 
void WarnIfUnsupportedVersion ()
 

Detailed Description

A class to find a viable CUDA installation.

Definition at line 27 of file Cuda.h.

Constructor & Destructor Documentation

◆ CudaInstallationDetector()

CudaInstallationDetector::CudaInstallationDetector ( const Driver D,
const llvm::Triple &  HostTriple,
const llvm::opt::ArgList &  Args 
)

Member Function Documentation

◆ AddCudaIncludeArgs()

void CudaInstallationDetector::AddCudaIncludeArgs ( const llvm::opt::ArgList &  DriverArgs,
llvm::opt::ArgStringList &  CC1Args 
) const

◆ CheckCudaVersionSupportsArch()

void CudaInstallationDetector::CheckCudaVersionSupportsArch ( OffloadArch  Arch) const

Emit an error if Version does not support the given Arch.

If either Version or Arch is unknown, does not emit an error. Emits at most one error per Arch.

Definition at line 314 of file Cuda.cpp.

References clang::CudaVersionToString(), clang::driver::Driver::Diag(), int, clang::MaxVersionForOffloadArch(), clang::MinVersionForOffloadArch(), clang::OffloadArchToString(), and clang::UNKNOWN.

Referenced by clang::driver::toolchains::CudaToolChain::AddCudaIncludeArgs().

◆ getBinPath()

StringRef clang::driver::CudaInstallationDetector::getBinPath ( ) const
inline

Get the detected path to Cuda's bin directory.

Definition at line 68 of file Cuda.h.

◆ getIncludePath()

StringRef clang::driver::CudaInstallationDetector::getIncludePath ( ) const
inline

Get the detected Cuda Include path.

Definition at line 70 of file Cuda.h.

Referenced by clang::driver::toolchains::CudaToolChain::AddClangSystemIncludeArgs().

◆ getInstallPath()

StringRef clang::driver::CudaInstallationDetector::getInstallPath ( ) const
inline

Get the detected Cuda installation path.

Definition at line 66 of file Cuda.h.

Referenced by clang::driver::tools::LinkerWrapper::ConstructJob().

◆ getLibDeviceFile()

std::string clang::driver::CudaInstallationDetector::getLibDeviceFile ( StringRef  Gpu) const
inline

Get libdevice file for given architecture.

Definition at line 74 of file Cuda.h.

Referenced by clang::driver::toolchains::CudaToolChain::addClangTargetOptions().

◆ getLibDevicePath()

StringRef clang::driver::CudaInstallationDetector::getLibDevicePath ( ) const
inline

Get the detected Cuda device library path.

Definition at line 72 of file Cuda.h.

◆ isValid()

bool clang::driver::CudaInstallationDetector::isValid ( ) const
inline

◆ print()

void CudaInstallationDetector::print ( raw_ostream &  OS) const

Print information about the detected CUDA installation.

Definition at line 331 of file Cuda.cpp.

References clang::CudaVersionToString(), and isValid().

◆ version()

CudaVersion clang::driver::CudaInstallationDetector::version ( ) const
inline

Get the detected Cuda install's version.

Definition at line 61 of file Cuda.h.

References clang::NEW, and clang::PARTIALLY_SUPPORTED.

Referenced by clang::driver::toolchains::CudaToolChain::addClangTargetOptions(), and clang::driver::tools::NVPTX::getNVPTXTargetFeatures().

◆ WarnIfUnsupportedVersion()

void CudaInstallationDetector::WarnIfUnsupportedVersion ( )

The documentation for this class was generated from the following files: