LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | Friends | List of all members
llvm::MCInstrAnalysis Class Reference

#include <MCInstrAnalysis.h>

Collaboration diagram for llvm::MCInstrAnalysis:
Collaboration graph
[legend]

Public Member Functions

 MCInstrAnalysis (const MCInstrInfo *Info)
 
virtual ~MCInstrAnalysis ()
 
virtual bool isBranch (const MCInst &Inst) const
 
virtual bool isConditionalBranch (const MCInst &Inst) const
 
virtual bool isUnconditionalBranch (const MCInst &Inst) const
 
virtual bool isIndirectBranch (const MCInst &Inst) const
 
virtual bool isCall (const MCInst &Inst) const
 
virtual bool isReturn (const MCInst &Inst) const
 
virtual bool isTerminator (const MCInst &Inst) const
 
virtual bool evaluateBranch (const MCInst &Inst, uint64_t Addr, uint64_t Size, uint64_t &Target) const
 

Protected Attributes

const MCInstrInfoInfo
 

Friends

class Target
 

Detailed Description

Definition at line 21 of file MCInstrAnalysis.h.

Constructor & Destructor Documentation

llvm::MCInstrAnalysis::MCInstrAnalysis ( const MCInstrInfo Info)
inline

Definition at line 27 of file MCInstrAnalysis.h.

virtual llvm::MCInstrAnalysis::~MCInstrAnalysis ( )
inlinevirtual

Definition at line 29 of file MCInstrAnalysis.h.

Member Function Documentation

bool MCInstrAnalysis::evaluateBranch ( const MCInst Inst,
uint64_t  Addr,
uint64_t  Size,
uint64_t &  Target 
) const
virtual

evaluateBranch - Given a branch instruction try to get the address the branch targets. Return true on success, and the address in Target.

Definition at line 13 of file MCInstrAnalysis.cpp.

References llvm::MCInstrInfo::get(), llvm::MCOperand::getImm(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), Info, and llvm::MCOI::OPERAND_PCREL.

virtual bool llvm::MCInstrAnalysis::isBranch ( const MCInst Inst) const
inlinevirtual

Definition at line 31 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isCall ( const MCInst Inst) const
inlinevirtual

Definition at line 47 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isConditionalBranch ( const MCInst Inst) const
inlinevirtual

Definition at line 35 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isIndirectBranch ( const MCInst Inst) const
inlinevirtual

Definition at line 43 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isReturn ( const MCInst Inst) const
inlinevirtual

Definition at line 51 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isTerminator ( const MCInst Inst) const
inlinevirtual

Definition at line 55 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

virtual bool llvm::MCInstrAnalysis::isUnconditionalBranch ( const MCInst Inst) const
inlinevirtual

Definition at line 39 of file MCInstrAnalysis.h.

References llvm::MCInstrInfo::get(), llvm::MCInst::getOpcode(), and Info.

Friends And Related Function Documentation

friend class Target
friend

Definition at line 23 of file MCInstrAnalysis.h.

Member Data Documentation

const MCInstrInfo* llvm::MCInstrAnalysis::Info
protected

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