LLVM: llvm::jitlink::COFFLinkGraphBuilder Class Reference (original) (raw)
#include "[ExecutionEngine/JITLink/COFFLinkGraphBuilder.h](COFFLinkGraphBuilder%5F8h%5Fsource.html)"
| Protected Member Functions |
|
|
COFFLinkGraphBuilder (const object::COFFObjectFile &Obj, std::shared_ptr< orc::SymbolStringPool > SSP, Triple TT, SubtargetFeatures Features, LinkGraph::GetEdgeKindNameFunction GetEdgeKindName) |
| LinkGraph & |
getGraph () const |
| const object::COFFObjectFile & |
getObject () const |
| virtual Error |
addRelocations ()=0 |
| Error |
graphifySections () |
| Error |
graphifySymbols () |
| void |
setGraphSymbol (COFFSectionIndex SecIndex, COFFSymbolIndex SymIndex, Symbol &Sym) |
| Symbol * |
getGraphSymbol (COFFSymbolIndex SymIndex) const |
| void |
setGraphBlock (COFFSectionIndex SecIndex, Block *B) |
| Block * |
getGraphBlock (COFFSectionIndex SecIndex) const |
| Symbol & |
addImageBaseSymbol (StringRef Name="__ImageBase") |
| object::COFFObjectFile::section_iterator_range |
sections () const |
| template |
|
| Error |
forEachRelocation (const object::SectionRef &RelSec, RelocHandlerFunction &&Func, bool ProcessDebugSections=false) |
|
Traverse all matching relocation records in the given section. |
| template<typename ClassT, typename RelocHandlerMethod> |
|
| Error |
forEachRelocation (const object::SectionRef &RelSec, ClassT *Instance, RelocHandlerMethod &&Method, bool ProcessDebugSections=false) |
|
Traverse all matching relocation records in the given section. |
Definition at line 29 of file COFFLinkGraphBuilder.h.
◆ COFFSectionIndex
◆ COFFSymbolIndex
| llvm::jitlink::COFFLinkGraphBuilder::~COFFLinkGraphBuilder ( ) |
virtualdefault |
◆ COFFLinkGraphBuilder()
◆ addImageBaseSymbol()
| Symbol & llvm::jitlink::COFFLinkGraphBuilder::addImageBaseSymbol ( StringRef Name = "__ImageBase") |
inlineprotected |
◆ addRelocations()
| virtual Error llvm::jitlink::COFFLinkGraphBuilder::addRelocations ( ) |
protectedpure virtual |
◆ buildGraph()
| Expected< std::unique_ptr< LinkGraph > > llvm::jitlink::COFFLinkGraphBuilder::buildGraph |
( |
) |
◆ forEachRelocation() [1/2]
template<typename ClassT, typename RelocHandlerMethod>
| Error llvm::jitlink::COFFLinkGraphBuilder::forEachRelocation ( const object::SectionRef & RelSec, ClassT * Instance, RelocHandlerMethod && Method, bool ProcessDebugSections = false ) |
inlineprotected |
Traverse all matching relocation records in the given section.
Convenience wrapper to allow passing a member function for the handler.
Definition at line 104 of file COFFLinkGraphBuilder.h.
References forEachRelocation().
◆ forEachRelocation() [2/2]
template
| Error llvm::jitlink::COFFLinkGraphBuilder::forEachRelocation ( const object::SectionRef & RelSec, RelocHandlerFunction && Func, bool ProcessDebugSections = false ) |
protected |
◆ getGraph()
| LinkGraph & llvm::jitlink::COFFLinkGraphBuilder::getGraph ( ) const |
inlineprotected |
◆ getGraphBlock()
| Block * llvm::jitlink::COFFLinkGraphBuilder::getGraphBlock ( COFFSectionIndex SecIndex) const |
inlineprotected |
◆ getGraphSymbol()
| Symbol * llvm::jitlink::COFFLinkGraphBuilder::getGraphSymbol ( COFFSymbolIndex SymIndex) const |
inlineprotected |
◆ getObject()
◆ graphifySections()
| Error llvm::jitlink::COFFLinkGraphBuilder::graphifySections ( ) |
protected |
Definition at line 115 of file COFFLinkGraphBuilder.cpp.
References B(), llvm::Data, llvm::dbgs(), llvm::orc::Exec, llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA, llvm::COFF::IMAGE_SCN_LNK_REMOVE, llvm::COFF::IMAGE_SCN_MEM_EXECUTE, llvm::COFF::IMAGE_SCN_MEM_READ, llvm::COFF::IMAGE_SCN_MEM_WRITE, LLVM_DEBUG, llvm::make_error(), llvm::orc::NoAlloc, llvm::orc::Read, setGraphBlock(), llvm::Error::success(), llvm::Expected< T >::takeError(), and llvm::orc::Write.
Referenced by buildGraph().
◆ graphifySymbols()
| Error llvm::jitlink::COFFLinkGraphBuilder::graphifySymbols ( ) |
protected |
◆ sections()
◆ setGraphBlock()
| void llvm::jitlink::COFFLinkGraphBuilder::setGraphBlock ( COFFSectionIndex SecIndex, Block * B ) |
inlineprotected |
◆ setGraphSymbol()
The documentation for this class was generated from the following files: