LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::dwarf_linker::parallel::DWARFLinker Class Referenceabstract

#include "llvm/DWARFLinker/Parallel/DWARFLinker.h"

Inheritance diagram for llvm::dwarf_linker::parallel::DWARFLinker:
Inheritance graph

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< DWARFLinkercreateLinker (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 >

Detailed Description

Definition at line 120 of file DWARFLinker.h.

Constructor & Destructor Documentation

◆ ~DWARFLinker()

virtual llvm::dwarf_linker::parallel::DWARFLinker::~DWARFLinker ( )

Member Function Documentation

◆ createLinker()

std::unique_ptr< DWARFLinker > DWARFLinker::createLinker ( MessageHandlerTy  ErrorHandler,
MessageHandlerTy  WarningHandler 

Creates dwarf linker instance.

Definition at line 17 of file DWARFLinker.cpp.

◆ setOutputDWARFHandler()

virtual void llvm::dwarf_linker::parallel::DWARFLinker::setOutputDWARFHandler ( const Triple TargetTriple,
SectionHandlerTy  SectionHandler 
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.

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