class HIPSPVToolChain
Declaration
class HIPSPVToolChain : public ToolChain { /* full declaration omitted */ };
Description
ToolChain - Access to tools for a single platform.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:46
Inherits from: ToolChain
Member Variables
- public const clang::driver::ToolChain& HostTC
Inherited from ToolChain:
Method Overview
- public void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CC1Args) const
- public void AddClangSystemIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- public void AddHIPIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- public void AddIAMCUIncludeArgs(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args) const
- public clang::driver::ToolChain::CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList & Args) const
- public HIPSPVToolChain(const clang::driver::Driver & D, const llvm::Triple & Triple, const clang::driver::ToolChain & HostTC, const llvm::opt::ArgList & Args)
- public bool IsIntegratedAssemblerDefault() const
- public bool IsMathErrnoDefault() const
- public bool SupportsProfiling() const
- public void addClangTargetOptions(const llvm::opt::ArgList & DriverArgs, llvm::opt::ArgStringList & CC1Args, Action::OffloadKind DeviceOffloadKind) const
- public void addClangWarningOptions(llvm::opt::ArgStringList & CC1Args) const
- public void adjustDebugInfoKind(codegenoptions::DebugInfoKind & DebugInfoKind, const llvm::opt::ArgList & Args) const
- protected clang::driver::Tool * buildLinker() const
- public llvm::VersionTuple computeMSVCVersion(const clang::driver::Driver * D, const llvm::opt::ArgList & Args) const
- public const llvm::Triple * getAuxTriple() const
- public llvm::SmallVector<BitCodeLibraryInfo, 12> getHIPDeviceLibs(const llvm::opt::ArgList & Args) const
- public clang::SanitizerMask getSupportedSanitizers() const
- public bool isCrossCompiling() const
- public bool isPICDefault() const
- public bool isPICDefaultForced() const
- public bool isPIEDefault(const llvm::opt::ArgList & Args) const
- public bool useIntegratedAs() const
Inherited from ToolChain:
- public AddCCKextLibArgs
- public AddCXXStdlibLibArgs
- public AddClangCXXStdlibIncludeArgs
- public AddClangCXXStdlibIsystemArgs
- public AddClangSystemIncludeArgs
- public AddCudaIncludeArgs
- public AddFilePathLibArgs
- public AddHIPIncludeArgs
- public AddHIPRuntimeLibArgs
- public AddIAMCUIncludeArgs
- public CheckObjCARC
- public ComputeEffectiveClangTriple
- public ComputeLLVMTriple
- public GetCXXStdlibType
- public GetDefaultCXXStdlibType
- public GetDefaultDwarfVersion
- public GetDefaultRuntimeLibType
- public GetDefaultStackProtectorLevel
- public GetDefaultStandaloneDebug
- public GetDefaultTrivialAutoVarInit
- public GetDefaultUnwindLibType
- public GetExceptionModel
- public GetFilePath
- public GetGlobalDebugPathRemapping
- public GetLinkerPath
- public GetProgramPath
- public GetRuntimeLibType
- public GetStaticLibToolPath
- public GetUnwindLibType
- public HasNativeLLVMSupport
- public IsAArch64OutlineAtomicsDefault
- public IsBlocksDefault
- public IsEncodeExtendedBlockSignatureDefault
- public IsIntegratedAssemblerDefault
- public IsIntegratedBackendDefault
- public IsIntegratedBackendSupported
- public IsMathErrnoDefault
- public IsNonIntegratedBackendSupported
- public IsObjCNonFragileABIDefault
- public IsUnwindTablesDefault
- public LookupTypeForExtension
- public SelectTool
- public ShouldLinkCXXStdlib
- public SupportsEmbeddedBitcode
- public SupportsProfiling
- public TranslateArgs
- public TranslateOpenMPTargetArgs
- public TranslateXarchArgs
- public TranslateXarchArgs
- public UseDwarfDebugFlags
- public UseObjCMixedDispatch
- public addClangTargetOptions
- public addClangWarningOptions
- protected addExternCSystemInclude
- protected addExternCSystemIncludeIfExists
- public addFastMathRuntimeIfAvailable
- public addProfileRTLibs
- protected addSystemInclude
- protected addSystemIncludes
- public adjustDebugInfoKind
- protected buildAssembler
- protected buildCompilerRTBasename
- protected buildLinker
- protected buildStaticLibTool
- public canSplitThinLTOUnit
- public computeMSVCVersion
- public computeSysRoot
- protected concat
- public defaultToIEEELongDouble
- public detectLibcxxVersion
- public getArch
- public getArchName
- public getArchSpecificLibPath
- public getAuxTriple
- public getCompilerRT
- public getCompilerRTArgString
- public getCompilerRTBasename
- public getCompilerRTPath
- public getDefaultDebugFormat
- public getDefaultDebuggerTuning
- public getDefaultDenormalModeForType
- public getDefaultLinker
- public getDefaultObjCRuntime
- public getDefaultSanitizers
- public getDefaultUniversalArchName
- public getDriver
- public getEffectiveTriple
- public getFilePaths
- public getFilePaths
- public getHIPDeviceLibs
- public getInputFilename
- public getLibraryPaths
- public getLibraryPaths
- public getMaxDwarfVersion
- public getMultiarchTriple
- public getMultilib
- public getMultilibs
- public getOS
- public getOSLibName
- public getOpenMPTriple
- public getPlatform
- public getProgramPaths
- public getProgramPaths
- public getRTTIArg
- public getRTTIMode
- public getRuntimePaths
- public getSanitizerArgs
- public getStdlibPaths
- public getSupportedSanitizers
- public getTargetAndModeFromProgramName
- public getTargetVariantTriple
- public getThreadModel
- protected getTool
- public getTriple
- public getTripleString
- public getVFS
- public getXRayArgs
- public hasBlocksRuntime
- public isCrossCompiling
- public isFastMathRuntimeAvailable
- public isPICDefault
- public isPICDefaultForced
- public isPIEDefault
- public isThreadModelSupported
- public needsGCovInstrumentation
- public needsProfileRT
- public parseInlineAsmUsingAsmParser
- public printVerboseInfo
- protected setTripleEnvironment
- public supportsDebugInfoOption
- public useIntegratedAs
- public useIntegratedBackend
- public useRelaxRelocations
Methods
¶void AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CC1Args) const
void AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CC1Args) const
Description
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:64
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CC1Args
¶void AddClangSystemIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void AddClangSystemIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Description
Add the clang cc1 arguments for system include paths. This routine is responsible for adding the necessary cc1 arguments to include headers from standard system header directories.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:62
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶void AddHIPIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void AddHIPIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Description
Add arguments to use system-specific HIP includes.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:69
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶void AddIAMCUIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
void AddIAMCUIncludeArgs(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args) const
Description
Add arguments to use MCU GCC toolchain includes.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:67
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
¶clang::driver::ToolChain::CXXStdlibType
GetCXXStdlibType(
const llvm::opt::ArgList& Args) const
clang::driver::ToolChain::CXXStdlibType
GetCXXStdlibType(
const llvm::opt::ArgList& Args) const
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:60
Parameters
- const llvm::opt::ArgList& Args
¶HIPSPVToolChain(
const clang::driver::Driver& D,
const llvm::Triple& Triple,
const clang::driver::ToolChain& HostTC,
const llvm::opt::ArgList& Args)
HIPSPVToolChain(
const clang::driver::Driver& D,
const llvm::Triple& Triple,
const clang::driver::ToolChain& HostTC,
const llvm::opt::ArgList& Args)
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:48
Parameters
- const clang::driver::Driver& D
- const llvm::Triple& Triple
- const clang::driver::ToolChain& HostTC
- const llvm::opt::ArgList& Args
¶bool IsIntegratedAssemblerDefault() const
bool IsIntegratedAssemblerDefault() const
Description
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:82
¶bool IsMathErrnoDefault() const
bool IsMathErrnoDefault() const
Description
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:83
¶bool SupportsProfiling() const
bool SupportsProfiling() const
Description
SupportsProfiling - Does this tool chain support -pg.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:91
¶void addClangTargetOptions(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args,
Action::OffloadKind DeviceOffloadKind) const
void addClangTargetOptions(
const llvm::opt::ArgList& DriverArgs,
llvm::opt::ArgStringList& CC1Args,
Action::OffloadKind DeviceOffloadKind) const
Description
Add options that need to be passed to cc1 for this target.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:56
Parameters
- const llvm::opt::ArgList& DriverArgs
- llvm::opt::ArgStringList& CC1Args
- Action::OffloadKind DeviceOffloadKind
¶void addClangWarningOptions(
llvm::opt::ArgStringList& CC1Args) const
void addClangWarningOptions(
llvm::opt::ArgStringList& CC1Args) const
Description
Add warning options that need to be passed to cc1 for this target.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:59
Parameters
- llvm::opt::ArgStringList& CC1Args
¶void adjustDebugInfoKind(
codegenoptions::DebugInfoKind& DebugInfoKind,
const llvm::opt::ArgList& Args) const
void adjustDebugInfoKind(
codegenoptions::DebugInfoKind& DebugInfoKind,
const llvm::opt::ArgList& Args) const
Description
Adjust debug information kind considering all passed options.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:80
Parameters
- codegenoptions::DebugInfoKind& DebugInfoKind
- const llvm::opt::ArgList& Args
¶clang::driver::Tool* buildLinker() const
clang::driver::Tool* buildLinker() const
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:96
¶llvm::VersionTuple computeMSVCVersion(
const clang::driver::Driver* D,
const llvm::opt::ArgList& Args) const
llvm::VersionTuple computeMSVCVersion(
const clang::driver::Driver* D,
const llvm::opt::ArgList& Args) const
Description
On Windows, returns the MSVC compatibility version.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:77
Parameters
- const clang::driver::Driver* D
- const llvm::opt::ArgList& Args
¶const llvm::Triple* getAuxTriple() const
const llvm::Triple* getAuxTriple() const
Description
Get the toolchain's aux triple, if it has one. Exactly what the aux triple represents depends on the toolchain, but for example when compiling CUDA code for the GPU, the triple might be NVPTX, while the aux triple is the host (CPU) toolchain, e.g. x86-linux-gnu.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:51
¶llvm::SmallVector<BitCodeLibraryInfo, 12>
getHIPDeviceLibs(
const llvm::opt::ArgList& Args) const
llvm::SmallVector<BitCodeLibraryInfo, 12>
getHIPDeviceLibs(
const llvm::opt::ArgList& Args) const
Description
Get paths of HIP device libraries.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:72
Parameters
- const llvm::opt::ArgList& Args
¶clang::SanitizerMask getSupportedSanitizers()
const
clang::SanitizerMask getSupportedSanitizers()
const
Description
Return sanitizers which are available in this toolchain.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:74
¶bool isCrossCompiling() const
bool isCrossCompiling() const
Description
Returns true if the toolchain is targeting a non-native architecture.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:85
¶bool isPICDefault() const
bool isPICDefault() const
Description
Test whether this toolchain defaults to PIC.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:86
¶bool isPICDefaultForced() const
bool isPICDefaultForced() const
Description
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. If this returns true, any PIC related flags should be ignored and instead the results of \c isPICDefault() and \c isPIEDefault(const llvm::opt::ArgList &Args ) are used exclusively.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:90
¶bool isPIEDefault(
const llvm::opt::ArgList& Args) const
bool isPIEDefault(
const llvm::opt::ArgList& Args) const
Description
Test whether this toolchain defaults to PIE.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:87
Parameters
- const llvm::opt::ArgList& Args
¶bool useIntegratedAs() const
bool useIntegratedAs() const
Description
Check if the toolchain should use the integrated assembler.
Declared at: clang/lib/Driver/ToolChains/HIPSPV.h:84