public void addMoveToBeginning(RegisterSpec result, RegisterSpec source) {
    if (result.getReg() == source.getReg()) {
      // Sometimes we end up with no-op moves. Ignore them here.
      return;
    }

    RegisterSpecList sources = RegisterSpecList.make(source);
    NormalSsaInsn toAdd =
        new NormalSsaInsn(
            new PlainInsn(Rops.opMove(result.getType()), SourcePosition.NO_INFO, result, sources),
            this);

    insns.add(getCountPhiInsns(), toAdd);
    movesFromPhisAtBeginning++;
  }
Adds a move instruction after the phi insn block.

@param result move destination
@param source move source
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/SsaBasicBlock.java