public class SSAPRE
extends java.lang.Object
Fred Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo,
and Peng Tu, "A New Algorithm for Partial Redundancy Elimination
based on SSA Form", Proc. PLDI '97: 273-286, 1997.
NOTE: The type for all occurrences of an inserted variable is the same as the
type of the first occurrence of the expression the variable replaces. This
type is guaranteed since we only group expression with equal types.| Modifier and Type | Field and Description |
|---|---|
protected FlowGraph |
cfg |
protected EditorContext |
context |
static boolean |
DEBUG |
protected ResizeableArrayList[] |
kills |
protected boolean[] |
killsSorted |
protected int |
nextValueNumber |
static boolean |
NO_ACCESS_PATHS |
static boolean |
NO_PRECISE |
static boolean |
NO_THREAD |
protected java.util.HashMap |
phiRelated |
protected SideEffectChecker |
sideEffects |
protected EDU.purdue.cs.bloat.trans.SSAPRE.ExprWorklist |
worklist |
| Constructor and Description |
|---|
SSAPRE(FlowGraph cfg,
EditorContext context)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
transform()
Performs SSA-based partial redundency elimination (PRE) on a control flow
graph.
|
public static boolean DEBUG
public static boolean NO_THREAD
public static boolean NO_PRECISE
public static boolean NO_ACCESS_PATHS
protected FlowGraph cfg
protected int nextValueNumber
protected EditorContext context
protected ResizeableArrayList[] kills
protected boolean[] killsSorted
protected SideEffectChecker sideEffects
protected EDU.purdue.cs.bloat.trans.SSAPRE.ExprWorklist worklist
protected java.util.HashMap phiRelated
public SSAPRE(FlowGraph cfg, EditorContext context)
cfg - Control flow graph on which to perform SSA-based PRE.context - The EditorContext containing all the classes that BLOAT
knows about.