|
| | 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.
|
| |