Ghidra 11.3.2
Ghidra internal decompiler documentation.
Loading...
Searching...
No Matches
ghidra::PcodeOpNode Struct Reference

An edge in a data-flow path or graph. More...

#include <op.hh>

Collaboration diagram for ghidra::PcodeOpNode:
[legend]

Public Member Functions

 PcodeOpNode (void)
 Unused constructor.
 
 PcodeOpNode (PcodeOp *o, int4 s)
 Constructor.
 
bool operator< (const PcodeOpNode &op2) const
 Simple comparator for putting edges in a sorted container.
 

Static Public Member Functions

static bool compareByHigh (const PcodeOpNode &a, const PcodeOpNode &b)
 Compare Varnodes by their HighVariable.
 

Public Attributes

PcodeOpop
 The p-code end-point of the edge.
 
int4 slot
 Slot indicating the input Varnode end-point of the edge.
 

Detailed Description

An edge in a data-flow path or graph.

A minimal node for traversing expressions in the data-flow

Member Function Documentation

◆ compareByHigh()

bool ghidra::PcodeOpNode::compareByHigh ( const PcodeOpNode a,
const PcodeOpNode b 
)
inlinestatic

Compare Varnodes by their HighVariable.

Allow a sorting that groups together input Varnodes with the same HighVariable

Parameters
ais the first Varnode to compare
bis the second Varnode to compare
Returns
true is a should come before b

References ghidra::Varnode::getHigh(), ghidra::PcodeOp::getIn(), op, and slot.

Referenced by ghidra::Merge::snipOutputInterference().

◆ operator<()

bool ghidra::PcodeOpNode::operator< ( const PcodeOpNode op2) const
inline

Simple comparator for putting edges in a sorted container.

Compare PcodeOps (as pointers) first, then slot

Parameters
op2is the other edge to compare with this
Returns
true if this should come before the other PcodeOp

References ghidra::PcodeOp::getSeqNum(), ghidra::SeqNum::getTime(), op, and slot.


The documentation for this struct was generated from the following file: