Class SSAConversion
java.lang.Object
com.ibm.wala.cast.ir.ssa.AbstractSSAConversion
com.ibm.wala.cast.ir.ssa.SSAConversion
- Author:
- Julian Dolby
Standard SSA conversion for local value numbers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassstatic classclassstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic booleanstatic booleanstatic booleanstatic booleanFields inherited from class AbstractSSAConversion
C, CFG, defaultValues, DF, instructions, phiCounts, S, symbolTable, valueMap -
Method Summary
Modifier and TypeMethodDescriptionstatic SSAConversion.SSAInformationconvert(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options) static SSAConversion.SSAInformationconvert(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options, IntSet values) static voidcopyUse(AstIRFactory.AstIR ir, int fromInst, int fromUse, int toInst, int toUse) protected voidfail(int v) protected intgetDef(SSAInstruction inst, int index) protected intprotected intprotected intprotected intprotected SSAPhiInstructiongetPhi(SSACFG.BasicBlock B, int index) protected intgetUse(SSAInstruction inst, int index) protected voidprotected booleanprotected booleanisConstant(int valueNumber) protected booleanisLive(SSACFG.BasicBlock Y, int V) voidperform()protected voidplaceNewPhiAt(int value, SSACFG.BasicBlock Y) protected voidpopAssignment(SSAInstruction inst, int index) protected voidpushAssignment(SSAInstruction inst, int index, int newRhs) protected voidprotected voidrepairInstructionDefs(SSAInstruction inst, int index, int[] newDefs, int[] newUses) protected voidrepairInstructionUses(SSAInstruction inst, int index, int[] newUses) protected SSAPhiInstructionrepairPhiDefs(SSAPhiInstruction phi, int[] newDefs) protected voidrepairPhiUse(SSACFG.BasicBlock BB, int phiIndex, int rvalIndex, int newRval) protected voidsetPhi(SSACFG.BasicBlock B, int index, SSAPhiInstruction inst) protected booleanskip(int vn) protected booleanskipRepair(SSAInstruction inst, int index) static voidundoCopyPropagation(AstIRFactory.AstIR ir, int instruction, int use) Methods inherited from class AbstractSSAConversion
getDefaultValue, getInstructions, hasDefaultValue, init, iterateInstructions, placePhiNodes, top
-
Field Details
-
DEBUG
public static boolean DEBUG -
DEBUG_UNDO
public static boolean DEBUG_UNDO -
DEBUG_NAMES
public static boolean DEBUG_NAMES -
DUMP
public static boolean DUMP
-
-
Method Details
-
undoCopyPropagation
-
copyUse
-
getNumberOfDefs
- Specified by:
getNumberOfDefsin classAbstractSSAConversion
-
getDef
- Specified by:
getDefin classAbstractSSAConversion
-
getNumberOfUses
- Specified by:
getNumberOfUsesin classAbstractSSAConversion
-
getUse
- Specified by:
getUsein classAbstractSSAConversion
-
isAssignInstruction
- Specified by:
isAssignInstructionin classAbstractSSAConversion
-
getMaxValueNumber
protected int getMaxValueNumber()- Specified by:
getMaxValueNumberin classAbstractSSAConversion
-
skip
protected boolean skip(int vn) - Specified by:
skipin classAbstractSSAConversion
-
isLive
- Specified by:
isLivein classAbstractSSAConversion
-
placeNewPhiAt
- Specified by:
placeNewPhiAtin classAbstractSSAConversion
-
getPhi
- Specified by:
getPhiin classAbstractSSAConversion
-
setPhi
- Specified by:
setPhiin classAbstractSSAConversion
-
repairPhiDefs
- Specified by:
repairPhiDefsin classAbstractSSAConversion
-
repairPhiUse
- Specified by:
repairPhiUsein classAbstractSSAConversion
-
pushAssignment
- Specified by:
pushAssignmentin classAbstractSSAConversion
-
repairInstructionUses
- Specified by:
repairInstructionUsesin classAbstractSSAConversion
-
repairInstructionDefs
- Specified by:
repairInstructionDefsin classAbstractSSAConversion
-
popAssignment
- Specified by:
popAssignmentin classAbstractSSAConversion
-
isConstant
protected boolean isConstant(int valueNumber) - Specified by:
isConstantin classAbstractSSAConversion
-
skipRepair
- Overrides:
skipRepairin classAbstractSSAConversion
-
getNextNewValueNumber
protected int getNextNewValueNumber()- Specified by:
getNextNewValueNumberin classAbstractSSAConversion
-
initializeVariables
protected void initializeVariables()- Specified by:
initializeVariablesin classAbstractSSAConversion
-
repairExit
protected void repairExit()- Specified by:
repairExitin classAbstractSSAConversion
-
fail
protected void fail(int v) - Overrides:
failin classAbstractSSAConversion
-
getComputedLocalMap
-
perform
public void perform()- Overrides:
performin classAbstractSSAConversion
-
convert
public static SSAConversion.SSAInformation convert(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options) -
convert
public static SSAConversion.SSAInformation convert(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options, IntSet values)
-