public class CompoundPiPolicy extends java.lang.Object implements SSAPiNodePolicy
SSAPiNodePolicys. This policy will insert Pi nodes if either of two
delegate policies says to.| Modifier and Type | Method and Description |
|---|---|
static CompoundPiPolicy |
createCompoundPiPolicy(SSAPiNodePolicy p1,
SSAPiNodePolicy p2) |
boolean |
equals(java.lang.Object obj) |
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) |
int |
hashCode() |
public static CompoundPiPolicy createCompoundPiPolicy(SSAPiNodePolicy p1, SSAPiNodePolicy p2)
p1 - first SSAPiNodePolicy to delegate top2 - second SSAPiNodePolicy to delegate topublic com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> getPi(SSAConditionalBranchInstruction cond, SSAInstruction def1, SSAInstruction def2, SymbolTable symbolTable)
SSAPiNodePolicyIf 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
getPi in interface SSAPiNodePolicycond - 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 constructionpublic com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction> getPi(SSAAbstractInvokeInstruction call, SymbolTable symbolTable)
SSAPiNodePolicyIf 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
getPi in interface SSAPiNodePolicycall - the call instruction in questionsymbolTable - current state of the symbol table for the IR under constructionpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.util.List<com.ibm.wala.util.collections.Pair<java.lang.Integer,SSAInstruction>> getPis(SSAConditionalBranchInstruction cond, SSAInstruction def1, SSAInstruction def2, SymbolTable symbolTable)
getPis in interface SSAPiNodePolicy