public class SSAPiInstruction extends SSAUnaryOpInstruction
IR with or without Pi instructions, depending on SSAOptions selected.
A Pi instruction is linked to its "cause" instruction, which is usually a conditional
branch.
for example, the following pseudo-code
SSAInstruction.IVisitor, SSAInstruction.Visitorresult, valiindex, NO_INDEX| Constructor and Description |
|---|
SSAPiInstruction(int iindex,
int result,
int val,
int piBlock,
int successorBlock,
SSAInstruction cause) |
| Modifier and Type | Method and Description |
|---|---|
SSAInstruction |
copyForSSA(SSAInstructionFactory insts,
int[] defs,
int[] uses)
This method is meant to be used during SSA conversion for an IR that is not in SSA form.
|
SSAInstruction |
getCause() |
int |
getPiBlock() |
int |
getSuccessor() |
int |
getVal() |
String |
toString(SymbolTable symbolTable) |
void |
visit(SSAInstruction.IVisitor v)
Apply an IVisitor to this instruction.
|
getOpcodegetDef, getDef, getNumberOfDefs, getNumberOfUses, getUse, hasDef, hashCode, isFallThroughequals, getExceptionTypes, getValueString, isPEI, toStringpublic SSAPiInstruction(int iindex,
int result,
int val,
int piBlock,
int successorBlock,
SSAInstruction cause)
successorBlock - the successor block; this PI assignment happens on the transition between this basic block and
the successor block.public SSAInstruction copyForSSA(SSAInstructionFactory insts, int[] defs, int[] uses)
SSAInstructioncopyForSSA in class SSAUnaryOpInstructionpublic String toString(SymbolTable symbolTable)
toString in class SSAUnaryOpInstructionpublic void visit(SSAInstruction.IVisitor v)
SSAInstructionvisit in class SSAUnaryOpInstructionSSAInstruction.visit(IVisitor)public int getSuccessor()
public int getPiBlock()
public SSAInstruction getCause()
public int getVal()
Copyright © 2015. All rights reserved.