#include <param_return.h>
◆ ParamReturn()
retdec::bin2llvmir::ParamReturn::ParamReturn |
( |
| ) |
|
◆ addDataFromCall()
void retdec::bin2llvmir::ParamReturn::addDataFromCall |
( |
DataFlowEntry * |
dataflow, |
|
|
llvm::CallInst * |
call |
|
) |
| const |
|
private |
◆ analyzeWithDemangler()
void retdec::bin2llvmir::ParamReturn::analyzeWithDemangler |
( |
DataFlowEntry & |
de | ) |
const |
|
private |
◆ applyToIr() [1/2]
void retdec::bin2llvmir::ParamReturn::applyToIr |
( |
| ) |
|
|
private |
◆ applyToIr() [2/2]
void retdec::bin2llvmir::ParamReturn::applyToIr |
( |
DataFlowEntry & |
de | ) |
|
|
private |
◆ collectAllCalls()
void retdec::bin2llvmir::ParamReturn::collectAllCalls |
( |
| ) |
|
|
private |
Collect possible arguments' stores for all calls we want to analyze. At the moment, we analyze only indirect or declared function calls with no arguments inside one basic block.
◆ collectCallSpecificTypes()
void retdec::bin2llvmir::ParamReturn::collectCallSpecificTypes |
( |
CallEntry * |
ce | ) |
const |
|
private |
◆ collectExtraData() [1/2]
void retdec::bin2llvmir::ParamReturn::collectExtraData |
( |
CallEntry * |
ce | ) |
const |
|
private |
◆ collectExtraData() [2/2]
void retdec::bin2llvmir::ParamReturn::collectExtraData |
( |
DataFlowEntry * |
de | ) |
const |
|
private |
◆ connectWrappers()
void retdec::bin2llvmir::ParamReturn::connectWrappers |
( |
const DataFlowEntry & |
de | ) |
|
|
private |
◆ createDataFlowEntry()
DataFlowEntry retdec::bin2llvmir::ParamReturn::createDataFlowEntry |
( |
llvm::Value * |
calledValue | ) |
const |
|
private |
◆ dumpInfo() [1/4]
void retdec::bin2llvmir::ParamReturn::dumpInfo |
( |
| ) |
const |
|
private |
◆ dumpInfo() [2/4]
void retdec::bin2llvmir::ParamReturn::dumpInfo |
( |
const CallEntry & |
ce | ) |
const |
|
private |
◆ dumpInfo() [3/4]
void retdec::bin2llvmir::ParamReturn::dumpInfo |
( |
const DataFlowEntry & |
de | ) |
const |
|
private |
◆ dumpInfo() [4/4]
void retdec::bin2llvmir::ParamReturn::dumpInfo |
( |
const ReturnEntry & |
de | ) |
const |
|
private |
◆ extractType()
Type * retdec::bin2llvmir::ParamReturn::extractType |
( |
llvm::Value * |
from | ) |
const |
|
private |
◆ fetchLoadsOfCalls()
std::map< CallInst *, std::vector< Value * > > retdec::bin2llvmir::ParamReturn::fetchLoadsOfCalls |
( |
const std::vector< CallEntry > & |
calls | ) |
const |
|
private |
◆ filterCalls()
void retdec::bin2llvmir::ParamReturn::filterCalls |
( |
| ) |
|
|
private |
◆ getWrapper()
CallInst * retdec::bin2llvmir::ParamReturn::getWrapper |
( |
llvm::Function * |
fnc | ) |
const |
|
private |
◆ modifyType()
void retdec::bin2llvmir::ParamReturn::modifyType |
( |
DataFlowEntry & |
de | ) |
const |
|
private |
◆ modifyWithDemangledData()
◆ run()
bool retdec::bin2llvmir::ParamReturn::run |
( |
| ) |
|
|
private |
◆ runOnModule()
bool retdec::bin2llvmir::ParamReturn::runOnModule |
( |
llvm::Module & |
m | ) |
|
|
overridevirtual |
◆ runOnModuleCustom()
◆ toCallConv()
◆ _abi
Abi* retdec::bin2llvmir::ParamReturn::_abi = nullptr |
|
private |
◆ _collector
◆ _config
Config* retdec::bin2llvmir::ParamReturn::_config = nullptr |
|
private |
◆ _dbgf
DebugFormat* retdec::bin2llvmir::ParamReturn::_dbgf = nullptr |
|
private |
◆ _demangler
Demangler* retdec::bin2llvmir::ParamReturn::_demangler = nullptr |
|
private |
◆ _fnc2calls
std::map<llvm::Value*, DataFlowEntry> retdec::bin2llvmir::ParamReturn::_fnc2calls |
|
private |
◆ _image
FileImage* retdec::bin2llvmir::ParamReturn::_image = nullptr |
|
private |
◆ _lti
Lti* retdec::bin2llvmir::ParamReturn::_lti = nullptr |
|
private |
◆ _module
llvm::Module* retdec::bin2llvmir::ParamReturn::_module = nullptr |
|
private |
◆ _RDA
◆ ID
char retdec::bin2llvmir::ParamReturn::ID = 0 |
|
static |
The documentation for this class was generated from the following files:
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/include/retdec/bin2llvmir/optimizations/param_return/param_return.h
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/src/bin2llvmir/optimizations/param_return/param_return.cpp