22 #ifndef LLVM_CODEGEN_LIVERANGECALC_H
23 #define LLVM_CODEGEN_LIVERANGECALC_H
32 class MachineDominatorTree;
33 template <
class NodeT>
class DomTreeNodeBase;
51 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair;
95 : LR(LR), DomNode(node),
Kill(kill),
Value(0) {}
125 void updateLiveIns();
221 LiveIn.
push_back(LiveInBlock(LR, DomNode, Kill));
void push_back(const T &Elt)
void extend(LiveRange &LR, SlotIndex Kill, unsigned PhysReg=0)
void createDeadDefs(LiveRange &LR, unsigned Reg)
void setLiveOutValue(MachineBasicBlock *MBB, VNInfo *VNI)
LoopInfoBase< BlockT, LoopT > * LI
DomTreeNodeBase< MachineBasicBlock > MachineDomTreeNode
void addLiveInBlock(LiveRange &LR, MachineDomTreeNode *DomNode, SlotIndex Kill=SlotIndex())
void reset(const MachineFunction *MF, SlotIndexes *, MachineDominatorTree *, VNInfo::Allocator *)
void extendToUses(LiveRange &LR, unsigned Reg)
void createDeadDefs(LiveInterval &LI)
createDeadDefs - Create a dead def in LI for every def of LI->reg.
LLVM Value Representation.
SlotIndex - An opaque wrapper around machine indexes.
void extendToUses(LiveInterval &LI)
extendToUses - Extend the live range of LI to reach all uses of LI->reg.