public class Liveness
extends java.lang.Object
| Modifier and Type | Field | Description |
|---|---|---|
static boolean |
AFTER |
|
static boolean |
BEFORE |
|
static boolean |
DEBUG |
|
static boolean |
UNIQUE |
| Modifier and Type | Method | 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 liveAtUse(VarExpr isLive, VarExpr at, boolean after)
public boolean liveAtStartOfBlock(VarExpr isLive, Block block)
public boolean liveAtEndOfBlock(VarExpr isLive, Block block)
public java.util.Collection defs()
public java.util.Iterator intersections(VarExpr a)