retdec
List of all members
retdec::capstone2llvmir::Capstone2LlvmIrTranslatorArm Class Reference

#include <arm.h>

Inheritance diagram for retdec::capstone2llvmir::Capstone2LlvmIrTranslatorArm:
Inheritance graph
[legend]
Collaboration diagram for retdec::capstone2llvmir::Capstone2LlvmIrTranslatorArm:
Collaboration graph
[legend]

Additional Inherited Members

- Public Member Functions inherited from retdec::capstone2llvmir::Capstone2LlvmIrTranslator
virtual ~Capstone2LlvmIrTranslator ()=default
 
virtual void setIgnoreUnexpectedOperands (bool f)=0
 
virtual void setIgnoreUnhandledInstructions (bool f)=0
 
virtual void setGeneratePseudoAsmFunctions (bool f)=0
 
virtual bool isIgnoreUnexpectedOperands () const =0
 
virtual bool isIgnoreUnhandledInstructions () const =0
 
virtual bool isGeneratePseudoAsmFunctions () const =0
 
virtual bool isAllowedBasicMode (cs_mode m)=0
 
virtual bool isAllowedExtraMode (cs_mode m)=0
 
virtual void modifyBasicMode (cs_mode m)=0
 
virtual void modifyExtraMode (cs_mode m)=0
 
virtual uint32_t getArchByteSize ()=0
 
virtual uint32_t getArchBitSize ()=0
 
virtual TranslationResult translate (const uint8_t *bytes, std::size_t size, retdec::common::Address a, llvm::IRBuilder<> &irb, std::size_t count=0, bool stopOnBranch=false)=0
 
virtual TranslationResultOne translateOne (const uint8_t *&bytes, std::size_t &size, retdec::common::Address &a, llvm::IRBuilder<> &irb)=0
 
virtual const csh & getCapstoneEngine () const =0
 
virtual cs_arch getArchitecture () const =0
 
virtual cs_mode getBasicMode () const =0
 
virtual cs_mode getExtraMode () const =0
 
virtual bool hasDelaySlot (uint32_t id) const =0
 
virtual bool hasDelaySlotTypical (uint32_t id) const =0
 
virtual bool hasDelaySlotLikely (uint32_t id) const =0
 
virtual std::size_t getDelaySlot (uint32_t id) const =0
 
virtual llvm::GlobalVariable * getRegister (uint32_t r)=0
 
virtual std::string getRegisterName (uint32_t r) const =0
 
virtual uint32_t getRegisterBitSize (uint32_t r) const =0
 
virtual uint32_t getRegisterByteSize (uint32_t r) const =0
 
virtual llvm::Type * getRegisterType (uint32_t r) const =0
 
virtual bool isControlFlowInstruction (cs_insn &i) const =0
 
virtual bool isCallInstruction (cs_insn &i) const =0
 
virtual bool isReturnInstruction (cs_insn &i) const =0
 
virtual bool isBranchInstruction (cs_insn &i) const =0
 
virtual bool isCondBranchInstruction (cs_insn &i) const =0
 
virtual llvm::Module * getModule () const =0
 
virtual bool isSpecialAsm2LlvmMapGlobal (llvm::Value *v) const =0
 
virtual llvm::StoreInst * isSpecialAsm2LlvmInstr (llvm::Value *v) const =0
 
virtual llvm::GlobalVariable * getAsm2LlvmMapGlobalVariable () const =0
 
virtual bool isCallFunction (llvm::Function *f) const =0
 
virtual bool isCallFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::BranchInst * isInConditionCallFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::Function * getCallFunction () const =0
 
virtual bool isReturnFunction (llvm::Function *f) const =0
 
virtual bool isReturnFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::BranchInst * isInConditionReturnFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::Function * getReturnFunction () const =0
 
virtual bool isBranchFunction (llvm::Function *f) const =0
 
virtual bool isBranchFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::BranchInst * isInConditionBranchFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::Function * getBranchFunction () const =0
 
virtual bool isCondBranchFunction (llvm::Function *f) const =0
 
virtual llvm::BranchInst * isInConditionCondBranchFunctionCall (llvm::CallInst *c) const =0
 
virtual bool isCondBranchFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::Function * getCondBranchFunction () const =0
 
virtual bool isAnyPseudoFunction (llvm::Function *f) const =0
 
virtual bool isAnyPseudoFunctionCall (llvm::CallInst *c) const =0
 
virtual llvm::GlobalVariable * isRegister (llvm::Value *v) const =0
 
virtual uint32_t getCapstoneRegister (llvm::GlobalVariable *gv) const =0
 
virtual bool isPseudoAsmFunction (llvm::Function *f) const =0
 
virtual bool isPseudoAsmFunctionCall (llvm::CallInst *c) const =0
 
virtual const std::set< llvm::Function * > & getPseudoAsmFunctions () const =0
 
- Static Public Member Functions inherited from retdec::capstone2llvmir::Capstone2LlvmIrTranslator
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateArch (cs_arch a, llvm::Module *m, cs_mode basic=CS_MODE_LITTLE_ENDIAN, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateArm (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateThumb (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateArm64 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateMips32 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateMips64 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateMips3 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateMips32R6 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateX86_16 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateX86_32 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateX86_64 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreatePpc32 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreatePpc64 (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreatePpcQpx (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateSparc (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateSysz (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 
static std::unique_ptr< Capstone2LlvmIrTranslatorcreateXcore (llvm::Module *m, cs_mode extra=CS_MODE_LITTLE_ENDIAN)
 

Detailed Description

ARM specialization of translator's abstract public interface.


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