#include <idioms_libgcc.h>
|
using | Fnc2Action = std::vector< std::pair< std::string, std::function< void(llvm::CallInst *)> >> |
|
◆ Fnc2Action
◆ IdiomsLibgcc()
retdec::bin2llvmir::IdiomsLibgcc::IdiomsLibgcc |
( |
| ) |
|
◆ checkFunctionToActionMap()
bool retdec::bin2llvmir::IdiomsLibgcc::checkFunctionToActionMap |
( |
const Fnc2Action & |
fnc2action | ) |
|
|
static |
Check the given container for element ordering problems. Entries in the container are tried to be applied from first to last. Function ID of any element can not be contained in any later element, otherwise later would never be applied.
- Parameters
-
fnc2action | This method could access _fnc2action directly, but we want to unit test it with custom container. |
- Returns
True
if problem in map found, false
otherwise.
- Note
- Method is static so it can be easily used in unit tests.
◆ run()
bool retdec::bin2llvmir::IdiomsLibgcc::run |
( |
| ) |
|
|
private |
◆ runInstruction()
bool retdec::bin2llvmir::IdiomsLibgcc::runInstruction |
( |
llvm::Instruction * |
inst | ) |
|
|
private |
◆ runOnModule()
bool retdec::bin2llvmir::IdiomsLibgcc::runOnModule |
( |
llvm::Module & |
M | ) |
|
|
overridevirtual |
◆ runOnModuleCustom()
bool retdec::bin2llvmir::IdiomsLibgcc::runOnModuleCustom |
( |
llvm::Module & |
M, |
|
|
Config * |
c, |
|
|
Abi * |
abi |
|
) |
| |
◆ _abi
Abi* retdec::bin2llvmir::IdiomsLibgcc::_abi = nullptr |
|
private |
◆ _config
Config* retdec::bin2llvmir::IdiomsLibgcc::_config = nullptr |
|
private |
◆ _fnc2action
Fnc2Action retdec::bin2llvmir::IdiomsLibgcc::_fnc2action |
|
private |
◆ _impl
◆ _module
llvm::Module* retdec::bin2llvmir::IdiomsLibgcc::_module = nullptr |
|
private |
◆ ID
char retdec::bin2llvmir::IdiomsLibgcc::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/idioms_libgcc/idioms_libgcc.h
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/src/bin2llvmir/optimizations/idioms_libgcc/idioms_libgcc.cpp