public class InterferenceRegisterMapper extends BasicRegisterMapper
| Constructor and Description |
|---|
InterferenceRegisterMapper(InterferenceGraph oldRegInterference,
int countOldRegisters)
Constructs an instance
|
| Modifier and Type | Method and Description |
|---|---|
void |
addMapping(int oldReg,
int newReg,
int category)
Adds a mapping to the mapper.
|
boolean |
areAnyPinned(RegisterSpecList oldSpecs,
int newReg,
int targetCategory)
Checks to see if any of a set of old-namespace registers are
pinned to the specified new-namespace reg + category.
|
boolean |
interferes(int oldReg,
int newReg,
int category)
Checks to see if old namespace reg
oldReg interferes
with what currently maps to newReg. |
boolean |
interferes(RegisterSpec oldSpec,
int newReg)
Checks to see if old namespace reg
oldReg interferes
with what currently maps to newReg. |
getNewRegisterCount, map, oldToNew, toHumanmap, mappublic InterferenceRegisterMapper(InterferenceGraph oldRegInterference, int countOldRegisters)
countOldRegisters - number of registers in old namespacepublic void addMapping(int oldReg,
int newReg,
int category)
addMapping in class BasicRegisterMapperoldReg - >= 0; old registernewReg - >= 0; new registercategory - 1..2; width of regpublic boolean interferes(int oldReg,
int newReg,
int category)
oldReg interferes
with what currently maps to newReg.oldReg - old namespace registernewReg - new namespace registercategory - category of old namespace registerpublic boolean interferes(RegisterSpec oldSpec, int newReg)
oldReg interferes
with what currently maps to newReg.oldSpec - non-null; old namespace registernewReg - new namespace registerpublic boolean areAnyPinned(RegisterSpecList oldSpecs, int newReg, int targetCategory)
oldSpecs - non-null; set of old-namespace regsnewReg - >= 0; new-namespace registertargetCategory - 1..2; the number of adjacent new-namespace
registers (starting at ropReg) to considerCopyright © 2020. All Rights Reserved.