if (excludeGuards && symbolics[r].isValidation()) continue;
  private void insertPhiFunctions(OPT_IR ir, OPT_BitVector[] defs,                                   OPT_Register[] symbolics) {    for (int r = 0; r < defs.length; r++) {      if (symbolics[r] == null)        continue;      if (symbolics[r].isSSA())        continue;      if (symbolics[r].isPhysical())        continue;      //if (symbolics[r].isValidation()) continue;      if (DEBUG)        System.out.println("Inserting phis for register " + r);      if (DEBUG)        System.out.println("Start iterated frontier...");      OPT_BitVector needsPhi = OPT_DominanceFrontier.getIteratedDominanceFrontier(                            ir, defs[r]);      removePhisThatDominateAllDefs(needsPhi, ir, defs[r]);      if (DEBUG)        System.out.println("Done.");      if (ir.options.PRUNED_SSA) {        for (int b = 0; b < needsPhi.length(); b++) {          if (needsPhi.get(b)) {            OPT_BasicBlock bb = ir.getBasicBlock(b);            if (live.getLiveInfo(bb).in().contains(symbolics[r]))              insertPhi(bb, symbolics[r]);          }        }      } else if (ir.options.SEMI_PRUNED_SSA) {        if (nonLocalRegisters.contains(symbolics[r])) {          for (int b = 0; b < needsPhi.length(); b++) {            OPT_BasicBlock bb = ir.getBasicBlock(b);            if (needsPhi.get(b))              insertPhi(bb, symbolics[r]);          }        }      } else { // ir.options.MINIMAL_SSA        for (int b = 0; b < needsPhi.length(); b++) {          OPT_BasicBlock bb = ir.getBasicBlock(b);          if (needsPhi.get(b))            insertPhi(bb, symbolics[r]);        }      }    }  }