LLVM: llvm::dwarf_linker::DWARFLinkerBase Class Reference (original) (raw)
The base interface for DWARFLinker implementations. More...
#include "[llvm/DWARFLinker/DWARFLinkerBase.h](DWARFLinkerBase%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| 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 |
| using | ObjFileLoaderTy |
| using | InputVerificationHandlerTy |
| using | ObjectPrefixMapTy = std::map<std::string, std::string> |
| using | CompileUnitHandlerTy = function_ref<void(const DWARFUnit &Unit)> |
| using | SwiftInterfacesMapTy = std::map<std::string, std::string> |
| Public Member Functions | |
|---|---|
| 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. |
The base interface for DWARFLinker implementations.
Definition at line 75 of file DWARFLinkerBase.h.
◆ CompileUnitHandlerTy
◆ InputVerificationHandlerTy
Initial value:
StringRef - Represent a constant reference to a string, i.e.
This class represents DWARF information for source file and it's address map.
Definition at line 82 of file DWARFLinkerBase.h.
◆ MessageHandlerTy
Initial value:
std::function<void(
A structured debug information entry.
Utility class that carries the DWARF compile/type unit and the debug info entry in an object.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Definition at line 78 of file DWARFLinkerBase.h.
◆ ObjectPrefixMapTy
using llvm::dwarf_linker::DWARFLinkerBase::ObjectPrefixMapTy = std::map<std::string, std::string>
◆ ObjFileLoaderTy
Initial value:
std::function<ErrorOr<DWARFFile &>(
Definition at line 80 of file DWARFLinkerBase.h.
◆ SwiftInterfacesMapTy
using llvm::dwarf_linker::DWARFLinkerBase::SwiftInterfacesMapTy = std::map<std::string, std::string>
◆ AccelTableKind
The kind of accelerator tables to be emitted.
| Enumerator | |
|---|---|
| Apple | .apple_names, .apple_namespaces, .apple_types, .apple_objc. |
| Pub | .debug_pubnames, .debug_pubtypes |
| DebugNames | .debug_names. |
Definition at line 93 of file DWARFLinkerBase.h.
◆ OutputFileType
| virtual llvm::dwarf_linker::DWARFLinkerBase::~DWARFLinkerBase ( ) | virtualdefault |
|---|
◆ addAccelTableKind()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::addAccelTableKind ( AccelTableKind Kind) | pure virtual |
|---|
◆ addObjectFile()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::addObjectFile ( DWARFFile & File, ObjFileLoaderTy Loader = nullptr, CompileUnitHandlerTy OnCUDieLoaded = [](const DWARFUnit &) {} ) | pure virtual |
|---|
◆ link()
| virtual Error llvm::dwarf_linker::DWARFLinkerBase::link ( ) | pure virtual |
|---|
◆ setAllowNonDeterministicOutput()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setAllowNonDeterministicOutput ( bool ) | pure virtual |
|---|
◆ setEstimatedObjfilesAmount()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setEstimatedObjfilesAmount ( unsigned ObjFilesNum) | pure virtual |
|---|
◆ setInputVerificationHandler()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setInputVerificationHandler ( InputVerificationHandlerTy Handler) | pure virtual |
|---|
◆ setKeepFunctionForStatic()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setKeepFunctionForStatic ( bool KeepFunctionForStatic) | pure virtual |
|---|
◆ setNoODR()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setNoODR ( bool NoODR) | pure virtual |
|---|
◆ setNumThreads()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setNumThreads ( unsigned NumThreads) | pure virtual |
|---|
◆ setObjectPrefixMap()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setObjectPrefixMap ( ObjectPrefixMapTy * Map) | pure virtual |
|---|
◆ setPrependPath()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setPrependPath ( StringRef Ppath) | pure virtual |
|---|
◆ setStatistics()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setStatistics ( bool Statistics) | pure virtual |
|---|
◆ setSwiftInterfacesMap()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setSwiftInterfacesMap ( SwiftInterfacesMapTy * Map) | pure virtual |
|---|
◆ setTargetDWARFVersion()
| virtual Error llvm::dwarf_linker::DWARFLinkerBase::setTargetDWARFVersion ( uint16_t TargetDWARFVersion) | pure virtual |
|---|
◆ setUpdateIndexTablesOnly()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setUpdateIndexTablesOnly ( bool Update) | pure virtual |
|---|
◆ setVerbosity()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setVerbosity ( bool Verbose) | pure virtual |
|---|
◆ setVerifyInputDWARF()
| virtual void llvm::dwarf_linker::DWARFLinkerBase::setVerifyInputDWARF ( bool Verify) | pure virtual |
|---|
The documentation for this class was generated from the following file:
- include/llvm/DWARFLinker/DWARFLinkerBase.h