LLVM 17.0.0git
|
A class that transforms the DWARF in a DWARFContext into GSYM information by populating the GsymCreator object that it is constructed with. More...
#include "llvm/DebugInfo/GSYM/DwarfTransformer.h"
Public Member Functions | |
DwarfTransformer (DWARFContext &D, raw_ostream &OS, GsymCreator &G) | |
Create a DWARF transformer. | |
llvm::Error | convert (uint32_t NumThreads) |
Extract the DWARF from the supplied object file and convert it into the Gsym format in the GsymCreator object that is passed in. | |
llvm::Error | verify (StringRef GsymPath) |
Friends | |
class | DwarfTransformerTest |
A class that transforms the DWARF in a DWARFContext into GSYM information by populating the GsymCreator object that it is constructed with.
This class supports converting all DW_TAG_subprogram DIEs into gsym::FunctionInfo objects that includes line table information and inline function information. Creating a separate class to transform this data allows this class to be unit tested.
Definition at line 32 of file DwarfTransformer.h.
|
inline |
Create a DWARF transformer.
D | The DWARF to use when converting to GSYM. |
OS | The stream to log warnings and non fatal issues to. |
G | The GSYM creator to populate with the function information from the debug info. |
Definition at line 43 of file DwarfTransformer.h.
Extract the DWARF from the supplied object file and convert it into the Gsym format in the GsymCreator object that is passed in.
Returns an error if something fatal is encountered.
Definition at line 428 of file DwarfTransformer.cpp.
References llvm::ThreadPool::async(), llvm::DWARFContext::compile_units(), llvm::raw_ostream::flush(), llvm::gsym::GsymCreator::getNumFunctionInfos(), llvm::DWARFUnit::getUnitDIE(), llvm::hardware_concurrency(), llvm::DWARFUnit::isDWOUnit(), llvm::Error::success(), llvm::dwarf::toString(), and llvm::ThreadPool::wait().
llvm::Error DwarfTransformer::verify | ( | StringRef | GsymPath | ) |
Definition at line 499 of file DwarfTransformer.cpp.
References Addr, llvm::count(), llvm::createStringError(), llvm::DWARFContext::getInliningInfoForAddress(), llvm::DWARFContext::getLineInfoForAddress(), HEX64, I, Idx, llvm::gsym::GsymReader::openFile(), llvm::gsym::FunctionInfo::size(), llvm::Error::success(), and llvm::object::SectionedAddress::UndefSection.
|
friend |
Definition at line 85 of file DwarfTransformer.h.