|
| | PS5CPU (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) |
| unsigned | GetDefaultDwarfVersion () const override |
| SanitizerMask | getSupportedSanitizers () const override |
| | Return sanitizers which are available in this toolchain.
|
| const char * | getLinkerBaseName () const override |
| std::string | qualifyPSCmdName (StringRef CmdName) const override |
| void | addSanitizerArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, const char *Prefix, const char *Suffix) const override |
| const char * | getProfileRTLibName () const override |
| | PS4PS5Base (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, StringRef Platform, const char *EnvVar) |
| void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| | Add the clang cc1 arguments for system include paths.
|
| void | addLibCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| void | addLibStdCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| bool | IsMathErrnoDefault () const override |
| | IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
|
| bool | IsObjCNonFragileABIDefault () const override |
| | IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default.
|
| bool | HasNativeLLVMSupport () const override |
| | HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support.
|
| bool | isPICDefault () const override |
| | Test whether this toolchain defaults to PIC.
|
| LangOptions::StackProtectorMode | GetDefaultStackProtectorLevel (bool KernelOrKext) const override |
| | GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain.
|
| llvm::DebuggerKind | getDefaultDebuggerTuning () const override |
| void | addClangTargetOptions (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, Action::OffloadKind DeviceOffloadingKind) const override |
| | Add options that need to be passed to cc1 for this target.
|
| llvm::DenormalMode | getDefaultDenormalModeForType (const llvm::opt::ArgList &DriverArgs, const JobAction &JA, const llvm::fltSemantics *FPType) const override |
| | Returns the output denormal handling type in the default floating point environment for the given FPType if given.
|
| StringRef | getSDKLibraryRootDir () const |
| | Generic_ELF (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) |
| virtual std::string | getDynamicLinker (const llvm::opt::ArgList &Args) const |
| virtual void | addExtraOpts (llvm::opt::ArgStringList &CmdArgs) const |
| | Generic_GCC (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) |
| | ~Generic_GCC () override |
| void | printVerboseInfo (raw_ostream &OS) const override |
| | Dispatch to the specific toolchain for verbose printing.
|
| UnwindTableLevel | getDefaultUnwindTableLevel (const llvm::opt::ArgList &Args) const override |
| | How detailed should the unwind tables be by default.
|
| bool | isPIEDefault (const llvm::opt::ArgList &Args) const override |
| | Test whether this toolchain defaults to PIE.
|
| bool | isPICDefaultForced () const override |
| | Tests whether this toolchain forces its default for PIC, PIE or non-PIC.
|
| bool | IsIntegratedAssemblerDefault () const override |
| | IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
|
| llvm::opt::DerivedArgList * | TranslateArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind) const override |
| | TranslateArgs - Create a new derived argument list for any argument translations this ToolChain may wish to perform, or 0 if no tool chain specific translations are needed.
|
| virtual | ~ToolChain () |
| const Driver & | getDriver () const |
| llvm::vfs::FileSystem & | getVFS () const |
| const llvm::Triple & | getTriple () const |
| virtual const llvm::Triple * | getAuxTriple () const |
| | Get the toolchain's aux triple, if it has one.
|
| virtual std::string | getInputFilename (const InputInfo &Input) const |
| | Some toolchains need to modify the file name, for example to replace the extension for object files with .cubin for OpenMP offloading to Nvidia GPUs.
|
| llvm::Triple::ArchType | getArch () const |
| StringRef | getArchName () const |
| StringRef | getPlatform () const |
| StringRef | getOS () const |
| StringRef | getDefaultUniversalArchName () const |
| | Provide the default architecture name (as expected by -arch) for this toolchain.
|
| std::string | getTripleString () const |
| const llvm::Triple & | getEffectiveTriple () const |
| | Get the toolchain's effective clang triple.
|
| bool | hasEffectiveTriple () const |
| path_list & | getLibraryPaths () |
| const path_list & | getLibraryPaths () const |
| path_list & | getFilePaths () |
| const path_list & | getFilePaths () const |
| path_list & | getProgramPaths () |
| const path_list & | getProgramPaths () const |
| const MultilibSet & | getMultilibs () const |
| const llvm::SmallVector< Multilib > & | getSelectedMultilibs () const |
| Multilib::flags_list | getMultilibFlags (const llvm::opt::ArgList &) const |
| | Get flags suitable for multilib selection, based on the provided clang command line arguments.
|
| SanitizerArgs | getSanitizerArgs (const llvm::opt::ArgList &JobArgs) const |
| const XRayArgs | getXRayArgs (const llvm::opt::ArgList &) const |
| const llvm::opt::Arg * | getRTTIArg () const |
| RTTIMode | getRTTIMode () const |
| ExceptionsMode | getExceptionsMode () const |
| virtual llvm::opt::DerivedArgList * | TranslateOpenMPTargetArgs (const llvm::opt::DerivedArgList &Args, bool SameTripleAsHost, SmallVectorImpl< llvm::opt::Arg * > &AllocatedArgs) const |
| | TranslateOpenMPTargetArgs - Create a new derived argument list for that contains the OpenMP target specific flags passed via -Xopenmp-target -opt=val OR -Xopenmp-target=<triple> -opt=val.
|
| virtual void | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, llvm::opt::Arg *&A, llvm::opt::DerivedArgList *DAL, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs=nullptr) const |
| | Append the argument following A to DAL assuming A is an Xarch argument.
|
| virtual llvm::opt::DerivedArgList * | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs) const |
| | Translate -Xarch_ arguments.
|
| virtual Tool * | SelectTool (const JobAction &JA) const |
| | Choose a tool to use to handle the action JA.
|
| std::string | GetFilePath (const char *Name) const |
| std::string | GetProgramPath (const char *Name) const |
| std::string | GetLinkerPath (bool *LinkerIsLLD=nullptr) const |
| | Returns the linker path, respecting the -fuse-ld= argument to determine the linker suffix or name.
|
| std::string | GetStaticLibToolPath () const |
| | Returns the linker path for emitting a static library.
|
| virtual bool | isCrossCompiling () const |
| | Returns true if the toolchain is targeting a non-native architecture.
|
| virtual types::ID | LookupTypeForExtension (StringRef Ext) const |
| | LookupTypeForExtension - Return the default language type to use for the given extension.
|
| virtual bool | IsBlocksDefault () const |
| | IsBlocksDefault - Does this tool chain enable -fblocks by default.
|
| virtual bool | IsIntegratedBackendDefault () const |
| | IsIntegratedBackendDefault - Does this tool chain enable -fintegrated-objemitter by default.
|
| virtual bool | IsIntegratedBackendSupported () const |
| | IsIntegratedBackendSupported - Does this tool chain support -fintegrated-objemitter.
|
| virtual bool | IsNonIntegratedBackendSupported () const |
| | IsNonIntegratedBackendSupported - Does this tool chain support -fno-integrated-objemitter.
|
| virtual bool | useIntegratedAs () const |
| | Check if the toolchain should use the integrated assembler.
|
| virtual bool | useIntegratedBackend () const |
| | Check if the toolchain should use the integrated backend.
|
| virtual bool | parseInlineAsmUsingAsmParser () const |
| | Check if the toolchain should use AsmParser to parse inlineAsm when integrated assembler is not default.
|
| virtual bool | IsEncodeExtendedBlockSignatureDefault () const |
| | IsEncodeExtendedBlockSignatureDefault - Does this tool chain enable -fencode-extended-block-signature by default.
|
| virtual bool | UseObjCMixedDispatch () const |
| | UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used?
|
| virtual bool | useRelaxRelocations () const |
| | Check whether to enable x86 relax relocations by default.
|
| bool | defaultToIEEELongDouble () const |
| | Check whether use IEEE binary128 as long double format by default.
|
| virtual LangOptions::TrivialAutoVarInitKind | GetDefaultTrivialAutoVarInit () const |
| | Get the default trivial automatic variable initialization.
|
| virtual const char * | getDefaultLinker () const |
| | GetDefaultLinker - Get the default linker to use.
|
| virtual RuntimeLibType | GetDefaultRuntimeLibType () const |
| | GetDefaultRuntimeLibType - Get the default runtime library variant to use.
|
| virtual CXXStdlibType | GetDefaultCXXStdlibType () const |
| virtual UnwindLibType | GetDefaultUnwindLibType () const |
| virtual std::string | getCompilerRTPath () const |
| virtual std::string | getCompilerRT (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const |
| virtual void | addFortranRuntimeLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | Adds Fortran runtime libraries to CmdArgs.
|
| virtual void | addFortranRuntimeLibraryPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | Adds the path for the Fortran runtime libraries to CmdArgs.
|
| void | addFlangRTLibPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | Add the path for libflang_rt.runtime.a.
|
| const char * | getCompilerRTArgString (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const |
| std::string | getCompilerRTBasename (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static) const |
| llvm::Triple | getTripleWithoutOSVersion () const |
| std::optional< std::string > | getRuntimePath () const |
| std::optional< std::string > | getStdlibPath () const |
| std::optional< std::string > | getStdlibIncludePath () const |
| virtual path_list | getArchSpecificLibPaths () const |
| virtual StringRef | getOSLibName () const |
| virtual bool | IsAArch64OutlineAtomicsDefault (const llvm::opt::ArgList &Args) const |
| | Test whether this toolchain supports outline atomics by default.
|
| virtual bool | SupportsProfiling () const |
| | SupportsProfiling - Does this tool chain support -pg.
|
| virtual void | CheckObjCARC () const |
| | Complain if this tool chain doesn't support Objective-C ARC.
|
| virtual llvm::codegenoptions::DebugInfoFormat | getDefaultDebugFormat () const |
| | Get the default debug info format. Typically, this is DWARF.
|
| virtual bool | UseDwarfDebugFlags () const |
| | UseDwarfDebugFlags - Embed the compile options to clang into the Dwarf compile unit information.
|
| virtual std::string | GetGlobalDebugPathRemapping () const |
| | Add an additional -fdebug-prefix-map entry.
|
| virtual unsigned | getMaxDwarfVersion () const |
| virtual bool | GetDefaultStandaloneDebug () const |
| virtual bool | supportsDebugInfoOption (const llvm::opt::Arg *) const |
| | Does this toolchain supports given debug info option or not.
|
| virtual void | adjustDebugInfoKind (llvm::codegenoptions::DebugInfoKind &DebugInfoKind, const llvm::opt::ArgList &Args) const |
| | Adjust debug information kind considering all passed options.
|
| virtual llvm::ExceptionHandling | GetExceptionModel (const llvm::opt::ArgList &Args) const |
| | GetExceptionModel - Return the tool chain exception model.
|
| virtual bool | SupportsEmbeddedBitcode () const |
| | SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode.
|
| virtual std::string | getThreadModel () const |
| | getThreadModel() - Which thread model does this target use?
|
| virtual bool | isThreadModelSupported (const StringRef Model) const |
| | isThreadModelSupported() - Does this target support a thread model?
|
| virtual bool | isBareMetal () const |
| | isBareMetal - Is this a bare metal target.
|
| virtual std::string | getMultiarchTriple (const Driver &D, const llvm::Triple &TargetTriple, StringRef SysRoot) const |
| virtual std::string | ComputeLLVMTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const |
| | ComputeLLVMTriple - Return the LLVM target triple to use, after taking command line arguments into account.
|
| virtual std::string | ComputeEffectiveClangTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const |
| | ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments.
|
| virtual ObjCRuntime | getDefaultObjCRuntime (bool isNonFragile) const |
| | getDefaultObjCRuntime - Return the default Objective-C runtime for this platform.
|
| virtual bool | hasBlocksRuntime () const |
| | hasBlocksRuntime - Given that the user is compiling with -fblocks, does this tool chain guarantee the existence of a blocks runtime?
|
| virtual std::string | computeSysRoot () const |
| | Return the sysroot, possibly searching for a default sysroot using target-specific logic.
|
| virtual void | addClangCC1ASTargetOptions (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CC1ASArgs) const |
| | Add options that need to be passed to cc1as for this target.
|
| virtual void | addClangWarningOptions (llvm::opt::ArgStringList &CC1Args) const |
| | Add warning options that need to be passed to cc1 for this target.
|
| virtual SmallVector< std::string > | getMultilibMacroDefinesStr (llvm::opt::ArgList &Args) const |
| virtual RuntimeLibType | GetRuntimeLibType (const llvm::opt::ArgList &Args) const |
| virtual CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const |
| virtual UnwindLibType | GetUnwindLibType (const llvm::opt::ArgList &Args) const |
| virtual std::string | detectLibcxxVersion (StringRef IncludePath) const |
| void | AddClangCXXStdlibIsystemArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
| | AddClangCXXStdlibIsystemArgs - Add the clang -cc1 level arguments to set the specified include paths for the C++ standard library.
|
| bool | ShouldLinkCXXStdlib (const llvm::opt::ArgList &Args) const |
| | Returns if the C++ standard library should be linked in.
|
| virtual void | AddCXXStdlibLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | AddCXXStdlibLibArgs - Add the system specific linker arguments to use for the given C++ standard library type.
|
| void | AddFilePathLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | AddFilePathLibArgs - Add each thing in getFilePaths() as a "-L" option.
|
| virtual void | AddCCKextLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | AddCCKextLibArgs - Add the system specific linker arguments to use for kernel extensions (Darwin-specific).
|
| virtual bool | isFastMathRuntimeAvailable (const llvm::opt::ArgList &Args, std::string &Path) const |
| | If a runtime library exists that sets global flags for unsafe floating point math, return true.
|
| bool | addFastMathRuntimeIfAvailable (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | AddFastMathRuntimeIfAvailable - If a runtime library exists that sets global flags for unsafe floating point math, add it and return true.
|
| virtual Expected< SmallVector< std::string > > | getSystemGPUArchs (const llvm::opt::ArgList &Args) const |
| | getSystemGPUArchs - Use a tool to detect the user's availible GPUs.
|
| virtual void | addProfileRTLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | addProfileRTLibs - When -fprofile-instr-profile is specified, try to pass a suitable profile runtime library to the linker.
|
| virtual void | AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
| | Add arguments to use system-specific CUDA includes.
|
| virtual void | AddHIPIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
| | Add arguments to use system-specific HIP includes.
|
| virtual void | AddIAMCUIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
| | Add arguments to use MCU GCC toolchain includes.
|
| virtual VersionTuple | computeMSVCVersion (const Driver *D, const llvm::opt::ArgList &Args) const |
| | On Windows, returns the MSVC compatibility version.
|
| virtual llvm::SmallVector< BitCodeLibraryInfo, 12 > | getDeviceLibs (const llvm::opt::ArgList &Args, const Action::OffloadKind DeviceOffloadingKind) const |
| | Get paths for device libraries.
|
| virtual void | AddHIPRuntimeLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
| | Add the system specific linker arguments to use for the given HIP runtime library type.
|
| virtual SanitizerMask | getDefaultSanitizers () const |
| | Return sanitizers which are enabled by default.
|
| virtual bool | canSplitThinLTOUnit () const |
| | Returns true when it's possible to split LTO unit to use whole program devirtualization and CFI santiizers.
|