LLVM 20.0.0git
|
#include "llvm/DWARFLinker/Parallel/DWARFLinker.h"
Public Member Functions | |
virtual | ~DWARFLinker ()=default |
virtual void | setOutputDWARFHandler (const Triple &TargetTriple, SectionHandlerTy SectionHandler)=0 |
Set output DWARF handler. | |
Public Member Functions inherited from llvm::dwarf_linker::DWARFLinkerBase | |
virtual | ~DWARFLinkerBase ()=default |
virtual void | addObjectFile (DWARFFile &File, ObjFileLoaderTy Loader=nullptr, CompileUnitHandlerTy OnCUDieLoaded=[](const DWARFUnit &) {})=0 |
Add an object file to be linked. | |
virtual Error | link ()=0 |
Link the debug info for all object files added through calls to addObjectFile. | |
virtual void | setVerbosity (bool Verbose)=0 |
A number of methods setting various linking options: Enable logging to standard output. | |
virtual void | setStatistics (bool Statistics)=0 |
Print statistics to standard output. | |
virtual void | setVerifyInputDWARF (bool Verify)=0 |
Verify the input DWARF. | |
virtual void | setNoODR (bool NoODR)=0 |
Do not unique types according to ODR. | |
virtual void | setUpdateIndexTablesOnly (bool Update)=0 |
Update index tables only (do not modify rest of DWARF). | |
virtual void | setAllowNonDeterministicOutput (bool)=0 |
Allows generating non-deterministic output in exchange for more parallelism. | |
virtual void | setKeepFunctionForStatic (bool KeepFunctionForStatic)=0 |
Set whether to keep the enclosing function for a static variable. | |
virtual void | setNumThreads (unsigned NumThreads)=0 |
Use specified number of threads for parallel files linking. | |
virtual void | addAccelTableKind (AccelTableKind Kind)=0 |
Add kind of accelerator tables to be generated. | |
virtual void | setPrependPath (StringRef Ppath)=0 |
Set prepend path for clang modules. | |
virtual void | setEstimatedObjfilesAmount (unsigned ObjFilesNum)=0 |
Set estimated objects files amount, for preliminary data allocation. | |
virtual void | setInputVerificationHandler (InputVerificationHandlerTy Handler)=0 |
Set verification handler used to report verification errors. | |
virtual void | setSwiftInterfacesMap (SwiftInterfacesMapTy *Map)=0 |
Set map for Swift interfaces. | |
virtual void | setObjectPrefixMap (ObjectPrefixMapTy *Map)=0 |
Set prefix map for objects. | |
virtual Error | setTargetDWARFVersion (uint16_t TargetDWARFVersion)=0 |
Set target DWARF version. | |
Static Public Member Functions | |
static std::unique_ptr< DWARFLinker > | createLinker (MessageHandlerTy ErrorHandler, MessageHandlerTy WarningHandler) |
Creates dwarf linker instance. | |
Additional Inherited Members | |
Public Types inherited from llvm::dwarf_linker::DWARFLinkerBase | |
enum class | OutputFileType : uint8_t { Object , Assembly } |
Type of output file. More... | |
enum class | AccelTableKind : uint8_t { Apple , Pub , DebugNames } |
The kind of accelerator tables to be emitted. More... | |
using | MessageHandlerTy = std::function< void(const Twine &Warning, StringRef Context, const DWARFDie *DIE)> |
using | ObjFileLoaderTy = std::function< ErrorOr< DWARFFile & >(StringRef ContainerName, StringRef Path)> |
using | InputVerificationHandlerTy = std::function< void(const DWARFFile &File, llvm::StringRef Output)> |
using | ObjectPrefixMapTy = std::map< std::string, std::string > |
using | CompileUnitHandlerTy = function_ref< void(const DWARFUnit &Unit)> |
using | SwiftInterfacesMapTy = std::map< std::string, std::string > |
Definition at line 120 of file DWARFLinker.h.
|
virtualdefault |
|
static |
Creates dwarf linker instance.
Definition at line 17 of file DWARFLinker.cpp.
|
pure virtual |
Set output DWARF handler.
Result of linking DWARF is set of sections containing final debug info. DWARFLinkerBase::link() pass generated sections using specified SectionHandler
.
Implemented in llvm::dwarf_linker::parallel::DWARFLinkerImpl.