retdec
indirectly_called_funcs_analysis.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_BIN2LLVMIR_ANALYSES_INDIRECTLY_CALLED_FUNCS_ANALYSIS_H
8 #define RETDEC_BIN2LLVMIR_ANALYSES_INDIRECTLY_CALLED_FUNCS_ANALYSIS_H
9 
10 #include <llvm/IR/Function.h>
11 #include <llvm/IR/Instruction.h>
12 #include <llvm/IR/Instructions.h>
13 #include <llvm/IR/Module.h>
14 
15 namespace retdec {
16 namespace bin2llvmir {
17 
22 {
23  public:
24  static std::set<llvm::Function*> getFuncsForIndirectCalls(
25  const std::set<llvm::CallInst*> &call,
26  llvm::Module::FunctionListType &funcsToCheck);
27  static std::set<llvm::Function*> getFuncsForIndirectCall(
28  const llvm::CallInst &call,
29  const std::vector<llvm::Function*> &funcsToCheck);
30 };
31 
32 } // namespace bin2llvmir
33 } // namespace retdec
34 
35 #endif
Analysis for finding out which functions can be indirectly called.
Definition: indirectly_called_funcs_analysis.h:22
static std::set< llvm::Function * > getFuncsForIndirectCalls(const std::set< llvm::CallInst * > &call, llvm::Module::FunctionListType &funcsToCheck)
Tries to find functions that can be called by indirect calls.
Definition: indirectly_called_funcs_analysis.cpp:58
static std::set< llvm::Function * > getFuncsForIndirectCall(const llvm::CallInst &call, const std::vector< llvm::Function * > &funcsToCheck)
Tries to find functions that can be called by indirect call.
Definition: indirectly_called_funcs_analysis.cpp:90
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19