7 #ifndef RETDEC_BIN2LLVMIR_PROVIDERS_FILEIMAGE_H
8 #define RETDEC_BIN2LLVMIR_PROVIDERS_FILEIMAGE_H
10 #include <llvm/IR/Constants.h>
11 #include <llvm/IR/Module.h>
12 #include <llvm/IR/Value.h>
33 const std::string& path,
37 const std::shared_ptr<retdec::fileformat::FileFormat>& ff,
41 std::unique_ptr<retdec::loader::Image> img,
60 llvm::PointerType* type,
63 llvm::StructType* type,
66 llvm::ArrayType* type,
71 bool wideString =
false);
104 std::unique_ptr<retdec::loader::Image>
_image;
123 const std::string& path,
127 const std::shared_ptr<retdec::fileformat::FileFormat>& ff,
Config DB provider for bin2llvmirl.
Definition: fileimage.h:119
static FileImage * addFileImage(llvm::Module *m, const std::string &path, Config *config)
Definition: fileimage.cpp:636
static std::map< llvm::Module *, FileImage > _module2image
Mapping of modules to file images associated with them.
Definition: fileimage.h:145
static FileImage * getFileImage(llvm::Module *m)
Definition: fileimage.cpp:670
static void clear()
Definition: fileimage.cpp:696
Definition: fileimage.h:27
void initRtti(Config *config)
Definition: fileimage.cpp:103
llvm::Constant * getConstantArray(llvm::ArrayType *type, retdec::common::Address addr)
Definition: fileimage.cpp:292
llvm::Constant * getConstantFloat(retdec::common::Address addr)
Definition: fileimage.cpp:154
const retdec::rtti_finder::RttiFinder & getRtti() const
Definition: fileimage.cpp:125
FileImage(llvm::Module *m, const std::string &path, Config *config)
Definition: fileimage.cpp:24
llvm::Module * _module
Definition: fileimage.h:103
retdec::fileformat::FileFormat * getFileFormat() const
Definition: fileimage.cpp:120
llvm::Constant * getConstantCharPointer(retdec::common::Address addr)
Definition: fileimage.cpp:193
llvm::Constant * getConstantStruct(llvm::StructType *type, retdec::common::Address addr)
Definition: fileimage.cpp:270
llvm::Constant * getConstantDouble(retdec::common::Address addr)
Definition: fileimage.cpp:166
std::unique_ptr< retdec::loader::Image > _image
Definition: fileimage.h:104
auto & getSegments() const
Definition: fileimage.h:88
llvm::Constant * getConstantLongDouble(retdec::common::Address addr)
Definition: fileimage.cpp:178
llvm::Constant * getConstant(llvm::Type *type, retdec::common::Address addr=retdec::common::Address::Undefined, bool wideString=false)
Definition: fileimage.cpp:337
llvm::ConstantInt * getConstantInt(llvm::IntegerType *t, retdec::common::Address addr)
Definition: fileimage.cpp:130
llvm::ConstantInt * getConstantDefault(retdec::common::Address addr)
Definition: fileimage.cpp:144
llvm::Constant * getConstantHalf(retdec::common::Address addr)
Definition: fileimage.cpp:149
retdec::rtti_finder::RttiFinder _rtti
Definition: fileimage.h:105
bool isImportTerminating(const fileformat::ImportTable *impTbl, const fileformat::Import *imp) const
Definition: fileimage.cpp:572
retdec::loader::Image * getImage() const
Definition: fileimage.cpp:115
llvm::Constant * getConstantCharArrayNice(retdec::common::Address addr)
Definition: fileimage.cpp:229
llvm::Constant * getConstantPointer(llvm::PointerType *type, retdec::common::Address addr)
Definition: fileimage.cpp:248
static const uint64_t Undefined
Definition: address.h:47
Definition: rtti_finder.h:24
Address, address pair and other derived class representation.
Declaration of loadable image class.
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19
Find C++ RTTI structures in Image.