find Source Information
Find the set of L2SemanticValues and TypeRestriction leading to this read operand. The control flow graph is not necessarily in SSA form, so the underlying register may have multiple definitions to choose from, some of which are not in this read's history.
If there is a write of the register in the same block as the read, extract the information from that.
Otherwise each incoming edge must carry this information in its manifest. Note that there's no phi function to merge differing registers into this one, otherwise the phi itself would have been considered the nearest write. We still have to take the union of the restrictions, and the intersection of the synonyms' sets of L2SemanticValues.
Return
A Pair consisting of a Set of synonymous L2SemanticValues, and the TypeRestriction guaranteed at this read.