7 #ifndef RETDEC_BIN2LLVMIR_OPTIMIZATIONS_VALUE_PROTECT_VALUE_PROTECT_H
8 #define RETDEC_BIN2LLVMIR_OPTIMIZATIONS_VALUE_PROTECT_VALUE_PROTECT_H
10 #include <llvm/IR/Function.h>
11 #include <llvm/IR/Module.h>
12 #include <llvm/Pass.h>
55 llvm::Instruction* before);
64 static std::map<llvm::Type*, llvm::Function*>
_type2fnc;
Config DB provider for bin2llvmirl.
Definition: value_protect.h:37
bool protectRegisters(bool skipCalledFunctions=true)
Definition: value_protect.cpp:388
bool run()
Definition: value_protect.cpp:297
bool protect()
Definition: value_protect.cpp:316
ValueProtect()
Definition: value_protect.cpp:271
static char ID
Definition: value_protect.h:39
llvm::Module * _module
Definition: value_protect.h:61
bool unprotect()
Definition: value_protect.cpp:646
virtual bool runOnModule(llvm::Module &M) override
Definition: value_protect.cpp:277
bool protectStack()
Definition: value_protect.cpp:330
bool protectLoadStores()
Definition: value_protect.cpp:481
static std::map< llvm::Type *, llvm::Function * > _type2fnc
Definition: value_protect.h:64
bool runOnModuleCustom(llvm::Module &M, Config *c, Abi *abi)
Definition: value_protect.cpp:285
Config * _config
Definition: value_protect.h:62
void protectValue(llvm::Value *val, llvm::Type *t, llvm::Instruction *before)
Definition: value_protect.cpp:459
llvm::Function * getOrCreateFunction(llvm::Type *t)
Definition: value_protect.cpp:622
llvm::Function * createFunction(llvm::Type *t)
Definition: value_protect.cpp:628
Abi * _abi
Definition: value_protect.h:63
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19