public abstract class BranchedFlowAnalysis<N extends Unit,A> extends AbstractFlowAnalysis<N,A>
if(x >
0)
: one successor has x > 0
while the other
successor has x ≤ 0
.Modifier and Type | Field and Description |
---|---|
protected java.util.Map<Unit,java.util.List<A>> |
unitToAfterBranchFlow |
protected java.util.Map<Unit,java.util.List<A>> |
unitToAfterFallFlow
Maps graph nodes to OUT sets.
|
filterUnitToBeforeFlow, graph, unitToBeforeFlow
Constructor and Description |
---|
BranchedFlowAnalysis(DirectedGraph<N> graph) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
flowThrough(A in,
Unit s,
java.util.List<A> fallOut,
java.util.List<A> branchOuts)
Given the merge of the
in sets,
compute the fallOut and branchOuts
set for s . |
java.util.List<A> |
getBranchFlowAfter(Unit s) |
A |
getFallFlowAfter(Unit s) |
copy, doAnalysis, entryInitialFlow, getFlowBefore, isForward, merge, merge, mergeInto, newInitialFlow, treatTrapHandlersAsEntries
protected java.util.Map<Unit,java.util.List<A>> unitToAfterFallFlow
public BranchedFlowAnalysis(DirectedGraph<N> graph)