[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.h LiveIntervalAnalysis.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Aug 26 15:22:48 PDT 2004
Changes in directory llvm/lib/CodeGen:
LiveIntervalAnalysis.h updated: 1.40 -> 1.41
LiveIntervalAnalysis.cpp updated: 1.118 -> 1.119
---
Log message:
Use newly added API in MRegisterInfo.
---
Diffs of the changes: (+6 -5)
Index: llvm/lib/CodeGen/LiveIntervalAnalysis.h
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.40 llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.41
--- llvm/lib/CodeGen/LiveIntervalAnalysis.h:1.40 Wed Aug 4 04:43:38 2004
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.h Thu Aug 26 17:22:38 2004
@@ -47,6 +47,8 @@
typedef std::map<unsigned, unsigned> Reg2RegMap;
Reg2RegMap r2rMap_;
+ std::vector<bool> allocatableRegs_;
+
public:
struct InstrSlots
{
Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.118 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.119
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.118 Tue Aug 24 12:48:29 2004
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp Thu Aug 26 17:22:38 2004
@@ -87,6 +87,7 @@
tm_ = &fn.getTarget();
mri_ = tm_->getRegisterInfo();
lv_ = &getAnalysis<LiveVariables>();
+ allocatableRegs_ = mri_->getAllocatableSet(fn);
// number MachineInstrs
unsigned miIndex = 0;
@@ -484,7 +485,7 @@
unsigned reg) {
if (MRegisterInfo::isVirtualRegister(reg))
handleVirtualRegisterDef(MBB, MI, getOrCreateInterval(reg));
- else if (lv_->getAllocatablePhysicalRegisters()[reg]) {
+ else if (allocatableRegs_[reg]) {
handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(reg));
for (const unsigned* AS = mri_->getAliasSet(reg); *AS; ++AS)
handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(*AS));
@@ -541,10 +542,8 @@
// on not allocatable physical registers
unsigned regA, regB;
if (TII.isMoveInstr(*mi, regA, regB) &&
- (MRegisterInfo::isVirtualRegister(regA) ||
- lv_->getAllocatablePhysicalRegisters()[regA]) &&
- (MRegisterInfo::isVirtualRegister(regB) ||
- lv_->getAllocatablePhysicalRegisters()[regB])) {
+ (MRegisterInfo::isVirtualRegister(regA) || allocatableRegs_[regA]) &&
+ (MRegisterInfo::isVirtualRegister(regB) || allocatableRegs_[regB])) {
// Get representative registers.
regA = rep(regA);
More information about the llvm-commits
mailing list