slot-indexes, liveranges...


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?

Best regards,