private void addSetVarnodeToLastSetLocations(Varnode node, Address address) {
		lastSet.put(node, address);
		AddressSet addressSet = allLastSet.get(node);
		if (addressSet == null) {
			addressSet = new AddressSet();
			allLastSet.put(node, addressSet);
		}
		addressSet.add(address);

		// for registers with parent larger register, must store that they were
		// last set at this address as well.
		// Don't care about really large overlapping registers
		if (node.isRegister() && node.getSize() <= 8) {
			Register register = trans.getRegister(node);
			if (register == null) {
				return;
			}
			Register parentRegister = register.getParentRegister();
			// Don't care about really large overlapping registers
			if (parentRegister != null && parentRegister.getBitLength() <= 64) {
				node = trans.getVarnode(parentRegister);
				addSetVarnodeToLastSetLocations(node, address);
			}
		}
	}
Propogate any results that are in the value cache.

@param clearContext  true if the cache should be cleared.
                     The propogation could be for flow purposes, and the
                     processing of the instruction is finished, so it's effects should be kept.
Ghidra/Features/Base/src/main/java/ghidra/program/util/VarnodeContext.java