public class Liveness
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static boolean |
AFTER |
static boolean |
BEFORE |
static boolean |
DEBUG |
static boolean |
UNIQUE |
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection |
defs()
Returns the LocalExprs (variables) that occur in the CFG.
|
java.util.Iterator |
intersections(VarExpr a)
Returns an Iterator of LocalExprs that interfere
with a given VarExpr.
|
boolean |
liveAtEndOfBlock(VarExpr isLive,
Block block)
Should not be called.
|
boolean |
liveAtStartOfBlock(VarExpr isLive,
Block block)
Should not be called.
|
boolean |
liveAtUse(VarExpr isLive,
VarExpr at,
boolean after)
Should not be called.
|
boolean |
liveRangesIntersect(VarExpr a,
VarExpr b)
Determines whether or not two variables interfere with one another.
|
void |
removeVar(LocalExpr expr)
Removes a local expression from the interference graph.
|
public static boolean DEBUG
public static boolean UNIQUE
public static final boolean BEFORE
public static final boolean AFTER
public Liveness(FlowGraph cfg)
cfg - Control flow graph on which to perform liveness analysis.public void removeVar(LocalExpr expr)
public boolean liveAtStartOfBlock(VarExpr isLive, Block block)
public java.util.Collection defs()
public java.util.Iterator intersections(VarExpr a)