retdec
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
retdec::bin2llvmir::RegisterLocalization Class Reference

#include <register_localization.h>

Inheritance diagram for retdec::bin2llvmir::RegisterLocalization:
Inheritance graph
[legend]
Collaboration diagram for retdec::bin2llvmir::RegisterLocalization:
Collaboration graph
[legend]

Public Member Functions

 RegisterLocalization ()
 
virtual bool runOnModule (llvm::Module &M) override
 
bool runOnModuleCustom (llvm::Module &M, Abi *a, Config *c)
 

Static Public Attributes

static char ID = 0
 

Private Member Functions

bool run ()
 
llvm::AllocaInst * getLocalized (llvm::GlobalVariable *reg, llvm::Function *fnc, std::map< llvm::Function *, llvm::AllocaInst * > &fnc2alloca)
 
bool localize (llvm::GlobalVariable *reg, std::map< llvm::Function *, llvm::AllocaInst * > &fnc2alloca, llvm::Instruction *insn)
 

Private Attributes

llvm::Module * _module = nullptr
 
Abi_abi = nullptr
 
Config_config = nullptr
 

Constructor & Destructor Documentation

◆ RegisterLocalization()

retdec::bin2llvmir::RegisterLocalization::RegisterLocalization ( )

Member Function Documentation

◆ getLocalized()

llvm::AllocaInst * retdec::bin2llvmir::RegisterLocalization::getLocalized ( llvm::GlobalVariable *  reg,
llvm::Function *  fnc,
std::map< llvm::Function *, llvm::AllocaInst * > &  fnc2alloca 
)
private

◆ localize()

bool retdec::bin2llvmir::RegisterLocalization::localize ( llvm::GlobalVariable *  reg,
std::map< llvm::Function *, llvm::AllocaInst * > &  fnc2alloca,
llvm::Instruction *  insn 
)
private

◆ run()

bool retdec::bin2llvmir::RegisterLocalization::run ( )
private
Returns
True if module _module was modified in any way, false otherwise.

◆ runOnModule()

bool retdec::bin2llvmir::RegisterLocalization::runOnModule ( llvm::Module &  M)
overridevirtual

◆ runOnModuleCustom()

bool retdec::bin2llvmir::RegisterLocalization::runOnModuleCustom ( llvm::Module &  M,
Abi a,
Config c 
)

Member Data Documentation

◆ _abi

Abi* retdec::bin2llvmir::RegisterLocalization::_abi = nullptr
private

◆ _config

Config* retdec::bin2llvmir::RegisterLocalization::_config = nullptr
private

◆ _module

llvm::Module* retdec::bin2llvmir::RegisterLocalization::_module = nullptr
private

◆ ID

char retdec::bin2llvmir::RegisterLocalization::ID = 0
static

The documentation for this class was generated from the following files: