7 #ifndef RETDEC_BIN2LLVMIR_OPTIMIZATIONS_IDIOMS_LIBGCC_IDIOMS_LIBGCC_H
8 #define RETDEC_BIN2LLVMIR_OPTIMIZATIONS_IDIOMS_LIBGCC_IDIOMS_LIBGCC_H
10 #include <llvm/IR/Module.h>
11 #include <llvm/Pass.h>
19 class IdiomsLibgccImpl;
25 std::pair<std::string,
26 std::function<void(llvm::CallInst*)>>>;
41 std::unique_ptr<IdiomsLibgccImpl>
_impl;
Config DB provider for bin2llvmirl.
Definition: idioms_libgcc.h:22
static char ID
Definition: idioms_libgcc.h:29
std::vector< std::pair< std::string, std::function< void(llvm::CallInst *)> >> Fnc2Action
Definition: idioms_libgcc.h:26
Config * _config
Definition: idioms_libgcc.h:43
Abi * _abi
Definition: idioms_libgcc.h:44
static bool checkFunctionToActionMap(const Fnc2Action &fnc2action)
Definition: idioms_libgcc.cpp:1232
llvm::Module * _module
Definition: idioms_libgcc.h:42
virtual bool runOnModule(llvm::Module &M) override
Definition: idioms_libgcc.cpp:1404
Fnc2Action _fnc2action
Definition: idioms_libgcc.h:46
IdiomsLibgcc()
Definition: idioms_libgcc.cpp:1251
bool runInstruction(llvm::Instruction *inst)
Definition: idioms_libgcc.cpp:1452
std::unique_ptr< IdiomsLibgccImpl > _impl
Definition: idioms_libgcc.h:41
bool runOnModuleCustom(llvm::Module &M, Config *c, Abi *abi)
Definition: idioms_libgcc.cpp:1412
bool run()
Definition: idioms_libgcc.cpp:1420
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19