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