OPT_BasicBlock entry = ir.cfg.entry(); java.util.HashMap phiDefTypes = new java.util.HashMap(10); java.util.HashSet ambiguous = new java.util.HashSet(10); OPT_DefUse.clearDU(ir); search(entry, S, ir, phiDefTypes, ambiguous); OPT_DefUse.recomputeSSA(ir); setAmbiguousTypes(ambiguous, phiDefTypes); }
  private static void renameSymbolicRegisters (OPT_IR ir,       OPT_Register[] symbolicRegisters) {    OPT_SSADictionary dictionary = ir.HIRInfo.SSADictionary;    int n = ir.getNumberOfSymbolicRegisters();    java.util.Stack[] S = new java.util.Stack[n + 1];    for (int i = 0; i < S.length; i++) {      S[i] = new java.util.Stack();      // populate the Stacks with initial names for      // each parameter, and push "null" for other symbolic registers      if (i >= symbolicRegisters.length)        continue;      OPT_Register r = symbolicRegisters[i];      // If a register's name is "null", that means the      // register has not yet been defined.      S[i].push(null);    }    OPT_BasicBlock entry = ir.cfg.entry();    java.util.HashMap phiDefTypes = new java.util.HashMap(10);    java.util.HashSet ambiguous = new java.util.HashSet(10);    OPT_DefUse.clearDU(ir);    search(entry, S, ir, phiDefTypes, ambiguous);    OPT_DefUse.recomputeSSA(ir);    setAmbiguousTypes(ambiguous, phiDefTypes);  }