retdec
Public Member Functions | Public Attributes | List of all members
retdec::bin2llvmir::Definition Class Reference

#include <reaching_definitions.h>

Collaboration diagram for retdec::bin2llvmir::Definition:
Collaboration graph
[legend]

Public Member Functions

 Definition (llvm::Instruction *d, llvm::Value *s, unsigned bbPos)
 
bool operator== (const Definition &o) const
 
llvm::Value * getSource ()
 
bool dominates (const Use *use) const
 

Public Attributes

llvm::Instruction * def
 Definition instruction – store or alloca. More...
 
llvm::Value * src
 Defined value – store's pointer operand or alloca itself. More...
 
UseSet uses
 
unsigned posInBb = 0
 

Constructor & Destructor Documentation

◆ Definition()

retdec::bin2llvmir::Definition::Definition ( llvm::Instruction *  d,
llvm::Value *  s,
unsigned  bbPos 
)

Member Function Documentation

◆ dominates()

bool retdec::bin2llvmir::Definition::dominates ( const Use use) const

Convenience method so that we don't have to check integer positions. However, this does not check that the given use is indeed an use of this definition - users of this method must make sure that it is.

◆ getSource()

llvm::Value * retdec::bin2llvmir::Definition::getSource ( )

◆ operator==()

bool retdec::bin2llvmir::Definition::operator== ( const Definition o) const

Member Data Documentation

◆ def

llvm::Instruction* retdec::bin2llvmir::Definition::def

Definition instruction – store or alloca.

◆ posInBb

unsigned retdec::bin2llvmir::Definition::posInBb = 0

Definition instruction position in its BB. Can be used to find out if def dominates its uses in the same BB.

◆ src

llvm::Value* retdec::bin2llvmir::Definition::src

Defined value – store's pointer operand or alloca itself.

◆ uses

UseSet retdec::bin2llvmir::Definition::uses

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