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<Integer,SSAInstruction> |
getPi(SSAAbstractInvokeInstruction call,
SymbolTable symbolTable)
Do we need to introduce a new name for some value immediately after a call?
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
|
com.ibm.wala.util.collections.Pair<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?
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
|
com.ibm.wala.util.collections.Pair<Integer,SSAInstruction> getPi(SSAAbstractInvokeInstruction call, SymbolTable symbolTable)
call - the call instruction in questionsymbolTable - current state of the symbol table for the IR under constructioncom.ibm.wala.util.collections.Pair<Integer,SSAInstruction> getPi(SSAConditionalBranchInstruction cond, SSAInstruction def1, SSAInstruction def2, SymbolTable symbolTable)
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 constructionCopyright © 2015. All rights reserved.