chain_t Class Reference

ud (use->def) and du (def->use) chain. More...

Inheritance diagram for chain_t:

Public Member Functions

 chain_t (mopt_t t, sval_t off, int w=1, int v=-1)
 
 chain_t (const voff_t &_k, int w=1)
 
void set_value (const chain_t &r)
 
const voff_tkey () const
 
bool is_inited (void) const
 
bool is_reg (void) const
 
bool is_stkoff (void) const
 
bool is_replaced (void) const
 
bool is_overlapped (void) const
 
bool is_fake (void) const
 
bool is_passreg (void) const
 
bool is_term (void) const
 
void set_inited (bool b)
 
void set_replaced (bool b)
 
void set_overlapped (bool b)
 
void set_term (bool b)
 
mreg_t get_reg () const
 
sval_t get_stkoff () const
 
bool overlap (const chain_t &r) const
 
bool includes (const chain_t &r) const
 
const voff_t endoff () const
 
bool operator< (const chain_t &r) const
 
void print (qstring *vout) const
 
const char * dstr (void) const
 
void append_list (mlist_t *list) const
 Append the contents of the chain to the specified list of locations.
 
void clear_varnum (void)
 

Public Attributes

int width
 size of the value in bytes
 
int varnum
 allocated variable index (-1 - not allocated yet)
 
uchar flags
 combination Chain properties bits
 

Detailed Description

ud (use->def) and du (def->use) chain.

We store in chains only the block numbers, not individual instructions See https://en.wikipedia.org/wiki/Use-define_chain

Examples:
hexrays_sample12.cpp.

Definition at line 3057 of file hexrays.hpp.