retdec
Public Member Functions | Public Attributes | List of all members
retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult Struct Reference

#include <capstone2llvmir.h>

Collaboration diagram for retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult:
Collaboration graph
[legend]

Public Member Functions

bool failed () const
 

Public Attributes

std::list< std::pair< llvm::StoreInst *, cs_insn * > > insns
 
std::size_t size = 0
 Byte size of the translated binary chunk. More...
 
std::size_t count = 0
 Number of translated assembly instructions. More...
 
llvm::CallInst * branchCall = nullptr
 
bool inCondition = false
 

Member Function Documentation

◆ failed()

bool retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::failed ( ) const
inline

Member Data Documentation

◆ branchCall

llvm::CallInst* retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::branchCall = nullptr

If stopOnBranch was set, this is set to the terminating branch instruction (any type, i.e. call, return, branch, cond branch), or nullptr if there was no such instruction.

◆ count

std::size_t retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::count = 0

Number of translated assembly instructions.

◆ inCondition

bool retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::inCondition = false

True if branchCall is in conditional code, e.g. unconditional branch in if-then.

◆ insns

std::list<std::pair<llvm::StoreInst*, cs_insn*> > retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::insns

List of translated instruction pairs: first = LLVM IR instruction used for LLVM IR <-> Capstone instruction mapping. second = capstone instruction. All created LLVM IR instructions are added to the working LLVM module and should be automatically destroyed when module is destroyed. All capstone instructions are dynamically allocated by this method, and must be freed by caller to avoid memory leaks.

◆ size

std::size_t retdec::capstone2llvmir::Capstone2LlvmIrTranslator::TranslationResult::size = 0

Byte size of the translated binary chunk.


The documentation for this struct was generated from the following file: