decompiler  1.0.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SubfloatFlow Class Reference

Classes

class  CompareRecord
 
class  PulloutRecord
 
class  ReplaceOp
 
class  ReplaceVarnode
 

Public Member Functions

 SubfloatFlow (Funcdata *f, Varnode *root, int4 prec)
 
bool doTrace (void)
 
void doReplacement (void)
 

Private Member Functions

ReplaceVarnode * setReplacement (Varnode *vn, bool &inworklist)
 
ReplaceVarnode * setReplacementNoFlow (Varnode *vn)
 
ReplaceOp * createOp (OpCode opc, int4 numparam, ReplaceVarnode *outrvn)
 
ReplaceOp * createOpDown (OpCode opc, int4 numparam, PcodeOp *op, ReplaceVarnode *inrvn, int4 slot)
 
bool traceForward (ReplaceVarnode *rvn)
 
bool traceBackward (ReplaceVarnode *rvn)
 
bool createLink (ReplaceOp *rop, int4 slot, Varnode *vn)
 
void addtopulllist (PcodeOp *pullop, ReplaceVarnode *rvn)
 
bool addtopushlist (PcodeOp *pushop, ReplaceVarnode *rvn)
 
void addtocomplist (ReplaceVarnode *in1, ReplaceVarnode *in2, PcodeOp *op)
 
ReplaceVarnode * addConstant (Varnode *vn)
 
void replaceInput (ReplaceVarnode *rvn)
 
Varnode * getReplaceVarnode (ReplaceVarnode *rvn)
 
bool processNextWork (void)
 

Private Attributes

int4 precision
 
Funcdata * fd
 
const FloatFormat * format
 
map< Varnode *, ReplaceVarnode > varmap
 
list< ReplaceVarnode > newvarlist
 
list< ReplaceOp > oplist
 
list< PulloutRecord > pulllist
 
list< CompareRecord > complist
 
vector< ReplaceVarnode * > worklist
 

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