public final class LiveIntervalElement extends Object
LinearScan
Modifier and Type | Field and Description |
---|---|
private BasicBlock |
bb
The basic block holding this live interval element
|
private Instruction |
begin
instruction where the live interval begins
(null if alive at basic block entry)
|
private Instruction |
end
instruction where the live interval ends
(null if alive at basic block exit)
|
(package private) LiveIntervalElement |
next
LiveIntervalElements are linked in a singly-linked list; this is the
next pointer.
|
private Register |
register
register that this live interval is for
|
Constructor and Description |
---|
LiveIntervalElement(Register reg)
Use this constructor when the live interval spans a basic block
boundary.
|
LiveIntervalElement(Register reg,
Instruction begin,
Instruction end)
Use this constructur when the live interval is within a basic block
|
Modifier and Type | Method and Description |
---|---|
BasicBlock |
getBasicBlock() |
Instruction |
getBegin() |
Instruction |
getEnd() |
LiveIntervalElement |
getNext() |
Register |
getRegister() |
int |
hashCode() |
void |
setBasicBlock(BasicBlock bb) |
void |
setBegin(Instruction begin) |
void |
setNext(LiveIntervalElement Next) |
void |
setRegister(Register r) |
String |
toString() |
private Instruction begin
private final Instruction end
private BasicBlock bb
LiveIntervalElement next
public LiveIntervalElement(Register reg)
reg
- The Register whose live interval we are representingpublic LiveIntervalElement(Register reg, Instruction begin, Instruction end)
reg
- the Register whose live interval we are representingbegin
- the definition of the registerend
- the last use of the registerpublic Instruction getBegin()
public void setBegin(Instruction begin)
public Instruction getEnd()
public Register getRegister()
public void setRegister(Register r)
public LiveIntervalElement getNext()
public void setNext(LiveIntervalElement Next)
public BasicBlock getBasicBlock()
public void setBasicBlock(BasicBlock bb)