public class SConstantPropagatorAndFolder extends BodyTransformer
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
debug |
protected ShimpleBody |
sb |
| Constructor and Description |
|---|
SConstantPropagatorAndFolder(Singletons.Global g) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
internalTransform(Body b,
java.lang.String phaseName,
java.util.Map<java.lang.String,java.lang.String> options)
This method is called to perform the transformation itself.
|
protected void |
propagateResults(java.util.Map<Local,Constant> localToConstant)
Propagates constants to the definition and uses of the relevant
locals given a mapping.
|
protected void |
removeStmts(java.util.List<IfStmt> deadStmts)
Removes the given list of fall through IfStmts from the body.
|
protected void |
replaceStmts(java.util.Map<Stmt,GotoStmt> stmtsToReplace)
Replaces conditional branches by unconditional branches as
given by the mapping.
|
static SConstantPropagatorAndFolder |
v() |
transform, transform, transformprotected ShimpleBody sb
protected boolean debug
public SConstantPropagatorAndFolder(Singletons.Global g)
public static SConstantPropagatorAndFolder v()
protected void internalTransform(Body b, java.lang.String phaseName, java.util.Map<java.lang.String,java.lang.String> options)
BodyTransformerinternalTransform in class BodyTransformerb - the body on which to apply the transformationphaseName - the phasename for this transform; not typically used by implementations.options - the actual computed options; a combination of default options and Scene specified options.protected void propagateResults(java.util.Map<Local,Constant> localToConstant)
protected void removeStmts(java.util.List<IfStmt> deadStmts)