Class PhiJoinStmt

All Implemented Interfaces:
Assign

public class PhiJoinStmt extends PhiStmt
PhiJoinStmt represents a phi-function inserted into a control flow graph during conversion of variables to static single-assignment form. A PhiJoinStmt at a point of control flow convergence.
See Also:
  • Constructor Details

    • PhiJoinStmt

      public PhiJoinStmt(VarExpr target, Block block)
      Constructor.
      Parameters:
      target - The target of this PhiStmt.
      block - The basic Block in which this PhiJoinStmt resides.
  • Method Details

    • setOperandAt

      public void setOperandAt(Block block, Expr expr)
      Set the operand to this PhiJoinStmt for a given Block to a given expression.
      Parameters:
      block -
      expr -
    • operandAt

      public Expr operandAt(Block block)
      Returns the occurrence of the variable with which this PhiJoinStmt is concerned (usually represented by a VarExpr) at a given block.
      Parameters:
      block - The block at which an occurrence of the variable occurs.
      See Also:
    • numOperands

      public int numOperands()
      Returns the number of operands that this PhiJoinStmt has.
    • preds

      public Collection preds()
      Returns the predacessor nodes (in the CFG not dominator graph) of the block in which this PhiJoinStmt occurs.
    • operands

      public Collection operands()
      Returns the operands of this PhiJoinStmt. They are usually of type VarExpr.
      Specified by:
      operands in class PhiStmt
      See Also:
    • visitForceChildren

      public void visitForceChildren(TreeVisitor visitor)
      Description copied from class: Node
      Visit the children of this node. Not all Nodes will have children to visit.
      Specified by:
      visitForceChildren in class Node
    • visit

      public void visit(TreeVisitor visitor)
      Specified by:
      visit in class Node