Hi,
After pondering how best to communicate changes to this pass, I figured it's easiest if there are unit tests. There are several interacting internal phases, which aren't easily accessed from MIR tests. Thus, in this patch I copy the InstrRefBasedLDV and MLocTracker class definitions to a header, accompanied by various related utility classes. I've also added a unit-test C++ file with no actual tests in it, in preparation for the next patch which adds such tests.
This is almost entirely a copy and paste; there should be no functional changes.
?