[llvm-commits] [regalloc_linearscan] CVS: llvm/include/llvm/CodeGen/LiveIntervals.h
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Nov 13 03:50:01 PST 2003
Changes in directory llvm/include/llvm/CodeGen:
LiveIntervals.h updated: 1.1.2.8 -> 1.1.2.9
---
Log message:
Add support for computing live intervals of physical registers. This
is currently disabled because the register allocator doesn't know how
to handle them.
---
Diffs of the changes: (+18 -1)
Index: llvm/include/llvm/CodeGen/LiveIntervals.h
diff -u llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.8 llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.9
--- llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.8 Wed Nov 12 00:49:56 2003
+++ llvm/include/llvm/CodeGen/LiveIntervals.h Thu Nov 13 03:48:53 2003
@@ -135,6 +135,8 @@
MachineBasicBlock::iterator currentInstr_;
LiveVariables* lv_;
+ std::vector<bool> allocatableRegisters_;
+
typedef std::map<unsigned, MachineBasicBlock*> MbbIndex2MbbMap;
MbbIndex2MbbMap mbbi2mbbMap_;
@@ -170,10 +172,25 @@
/// computeIntervals - compute live intervals
void computeIntervals();
+
/// handleRegisterDef - update intervals for a register def
+ /// (calls handlePhysicalRegisterDef and
+ /// handleVirtualRegisterDef)
void handleRegisterDef(MachineBasicBlock* mbb,
- MachineInstr* instr,
+ MachineBasicBlock::iterator mi,
unsigned reg);
+
+ /// handleVirtualRegisterDef - update intervals for a virtual
+ /// register def
+ void handleVirtualRegisterDef(MachineBasicBlock* mbb,
+ MachineBasicBlock::iterator mi,
+ unsigned reg);
+
+ /// handlePhysicalRegisterDef - update intervals for a
+ /// physical register def
+ void handlePhysicalRegisterDef(MachineBasicBlock* mbb,
+ MachineBasicBlock::iterator mi,
+ unsigned reg);
unsigned getInstructionIndex(MachineInstr* instr) const;
More information about the llvm-commits
mailing list