private static Instruction makePhiInstruction(HeapVariable<Object> H,BasicBlock bb){
  int n=bb.getNumberOfIn();
  Enumeration<BasicBlock> in=bb.getIn();
  HeapOperand<Object> lhs=new HeapOperand<Object>(H);
  Instruction s=Phi.create(PHI,lhs,n);
  lhs.setInstruction(s);
  for (int i=0; i < n; i++) {
    HeapOperand<Object> op=new HeapOperand<Object>(H);
    op.setInstruction(s);
    Phi.setValue(s,i,op);
    BasicBlock pred=in.nextElement();
    Phi.setPred(s,i,new BasicBlockOperand(pred));
  }
  return s;
}

private static Instruction makePhiInstruction ( HeapVariable < Object > H , BasicBlock bb ) { int n = bb . getNumberOfIn ( ) ; Enumeration < BasicBlock > in = bb . getIn ( ) ; HeapOperand < Object > lhs = new HeapOperand < Object > ( H ) ; Instruction s = Phi . create ( PHI , lhs , n ) ; lhs . setInstruction ( s ) ; for ( int i = 0 ; i < n ; i ++ ) { HeapOperand < Object > op = new HeapOperand < Object > ( H ) ; op . setInstruction ( s ) ; Phi . setValue ( s , i , op ) ; BasicBlock pred = in . nextElement ( ) ; Phi . setPred ( s , i , new BasicBlockOperand ( pred ) ) ; } return s ; }
create a phi - function instruction for a heap variable
