LLVM  6.0.0svn
Public Member Functions | Protected Attributes | Friends | List of all members
llvm::MCInstrAnalysis Class Reference

#include "llvm/MC/MCInstrAnalysis.h"

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

Public Member Functions

 MCInstrAnalysis (const MCInstrInfo *Info)
 
virtual ~MCInstrAnalysis ()=default
 
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
 Given a branch instruction try to get the address the branch targets. More...
 

Protected Attributes

const MCInstrInfoInfo
 

Friends

class Target
 

Detailed Description

Definition at line 25 of file MCInstrAnalysis.h.

Constructor & Destructor Documentation

◆ MCInstrAnalysis()

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

Definition at line 32 of file MCInstrAnalysis.h.

References ~MCInstrAnalysis().

◆ ~MCInstrAnalysis()

virtual llvm::MCInstrAnalysis::~MCInstrAnalysis ( )
virtualdefault

Referenced by MCInstrAnalysis().

Member Function Documentation

◆ evaluateBranch()

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

Given a branch instruction try to get the address the branch targets.

Return true on success, and the address in Target.

Definition at line 18 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.

Referenced by isTerminator().

◆ isBranch()

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

Definition at line 35 of file MCInstrAnalysis.h.

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

◆ isCall()

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

Definition at line 51 of file MCInstrAnalysis.h.

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

◆ isConditionalBranch()

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

◆ isIndirectBranch()

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

Definition at line 47 of file MCInstrAnalysis.h.

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

◆ isReturn()

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

Definition at line 55 of file MCInstrAnalysis.h.

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

◆ isTerminator()

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

◆ isUnconditionalBranch()

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

Friends And Related Function Documentation

◆ Target

friend class Target
friend

Definition at line 27 of file MCInstrAnalysis.h.

Member Data Documentation

◆ Info

const MCInstrInfo* llvm::MCInstrAnalysis::Info
protected

Definition at line 29 of file MCInstrAnalysis.h.

Referenced by evaluateBranch().


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