7 #ifndef RETDEC_BIN2LLVMIR_OPTIMIZATIONS_CONSTANTS_CONSTANTS_H
8 #define RETDEC_BIN2LLVMIR_OPTIMIZATIONS_CONSTANTS_CONSTANTS_H
11 #include <unordered_set>
14 #include <llvm/IR/Function.h>
15 #include <llvm/IR/Module.h>
16 #include <llvm/Pass.h>
45 llvm::Instruction* inst,
47 bool storeValue =
false);
Config DB provider for bin2llvmirl.
Definition: constants.h:29
void tagFunctionsWithUsedCryptoGlobals()
FileImage * _image
Definition: constants.h:54
Config * _config
Definition: constants.h:52
static char ID
Definition: constants.h:31
Abi * _abi
Definition: constants.h:53
std::unordered_set< llvm::Value * > _toRemove
Definition: constants.h:57
llvm::Module * _module
Definition: constants.h:51
virtual bool runOnModule(llvm::Module &m) override
Definition: constants.cpp:50
bool run()
Definition: constants.cpp:75
void checkForGlobalInInstruction(ReachingDefinitionsAnalysis &RDA, llvm::Instruction *inst, llvm::Value *val, bool storeValue=false)
Definition: constants.cpp:118
ConstantsAnalysis()
Definition: constants.cpp:44
DebugFormat * _dbgf
Definition: constants.h:55
bool runOnModuleCustom(llvm::Module &m, Config *c, Abi *a, FileImage *i, DebugFormat *d)
Definition: constants.cpp:60
Definition: fileimage.h:27
Definition: reaching_definitions.h:121
Address, address pair and other derived class representation.
File image provider for bin2llvmirl.
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19
Reaching definitions analysis (RDA) builds UD and DU chains.