ROSE 0.11.145.147
|
Information per dataflow edge.
This struct holds information associated with each edge of a dataflow graph.
Definition at line 23 of file DataFlowSemantics.h.
#include <Rose/BinaryAnalysis/InstructionSemantics/DataFlowSemantics.h>
Public Types | |
enum | EdgeType { CLOBBER , AUGMENT } |
Type of dataflow edge. More... | |
Public Member Functions | |
DataFlowEdge (size_t sequence, EdgeType edgeType) | |
Public Attributes | |
size_t | sequence |
Edge sequence number unique and constant within graph. | |
EdgeType | edgeType |
Whether edge resets or augments previous flows to target. | |
Type of dataflow edge.
A dataflow edge can represent a flow that clobbers the previous value of the target, or a flow that augments the previous value of a target. For instance, when reading four bytes from memory into a 32-bit register, the first byte is marked as clobbering any previous value in the register and the remaining three bytes are marked as augmenting the register. Therefore, an instruction like "MOV EAX, [ESP]" will have these data flow edges:
Enumerator | |
---|---|
CLOBBER | This edge clobbers previous flows into the target. |
AUGMENT | This edge augments previous flows into the target. |
Definition at line 37 of file DataFlowSemantics.h.
|
inline |
Definition at line 44 of file DataFlowSemantics.h.
|
inline |
Definition at line 45 of file DataFlowSemantics.h.
size_t Rose::BinaryAnalysis::InstructionSemantics::DataFlowSemantics::DataFlowEdge::sequence |
Edge sequence number unique and constant within graph.
Definition at line 42 of file DataFlowSemantics.h.
EdgeType Rose::BinaryAnalysis::InstructionSemantics::DataFlowSemantics::DataFlowEdge::edgeType |
Whether edge resets or augments previous flows to target.
Definition at line 43 of file DataFlowSemantics.h.