private void processPhiUse(SsaInsn use, EscapeSet escSet, ArrayList<RegisterSpec> regWorklist) {
    int setIndex = findSetIndex(use.getResult());
    if (setIndex != latticeValues.size()) {
      // Check if result is in a set already
      EscapeSet mergeSet = latticeValues.get(setIndex);
      if (mergeSet != escSet) {
        // If it is, merge the sets and states, then delete the copy
        escSet.replaceableArray = false;
        escSet.regSet.or(mergeSet.regSet);
        if (escSet.escape.compareTo(mergeSet.escape) < 0) {
          escSet.escape = mergeSet.escape;
        }
        replaceNode(escSet, mergeSet);
        latticeValues.remove(setIndex);
      }
    } else {
      // If no set is found, add it to this escSet and the worklist
      escSet.regSet.set(use.getResult().getReg());
      regWorklist.add(use.getResult());
    }
  }
Handles phi uses of new objects. Will merge together the sources of a phi into a single
EscapeSet. Adds the result of the phi to the worklist so its uses can be followed.

@param use {@code non-null;} phi use being processed
@param escSet {@code non-null;} EscapeSet for the object
@param regWorklist {@code non-null;} worklist of instructions left to process for this object
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/EscapeAnalysis.java