retdec
|
Classes | |
class | Capstone2LlvmIrTranslatorArm |
class | Capstone2LlvmIrTranslatorArm64 |
class | Capstone2LlvmIrTranslator |
class | BaseError |
class | CapstoneError |
class | ModeSettingError |
class | UnexpectedOperandsError |
class | UnhandledInstructionError |
class | GenericError |
class | Capstone2LlvmIrTranslatorMips |
class | Capstone2LlvmIrTranslatorPowerpc |
class | Capstone2LlvmIrTranslatorX86 |
class | Capstone2LlvmIrTranslatorArm_impl |
class | Capstone2LlvmIrTranslatorArm64_impl |
class | Capstone2LlvmIrTranslator_impl |
class | Capstone2LlvmIrTranslatorMips_impl |
class | Capstone2LlvmIrTranslatorPowerpc_impl |
class | Capstone2LlvmIrTranslatorX86_impl |
Functions | |
std::string | capstoneArchToString (cs_arch a) |
std::string | capstoneModeToString (cs_mode m) |
llvm::Value * | generateValueNegate (llvm::IRBuilder<> &irb, llvm::Value *val) |
llvm::IntegerType * | getIntegerTypeFromByteSize (llvm::Module *module, unsigned sz) |
llvm::Type * | getFloatTypeFromByteSize (llvm::Module *module, unsigned sz) |
llvm::IRBuilder | _generateIfThen (llvm::Value *cond, llvm::IRBuilder<> &irb, bool reverse) |
llvm::IRBuilder | generateIfThen (llvm::Value *cond, llvm::IRBuilder<> &irb) |
llvm::IRBuilder | generateIfNotThen (llvm::Value *cond, llvm::IRBuilder<> &irb) |
std::pair< llvm::IRBuilder<>, llvm::IRBuilder<> > | generateIfThenElse (llvm::Value *cond, llvm::IRBuilder<> &irb) |
std::pair< llvm::IRBuilder<>, llvm::IRBuilder<> > | generateWhile (llvm::BranchInst *&branch, llvm::IRBuilder<> &irb) |
Variables | |
static std::map< cs_arch, std::string > | capstoneArchStringMap |
static std::map< cs_mode, std::string > | capstoneModeStringMap |
llvm::IRBuilder retdec::capstone2llvmir::_generateIfThen | ( | llvm::Value * | cond, |
llvm::IRBuilder<> & | irb, | ||
bool | reverse | ||
) |
|
inline |
|
inline |
llvm::IRBuilder retdec::capstone2llvmir::generateIfNotThen | ( | llvm::Value * | cond, |
llvm::IRBuilder<> & | irb | ||
) |
Same as generateIfThen()
but if cond
is true
, body is skipped:
llvm::IRBuilder retdec::capstone2llvmir::generateIfThen | ( | llvm::Value * | cond, |
llvm::IRBuilder<> & | irb | ||
) |
Generate if-then statement at the current insert point of irb
builder.
cond | Value used as condition in if() statement. |
irb | Reference to IR builder. After if-then is generated, irb's insert point is set to first instruction after the statement. |
std::pair< llvm::IRBuilder<>, llvm::IRBuilder<> > retdec::capstone2llvmir::generateIfThenElse | ( | llvm::Value * | cond, |
llvm::IRBuilder<> & | irb | ||
) |
Generate if-then-else statement at the current insert point of irb
builder.
cond | Value used as condition in if() statement. |
irb | Reference to IR builder. After if-then-else is generated, irb's insert point is set to first instruction after the statement. |
llvm::Value * retdec::capstone2llvmir::generateValueNegate | ( | llvm::IRBuilder<> & | irb, |
llvm::Value * | val | ||
) |
val
. std::pair< llvm::IRBuilder<>, llvm::IRBuilder<> > retdec::capstone2llvmir::generateWhile | ( | llvm::BranchInst *& | branch, |
llvm::IRBuilder<> & | irb | ||
) |
Generate while statement at the current insert point of irb
builder.
branch | Reference to a branch instruction pointer that will be filled with a while's conditional branch, whose condition is set to true (infinite loop). Use before IR builder to generate condition and llvm::BranchInst::setCondition() to set it to whis branch. |
irb | Reference to IR builder. After while is generated, irb's insert point is set to first instruction after the statement. |
llvm::Type * retdec::capstone2llvmir::getFloatTypeFromByteSize | ( | llvm::Module * | module, |
unsigned | sz | ||
) |
llvm::IntegerType * retdec::capstone2llvmir::getIntegerTypeFromByteSize | ( | llvm::Module * | module, |
unsigned | sz | ||
) |
|
static |
|
static |