void removePhiInput(int j){
  assert (OP_phi == this.op);
  Expr[] a=new Expr[args.length - 1];
  System.arraycopy(args,0,a,0,j);
  System.arraycopy(args,j + 1,a,j,args.length - j - 1);
  args=a;
  Edge[] ed=new Edge[pred.length - 1];
  System.arraycopy(pred,0,ed,0,j);
  System.arraycopy(pred,j + 1,ed,j,pred.length - j - 1);
  pred=ed;
}

void removePhiInput ( int j ) { assert ( OP_phi == this . op ) ; Expr [ ] a = new Expr [ args . length - 1 ] ; System . arraycopy ( args , 0 , a , 0 , j ) ; System . arraycopy ( args , j + 1 , a , j , args . length - j - 1 ) ; args = a ; Edge [ ] ed = new Edge [ pred . length - 1 ] ; System . arraycopy ( pred , 0 , ed , 0 , j ) ; System . arraycopy ( pred , j + 1 , ed , j , pred . length - j - 1 ) ; pred = ed ; }
remove an input expression / edge from a phi node . this occurs when the input is copy - propagated , or if the input edge is unreachable .
