insertCopies(b, dom, live, s);
insertCopies(b, dom, live);  performRename(b, dom, s);
  public void translateFromSSA (OPT_IR ir) {    // 0. Deal with guards (validation registers)    unSSAGuards (ir);    // 1. re-compute dominator tree in case of control flow changes    OPT_LTDominators.perform(ir, true, true);    OPT_DominatorTree dom = new OPT_DominatorTree(ir, true);    // 2. compute liveness    OPT_LiveAnalysis live =       new OPT_LiveAnalysis(false,  // don't create GC maps			   true,   // skip (final) local propagation step			           // of live analysis			   false,  // don't store information at handlers			   false); // dont skip guards                                       live.perform(ir);    // 3. initialization    VariableStacks s = new VariableStacks();    // 4. convert phi nodes into copies    OPT_BasicBlock b = ((OPT_DominatorTreeNode)dom.getRoot()).getBlock();    insertCopies(b, dom, live, s);    // 5. phis are now redundant    removeAllPhis(ir);  }