|
Ghidra 11.4.2
Ghidra internal decompiler documentation.
|
The PcodeOp and PcodeOpBank classes. More...
#include "typeop.hh"Classes | |
| class | ghidra::IopSpace |
| Space for storing internal PcodeOp pointers as addresses. More... | |
| class | ghidra::PcodeOp |
| Lowest level operation of the p-code language. More... | |
| struct | ghidra::PcodeOpNode |
| An edge in a data-flow path or graph. More... | |
| class | ghidra::PieceNode |
| A node in a tree structure of CPUI_PIECE operations. More... | |
| class | ghidra::PcodeOpBank |
| Container class for PcodeOps associated with a single function. More... | |
| class | ghidra::BooleanMatch |
| Static methods for determining if two boolean expressions are the same or complementary. More... | |
Typedefs | |
| typedef map< SeqNum, PcodeOp * > | ghidra::PcodeOpTree |
| A map from sequence number (SeqNum) to PcodeOp. | |
Functions | |
| int4 | ghidra::functionalEqualityLevel (Varnode *vn1, Varnode *vn2, Varnode **res1, Varnode **res2) |
| Try to determine if vn1 and vn2 contain the same value. | |
| bool | ghidra::functionalEquality (Varnode *vn1, Varnode *vn2) |
| Determine if two Varnodes hold the same value. | |
| bool | ghidra::functionalDifference (Varnode *vn1, Varnode *vn2, int4 depth) |
| Return true if vn1 and vn2 are verifiably different values. | |
The PcodeOp and PcodeOpBank classes.
Return true if vn1 and vn2 are verifiably different values.
This is actually a rather speculative test
| vn1 | is the first Varnode to compare |
| vn2 | is the second Varnode |
| depth | is the maximum level to recurse while testing |
Determine if two Varnodes hold the same value.
Only return true if it can be immediately determined they are equivalent
| vn1 | is the first Varnode |
| vn2 | is the second Varnode |
| int4 ghidra::functionalEqualityLevel | ( | Varnode * | vn1, |
| Varnode * | vn2, | ||
| Varnode ** | res1, | ||
| Varnode ** | res2 | ||
| ) |
Try to determine if vn1 and vn2 contain the same value.
Return:
| vn1 | is the first Varnode to compare |
| vn2 | is the second Varnode |
| res1 | is a reference to the first returned Varnode |
| res2 | is a reference to the second returned Varnode |