CFG snapshot that overlays insert/delete edge updates on a graph.

Synopsis

Declared in <llvm/Support/CFGDiff.h>

template<
    typename NodePtr,
    bool InverseGraph = false>
class GraphDiff;

Description

Given a set of Update<NodePtr>, provides a getChildren method to get a Node's children based on the additional updates in the snapshot. The current diff treats the CFG as a graph rather than a multigraph. Added edges are pruned to be unique, and deleted edges will remove all existing edges between two blocks.

Type Aliases

Name

Description

VectRet

Small vector type used to return a node's children in the snapshot.

Member Functions

Name

Description

GraphDiff [constructor]

Constructors

dump

Dump this CFG snapshot to the debug stream.

getChildren

Return the children of N as seen through this CFG snapshot.

getLegalizedUpdates

Return a range over the legalized edge updates in this snapshot.

getNumLegalizedUpdates

Return the number of legalized edge updates in this snapshot.

popUpdateForIncrementalUpdates

Pop and return the next legalized update for incremental DomTree updates.

print

Print this CFG snapshot's edge insert/delete maps to OS.

Created with MrDocs