|
| LaneDivide (Funcdata *f, Varnode *root, const LaneDescription &desc, bool allowDowncast) |
| Constructor. More...
|
|
bool | doTrace (void) |
| Trace lanes as far as possible from the root Varnode. More...
|
|
| TransformManager (Funcdata *f) |
| Constructor.
|
|
virtual | ~TransformManager (void) |
| Destructor.
|
|
virtual bool | preserveAddress (Varnode *vn, int4 bitSize, int4 lsbOffset) const |
| Should the address of the given Varnode be preserved when constructing a piece. More...
|
|
Funcdata * | getFunction (void) const |
| Get function being transformed.
|
|
void | clearVarnodeMarks (void) |
| Clear mark for all Varnodes in the map.
|
|
TransformVar * | newPreexistingVarnode (Varnode *vn) |
| Make placeholder for preexisting Varnode. More...
|
|
TransformVar * | newUnique (int4 size) |
| Make placeholder for new unique space Varnode. More...
|
|
TransformVar * | newConstant (int4 size, int4 lsbOffset, uintb val) |
| Make placeholder for constant Varnode. More...
|
|
TransformVar * | newIop (Varnode *vn) |
| Make placeholder for special iop constant. More...
|
|
TransformVar * | newPiece (Varnode *vn, int4 bitSize, int4 lsbOffset) |
| Make placeholder for piece of a Varnode. More...
|
|
TransformVar * | newSplit (Varnode *vn, const LaneDescription &description) |
| Create placeholder nodes splitting a Varnode into its lanes. More...
|
|
TransformVar * | newSplit (Varnode *vn, const LaneDescription &description, int4 numLanes, int4 startLane) |
| Create placeholder nodes splitting a Varnode into a subset of lanes in the given description. More...
|
|
TransformOp * | newOpReplace (int4 numParams, OpCode opc, PcodeOp *replace) |
| Create a new placeholder op intended to replace an existing op. More...
|
|
TransformOp * | newOp (int4 numParams, OpCode opc, TransformOp *follow) |
| Create a new placeholder op that will not replace an existing op. More...
|
|
TransformOp * | newPreexistingOp (int4 numParams, OpCode opc, PcodeOp *originalOp) |
| Create a new placeholder op for an existing PcodeOp. More...
|
|
TransformVar * | getPreexistingVarnode (Varnode *vn) |
| Get (or create) placeholder for preexisting Varnode. More...
|
|
TransformVar * | getPiece (Varnode *vn, int4 bitSize, int4 lsbOffset) |
| Get (or create) placeholder piece. More...
|
|
TransformVar * | getSplit (Varnode *vn, const LaneDescription &description) |
| Find (or create) placeholder nodes splitting a Varnode into its lanes. More...
|
|
TransformVar * | getSplit (Varnode *vn, const LaneDescription &description, int4 numLanes, int4 startLane) |
| Find (or create) placeholder nodes splitting a Varnode into a subset of lanes from a description. More...
|
|
void | opSetInput (TransformOp *rop, TransformVar *rvn, int4 slot) |
| Mark given variable as input to given op. More...
|
|
void | opSetOutput (TransformOp *rop, TransformVar *rvn) |
| Mark given variable as output of given op. More...
|
|
void | apply (void) |
| Apply the full transform to the function.
|
|