7 #ifndef RETDEC_BIN2LLVMIR_PROVIDERS_LTI_H
8 #define RETDEC_BIN2LLVMIR_PROVIDERS_LTI_H
10 #include <llvm/IR/Module.h>
25 std::shared_ptr<retdec::ctypes::Function>>;
31 const std::shared_ptr<ctypesparser::TypeConfig>& typeConfig,
36 const std::string& name);
45 llvm::Type*
getLlvmType(std::shared_ptr<retdec::ctypes::Type> type);
62 const std::shared_ptr<ctypesparser::TypeConfig>& typeConfig,
65 static bool getLti(llvm::Module* m,
Lti*& lti);
Config DB provider for bin2llvmirl.
static Lti * getLti(llvm::Module *m)
Definition: lti.cpp:254
static Lti * addLti(llvm::Module *m, Config *c, const std::shared_ptr< ctypesparser::TypeConfig > &typeConfig, retdec::loader::Image *objf)
Definition: lti.cpp:239
static std::map< llvm::Module *, Lti > _module2lti
Definition: lti.h:69
static void clear()
Definition: lti.cpp:266
llvm::Function * getLlvmFunctionFree(const std::string &name)
Definition: lti.cpp:188
std::pair< llvm::Function *, std::shared_ptr< retdec::ctypes::Function > > FunctionPair
Definition: lti.h:25
llvm::FunctionType * getLlvmFunctionType(const std::string &name)
Definition: lti.cpp:124
ctypesparser::JSONCTypesParser _ltiParser
Definition: lti.h:53
FunctionPair getPairFunction(const std::string &name)
Definition: lti.cpp:193
retdec::loader::Image * _image
Definition: lti.h:51
llvm::Module * _module
Definition: lti.h:48
void loadLtiFile(const std::string &filePath)
Definition: lti.cpp:94
llvm::Type * getLlvmType(std::shared_ptr< retdec::ctypes::Type > type)
Definition: lti.cpp:224
std::shared_ptr< ctypesparser::TypeConfig > _typeConfig
Definition: lti.h:50
FunctionPair getPairFunctionFree(const std::string &name)
Definition: lti.cpp:145
llvm::Function * getLlvmFunction(const std::string &name)
Definition: lti.cpp:219
bool hasLtiFunction(const std::string &name)
Definition: lti.cpp:108
std::unique_ptr< retdec::ctypes::Module > _ltiModule
Definition: lti.h:52
std::shared_ptr< retdec::ctypes::Function > getLtiFunction(const std::string &name)
Definition: lti.cpp:113
Lti(llvm::Module *m, Config *c, const std::shared_ptr< ctypesparser::TypeConfig > &typeConfig, retdec::loader::Image *objf)
Definition: lti.cpp:34
Config * _config
Definition: lti.h:49
Parser for C-types represented in JSON.
Definition: json_ctypes_parser.h:25
File image provider for bin2llvmirl.
Parser for C-types from JSON files.
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19
Defines type widths and singnedness for types that are implementation specific.