summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-08-26 22:22:38 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-08-26 22:22:38 +0000
commit542ac1cba77173117dcbf8e98345b68a58256e56 (patch)
tree4cf642f78d9cf746e8ef1bcff9036edcfb0ea704 /llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
parent8b5b3fdb50bac781c737d0d4c7750612f00dec99 (diff)
downloadbcm5719-llvm-542ac1cba77173117dcbf8e98345b68a58256e56.tar.gz
bcm5719-llvm-542ac1cba77173117dcbf8e98345b68a58256e56.zip
Use newly added API in MRegisterInfo.
llvm-svn: 16060
Diffstat (limited to 'llvm/lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--llvm/lib/CodeGen/LiveIntervalAnalysis.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
index 6cf95d20903..14bccf6fa96 100644
--- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -87,6 +87,7 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
tm_ = &fn.getTarget();
mri_ = tm_->getRegisterInfo();
lv_ = &getAnalysis<LiveVariables>();
+ allocatableRegs_ = mri_->getAllocatableSet(fn);
// number MachineInstrs
unsigned miIndex = 0;
@@ -484,7 +485,7 @@ void LiveIntervals::handleRegisterDef(MachineBasicBlock *MBB,
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 @@ void LiveIntervals::joinIntervalsInMachineBB(MachineBasicBlock *MBB) {
// 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);
OpenPOWER on IntegriCloud