Commits

Manman Ren committed 313bd88d883
SIL Serializer: fix a bug in handling of forward-referenced values. In serializer, we pre-assign a value ID in order, to each basic block argument and each SILInstruction that has a value. In deserializer, we use LocalValues to store the definitions and ForwardMRVLocalValues for forward-referenced values (values that are used but not yet defined). LocalValues are updated in setLocalValue where the ID passed in assumes the same ordering as in serializer: in-order for each basic block argument and each SILInstruction that has a value. We update ForwardMRVLocalValues in getLocalValue and when a value is defined in setLocalValue, the corresponding entry in ForwardMRVLocalValues will be erased. rdar://15351123 Swift SVN r9884