decompiler  1.0.0
Classes
blockaction.hh File Reference

Actions and classes associated with transforming and structuring the control-flow graph. More...

#include "action.hh"

Classes

class  ghidra::FloatingEdge
 Class for holding an edge while the underlying graph is being manipulated. More...
 
class  ghidra::LoopBody
 A description of the body of a loop. More...
 
class  ghidra::TraceDAG
 Algorithm for selecting unstructured edges based an Directed Acyclic Graphs (DAG) More...
 
struct  ghidra::TraceDAG::BranchPoint
 
struct  ghidra::TraceDAG::BlockTrace
 A trace of a single path out of a BranchPoint. More...
 
struct  ghidra::TraceDAG::BadEdgeScore
 Record for scoring a BlockTrace for suitability as an unstructured branch. More...
 
class  ghidra::CollapseStructure
 Build a code structure from a control-flow graph (BlockGraph). More...
 
class  ghidra::ConditionalJoin
 Discover and eliminate split conditions. More...
 
struct  ghidra::ConditionalJoin::MergePair
 A pair of Varnode objects that have been split (and should be merged) More...
 
class  ghidra::ActionStructureTransform
 Give each control-flow structure an opportunity to make a final transform. More...
 
class  ghidra::ActionNormalizeBranches
 Flip conditional control-flow so that preferred comparison operators are used. More...
 
class  ghidra::ActionPreferComplement
 Attempt to normalize symmetric block structures. More...
 
class  ghidra::ActionBlockStructure
 Structure control-flow using standard high-level code constructs. More...
 
class  ghidra::ActionFinalStructure
 Perform final organization of the control-flow structure. More...
 
class  ghidra::ActionReturnSplit
 Split the epilog code of the function. More...
 
class  ghidra::ActionNodeJoin
 Look for conditional branch expressions that have been split and rejoin them. More...
 

Detailed Description

Actions and classes associated with transforming and structuring the control-flow graph.