Phi.setValue(s, i, null);
Phi.setPred(s, i, null);
  static void purgeBlockFromPHIs(OPT_BasicBlock source,				 OPT_BasicBlock target) {    for (OPT_InstructionEnumeration e = target.forwardRealInstrEnumerator();	 e.hasMoreElements();) {      OPT_Instruction s = e.next();      if (s.operator() != PHI) return; // all done (assume PHIs are first!)      int numPairs = Phi.getNumberOfPreds(s);      int dst = 0;      for (int src=0; src<numPairs; src++) {	OPT_BasicBlockOperand bbop = Phi.getPred(s, src);	if (bbop.block == source) {	  Phi.setValue(s, src, null);	  Phi.setPred(s, src, null);	} else {	  if (src != dst) {	    Phi.setValue(s, dst, Phi.getClearValue(s, src));	    Phi.setPred(s, dst, Phi.getClearPred(s, src));	  } 	  dst++;	}      }      for (int i=dst; i<numPairs; i++) {	Phi.setValue(s, i, null);	Phi.setValue(s, i, null);      }    }  }