#include <writer_dsm.h>
|
void | run (std::ostream &ret) |
|
void | generateHeader (std::ostream &ret) |
|
void | generateCode (std::ostream &ret) |
|
void | generateCodeSeg (const retdec::loader::Segment *seg, std::ostream &ret) |
|
void | generateFunction (const retdec::common::Function *fnc, std::ostream &ret) |
|
void | generateInstruction (AsmInstruction &ai, std::ostream &ret) |
|
void | generateData (std::ostream &ret) |
|
void | generateDataSeg (const retdec::loader::Segment *seg, std::ostream &ret) |
|
void | generateDataRange (retdec::common::Address start, retdec::common::Address end, std::ostream &ret) |
|
void | generateAlignedAddress (retdec::common::Address addr, std::ostream &ret) |
|
void | getAsmInstructionHex (AsmInstruction &ai, std::ostream &ret) |
|
std::string | processInstructionDsm (AsmInstruction &ai) |
|
void | generateData (std::ostream &ret, retdec::common::Address start, std::size_t size, const std::string &objVal="") |
|
std::string | escapeString (const std::string &str) |
|
std::string | reduceNegativeNumbers (const std::string &str) |
| Find negative numbers in additions and change it to subtractions. More...
|
|
void | findLongestInstruction () |
|
void | findLongestAddress () |
|
std::string | getString (const retdec::common::Object *cgv, const llvm::ConstantDataArray *cda) |
|
std::string | getFunctionName (llvm::Function *f) const |
|
std::string | getFunctionName (const retdec::common::Function *f) const |
|
◆ DsmWriter()
retdec::bin2llvmir::DsmWriter::DsmWriter |
( |
| ) |
|
◆ escapeString()
std::string retdec::bin2llvmir::DsmWriter::escapeString |
( |
const std::string & |
str | ) |
|
|
private |
◆ findLongestAddress()
void retdec::bin2llvmir::DsmWriter::findLongestAddress |
( |
| ) |
|
|
private |
◆ findLongestInstruction()
void retdec::bin2llvmir::DsmWriter::findLongestInstruction |
( |
| ) |
|
|
private |
◆ generateAlignedAddress()
◆ generateCode()
void retdec::bin2llvmir::DsmWriter::generateCode |
( |
std::ostream & |
ret | ) |
|
|
private |
◆ generateCodeSeg()
◆ generateData() [1/2]
void retdec::bin2llvmir::DsmWriter::generateData |
( |
std::ostream & |
ret | ) |
|
|
private |
◆ generateData() [2/2]
void retdec::bin2llvmir::DsmWriter::generateData |
( |
std::ostream & |
ret, |
|
|
retdec::common::Address |
start, |
|
|
std::size_t |
size, |
|
|
const std::string & |
objVal = "" |
|
) |
| |
|
private |
◆ generateDataRange()
◆ generateDataSeg()
◆ generateFunction()
◆ generateHeader()
void retdec::bin2llvmir::DsmWriter::generateHeader |
( |
std::ostream & |
ret | ) |
|
|
private |
◆ generateInstruction()
void retdec::bin2llvmir::DsmWriter::generateInstruction |
( |
AsmInstruction & |
ai, |
|
|
std::ostream & |
ret |
|
) |
| |
|
private |
◆ getAsmInstructionHex()
void retdec::bin2llvmir::DsmWriter::getAsmInstructionHex |
( |
AsmInstruction & |
ai, |
|
|
std::ostream & |
ret |
|
) |
| |
|
private |
◆ getFunctionName() [1/2]
◆ getFunctionName() [2/2]
std::string retdec::bin2llvmir::DsmWriter::getFunctionName |
( |
llvm::Function * |
f | ) |
const |
|
private |
◆ getString()
std::string retdec::bin2llvmir::DsmWriter::getString |
( |
const retdec::common::Object * |
cgv, |
|
|
const llvm::ConstantDataArray * |
cda |
|
) |
| |
|
private |
◆ processInstructionDsm()
std::string retdec::bin2llvmir::DsmWriter::processInstructionDsm |
( |
AsmInstruction & |
ai | ) |
|
|
private |
◆ reduceNegativeNumbers()
std::string retdec::bin2llvmir::DsmWriter::reduceNegativeNumbers |
( |
const std::string & |
str | ) |
|
|
private |
Find negative numbers in additions and change it to subtractions.
- Parameters
-
- Returns
- Reduced string.
◆ run()
void retdec::bin2llvmir::DsmWriter::run |
( |
std::ostream & |
ret | ) |
|
|
private |
◆ runOnModule()
bool retdec::bin2llvmir::DsmWriter::runOnModule |
( |
llvm::Module & |
m | ) |
|
|
overridevirtual |
- Returns
- Always
false
. This pass produces DSM output, it does not modify module.
◆ runOnModuleCustom()
bool retdec::bin2llvmir::DsmWriter::runOnModuleCustom |
( |
llvm::Module & |
m, |
|
|
Config * |
c, |
|
|
FileImage * |
objf, |
|
|
Abi * |
abi, |
|
|
std::ostream & |
ret |
|
) |
| |
- Returns
- Always
false
. This pass produces DSM output, it does not modify module.
◆ _abi
Abi* retdec::bin2llvmir::DsmWriter::_abi = nullptr |
|
private |
◆ _addr2fnc
◆ _config
Config* retdec::bin2llvmir::DsmWriter::_config = nullptr |
|
private |
◆ _longestAddr
std::size_t retdec::bin2llvmir::DsmWriter::_longestAddr = 0 |
|
private |
◆ _longestInst
std::size_t retdec::bin2llvmir::DsmWriter::_longestInst = 0 |
|
private |
◆ _module
llvm::Module* retdec::bin2llvmir::DsmWriter::_module = nullptr |
|
private |
◆ _objf
FileImage* retdec::bin2llvmir::DsmWriter::_objf = nullptr |
|
private |
◆ ALIGN
const std::string retdec::bin2llvmir::DsmWriter::ALIGN = " " |
|
private |
◆ DATA_SEGMENT_LINE
const std::size_t retdec::bin2llvmir::DsmWriter::DATA_SEGMENT_LINE = 16 |
|
private |
◆ ID
char retdec::bin2llvmir::DsmWriter::ID = 0 |
|
static |
◆ INSTR_SEPARATOR
const std::string retdec::bin2llvmir::DsmWriter::INSTR_SEPARATOR = "\t" |
|
private |
The documentation for this class was generated from the following files:
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/include/retdec/bin2llvmir/optimizations/writer_dsm/writer_dsm.h
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/src/bin2llvmir/optimizations/writer_dsm/writer_dsm.cpp