for(ValueNumber vn : otherVN) {
if (otherVN != null) for(ValueNumber vn : otherVN) {
	void mergeAvailableLoadSets(ValueNumberFrame other, ValueNumberFactory factory, MergeTree mergeTree) {		if (REDUNDANT_LOAD_ELIMINATION) {			// Merge available load sets.			// Only loads that are available in both frames			// remain available. All others are discarded.			String s = "";			if (RLE_DEBUG) {				s = "Merging " + this.availableLoadMapAsString() + " and " + other.availableLoadMapAsString();			}			boolean changed = false;			if (other.isBottom()) {				changed = !this.availableLoadMap.isEmpty();				availableLoadMap.clear();			}			else if (!other.isTop()) {				for(Map.Entry<AvailableLoad,ValueNumber[]> e : availableLoadMap.entrySet()) {					AvailableLoad load = e.getKey();					ValueNumber[] myVN = e.getValue();					ValueNumber[] otherVN = other.availableLoadMap.get(load);					if (false && this.phiNodeForLoads && myVN != null && myVN.length == 1 && myVN[0].hasFlag(ValueNumber.PHI_NODE))						continue;					if (!Arrays.equals(myVN, otherVN)) {												ValueNumber phi = mergedLoads.get(load);						if (phi == null) {							phi = factory.createFreshValue();							int flags = ValueNumber.PHI_NODE;														mergedLoads.put(load, phi);							for(ValueNumber vn : myVN) {								mergeTree.mapInputToOutput(vn, phi);								flags |= vn.getFlags();							}							for(ValueNumber vn : otherVN) {								mergeTree.mapInputToOutput(vn, phi);								flags |= vn.getFlags();							}							phi.setFlag(flags);							if (RLE_DEBUG)								System.out.println("Creating phi node " + phi + " for " + load + " from " + myVN[0] + " x " + otherVN[0] + " in " + System.identityHashCode(this));								changed = true;							e.setValue(new ValueNumber[] { phi });						} else {							if (RLE_DEBUG)									System.out.println("Reusing phi node : " + phi + " for " + myVN[0] + " x " + otherVN[0]+ " in " + System.identityHashCode(this));							if (myVN.length != 0 || !myVN[0].equals(phi))								e.setValue(new ValueNumber[] { phi });																			}																	}									}				}			previouslyKnownAs.putAll(other.previouslyKnownAs);			if (changed)				this.phiNodeForLoads = true;			if (changed && RLE_DEBUG) {				System.out.println(s);				System.out.println("  Result is " + this.availableLoadMapAsString());				System.out.println(" Set phi for " + System.identityHashCode(this));			}		}	}