public class SSAConversion extends AbstractSSAConversion
| Modifier and Type | Class and Description |
|---|---|
class |
SSAConversion.CopyPropagationRecord |
static class |
SSAConversion.PhiUseRecord |
class |
SSAConversion.SSAInformation |
static class |
SSAConversion.UseRecord |
| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEBUG |
static boolean |
DEBUG_NAMES |
static boolean |
DEBUG_UNDO |
static boolean |
DUMP |
C, CFG, defaultValues, DF, instructions, phiCounts, S, symbolTable, valueMap| Modifier and Type | Method and Description |
|---|---|
static SSAConversion.SSAInformation |
convert(AstMethod M,
AstIRFactory.AstIR ir,
com.ibm.wala.ssa.SSAOptions options) |
static SSAConversion.SSAInformation |
convert(AstMethod M,
AstIRFactory.AstIR ir,
com.ibm.wala.ssa.SSAOptions options,
com.ibm.wala.util.intset.IntSet values) |
static void |
copyUse(AstIRFactory.AstIR ir,
int fromInst,
int fromUse,
int toInst,
int toUse) |
protected void |
fail(int v) |
SSAConversion.SSAInformation |
getComputedLocalMap() |
protected int |
getDef(com.ibm.wala.ssa.SSAInstruction inst,
int index) |
protected int |
getMaxValueNumber() |
protected int |
getNextNewValueNumber() |
protected int |
getNumberOfDefs(com.ibm.wala.ssa.SSAInstruction inst) |
protected int |
getNumberOfUses(com.ibm.wala.ssa.SSAInstruction inst) |
protected com.ibm.wala.ssa.SSAPhiInstruction |
getPhi(com.ibm.wala.ssa.SSACFG.BasicBlock B,
int index) |
protected int |
getUse(com.ibm.wala.ssa.SSAInstruction inst,
int index) |
protected void |
initializeVariables() |
protected boolean |
isAssignInstruction(com.ibm.wala.ssa.SSAInstruction inst) |
protected boolean |
isConstant(int valueNumber) |
protected boolean |
isLive(com.ibm.wala.ssa.SSACFG.BasicBlock Y,
int V) |
void |
perform() |
protected void |
placeNewPhiAt(int value,
com.ibm.wala.ssa.SSACFG.BasicBlock Y) |
protected void |
popAssignment(com.ibm.wala.ssa.SSAInstruction inst,
int index) |
protected void |
pushAssignment(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int newRhs) |
protected void |
repairExit() |
protected void |
repairInstructionDefs(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int[] newDefs,
int[] newUses) |
protected void |
repairInstructionUses(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int[] newUses) |
protected com.ibm.wala.ssa.SSAPhiInstruction |
repairPhiDefs(com.ibm.wala.ssa.SSAPhiInstruction phi,
int[] newDefs) |
protected void |
repairPhiUse(com.ibm.wala.ssa.SSACFG.BasicBlock BB,
int phiIndex,
int rvalIndex,
int newRval) |
protected void |
setPhi(com.ibm.wala.ssa.SSACFG.BasicBlock B,
int index,
com.ibm.wala.ssa.SSAPhiInstruction inst) |
protected boolean |
skip(int vn) |
protected boolean |
skipRepair(com.ibm.wala.ssa.SSAInstruction inst,
int index) |
static void |
undoCopyPropagation(AstIRFactory.AstIR ir,
int instruction,
int use) |
getDefaultValue, getInstructions, hasDefaultValue, init, iterateInstructions, placePhiNodes, toppublic static boolean DEBUG
public static boolean DEBUG_UNDO
public static boolean DEBUG_NAMES
public static boolean DUMP
public static void undoCopyPropagation(AstIRFactory.AstIR ir, int instruction, int use)
public static void copyUse(AstIRFactory.AstIR ir, int fromInst, int fromUse, int toInst, int toUse)
protected int getNumberOfDefs(com.ibm.wala.ssa.SSAInstruction inst)
getNumberOfDefs in class AbstractSSAConversionprotected int getDef(com.ibm.wala.ssa.SSAInstruction inst,
int index)
getDef in class AbstractSSAConversionprotected int getNumberOfUses(com.ibm.wala.ssa.SSAInstruction inst)
getNumberOfUses in class AbstractSSAConversionprotected int getUse(com.ibm.wala.ssa.SSAInstruction inst,
int index)
getUse in class AbstractSSAConversionprotected boolean isAssignInstruction(com.ibm.wala.ssa.SSAInstruction inst)
isAssignInstruction in class AbstractSSAConversionprotected int getMaxValueNumber()
getMaxValueNumber in class AbstractSSAConversionprotected boolean skip(int vn)
skip in class AbstractSSAConversionprotected boolean isLive(com.ibm.wala.ssa.SSACFG.BasicBlock Y,
int V)
isLive in class AbstractSSAConversionprotected void placeNewPhiAt(int value,
com.ibm.wala.ssa.SSACFG.BasicBlock Y)
placeNewPhiAt in class AbstractSSAConversionprotected com.ibm.wala.ssa.SSAPhiInstruction getPhi(com.ibm.wala.ssa.SSACFG.BasicBlock B,
int index)
getPhi in class AbstractSSAConversionprotected void setPhi(com.ibm.wala.ssa.SSACFG.BasicBlock B,
int index,
com.ibm.wala.ssa.SSAPhiInstruction inst)
setPhi in class AbstractSSAConversionprotected com.ibm.wala.ssa.SSAPhiInstruction repairPhiDefs(com.ibm.wala.ssa.SSAPhiInstruction phi,
int[] newDefs)
repairPhiDefs in class AbstractSSAConversionprotected void repairPhiUse(com.ibm.wala.ssa.SSACFG.BasicBlock BB,
int phiIndex,
int rvalIndex,
int newRval)
repairPhiUse in class AbstractSSAConversionprotected void pushAssignment(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int newRhs)
pushAssignment in class AbstractSSAConversionprotected void repairInstructionUses(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int[] newUses)
repairInstructionUses in class AbstractSSAConversionprotected void repairInstructionDefs(com.ibm.wala.ssa.SSAInstruction inst,
int index,
int[] newDefs,
int[] newUses)
repairInstructionDefs in class AbstractSSAConversionprotected void popAssignment(com.ibm.wala.ssa.SSAInstruction inst,
int index)
popAssignment in class AbstractSSAConversionprotected boolean isConstant(int valueNumber)
isConstant in class AbstractSSAConversionprotected boolean skipRepair(com.ibm.wala.ssa.SSAInstruction inst,
int index)
skipRepair in class AbstractSSAConversionprotected int getNextNewValueNumber()
getNextNewValueNumber in class AbstractSSAConversionprotected void initializeVariables()
initializeVariables in class AbstractSSAConversionprotected void repairExit()
repairExit in class AbstractSSAConversionprotected void fail(int v)
fail in class AbstractSSAConversionpublic SSAConversion.SSAInformation getComputedLocalMap()
public void perform()
perform in class AbstractSSAConversionpublic static SSAConversion.SSAInformation convert(AstMethod M, AstIRFactory.AstIR ir, com.ibm.wala.ssa.SSAOptions options)
public static SSAConversion.SSAInformation convert(AstMethod M, AstIRFactory.AstIR ir, com.ibm.wala.ssa.SSAOptions options, com.ibm.wala.util.intset.IntSet values)