@Override
  public void run() {
    // Rename each block in dom-tree DFS order.
    ssaMeth.forEachBlockDepthFirstDom(
        new SsaBasicBlock.Visitor() {
          @Override
          public void visitBlock(SsaBasicBlock block, SsaBasicBlock unused) {
            new BlockRenamer(block).process();
          }
        });

    ssaMeth.setNewRegCount(nextSsaReg);
    ssaMeth.onInsnsChanged();

    if (DEBUG) {
      System.out.println("SSA\tRop");
      /*
       * We're going to compute the version of the rop register
       * by keeping a running total of how many times the rop
       * register has been mapped.
       */
      int[] versions = new int[ropRegCount];

      int sz = ssaRegToRopReg.size();
      for (int i = 0; i < sz; i++) {
        int ropReg = ssaRegToRopReg.get(i);
        System.out.println(i + "\t" + ropReg + "[" + versions[ropReg] + "]");
        versions[ropReg]++;
      }
    }
  }
Performs renaming transformation, modifying the method's instructions in-place.
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/SsaRenamer.java