public interface SSAPiNodePolicy
SSABuilder consults this as an oracle to decide how to insert SSAPiInstructions| Modifier and Type | Method and Description |
|---|---|
com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> |
getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable)
Do we need to introduce a new name for some value immediately after a call?
|
com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> |
getPi(SSAConditionalBranchInstruction cond,
SSAInstruction def1,
SSAInstruction def2,
SymbolTable symbolTable)
Do we need to introduce a new name for some value after deciding on an outcome for a
conditional branch instruction?
|
java.util.List<com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction>> |
getPis(SSAConditionalBranchInstruction cond,
SSAInstruction def1,
SSAInstruction def2,
SymbolTable symbolTable) |
com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> getPi(SSAAbstractInvokeInstruction call, SymbolTable symbolTable)
If so, returns a pair consisting of the value number needing renaming, and the instruction which should be recorded as the cause of the pi instruction
call - the call instruction in questionsymbolTable - current state of the symbol table for the IR under constructioncom.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> getPi(SSAConditionalBranchInstruction cond, SSAInstruction def1, SSAInstruction def2, SymbolTable symbolTable)
If so, returns a pair consisting of the value number needing renaming, and the instruction which should be recorded as the cause of the pi instruction
cond - the conditional branch instruction in questiondef1 - the SSAInstruction that defs cond.getUse(0), or null if nonedef2 - the SSAInstruction that defs cond.getUse(1), or null if nonesymbolTable - current state of the symbol table for the IR under constructionjava.util.List<com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction>> getPis(SSAConditionalBranchInstruction cond, SSAInstruction def1, SSAInstruction def2, SymbolTable symbolTable)