I am having a bit of a time trying to figure out the scheme behind the slotindexing / liverange design.
There seems to be several indexes mapped to the same instruction. Why is this?
I take it, that it will always be true that for a LiveRange includes instructions with slotindexes [i:j), based on calls to SlotIndexes::getInstructionIndex(MI) ?
However, LiveRange.valno->def, gives an earlier index than what is returned from the method above…
Is there any overview doc on this?