This patch shuffles some functions around before another patch that uses them, so this is primarily a refactor. In particular:
- Move the determination of "which blocks are in scope" to its own function -- this is sometimes trickier than it sounds, and we're going to end up doing it twice. In the process, the "InScopeBlocks" collection is deleted, nothing actually read it, I believe it's a hangover from VarLocBasedLDV.
- Split transfer emission (i.e., installing DBG_VALUEs into blocks) into its own function.
- Give type names to a variety of useful collections that are going to be used in several places shortly.
- Rename a misleading name, "ScopeToBlocks" to "ScopeToAssignBlocks". Because it stores a collection of blocks where assignments happen, not the set of blocks for a scope.
This new comment is much clearer, thanks.
nit: cope -> scope