aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 2eb9626abe..c64d84726a 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -139,7 +139,7 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
void LiveIntervals::printRegName(unsigned reg) const
{
- if (reg < MRegisterInfo::FirstVirtualRegister)
+ if (MRegisterInfo::isPhysicalRegister(reg))
std::cerr << mri_->getName(reg);
else
std::cerr << '%' << reg;
@@ -257,7 +257,7 @@ void LiveIntervals::handleRegisterDef(MachineBasicBlock* mbb,
MachineBasicBlock::iterator mi,
unsigned reg)
{
- if (reg < MRegisterInfo::FirstVirtualRegister) {
+ if (MRegisterInfo::isPhysicalRegister(reg)) {
if (lv_->getAllocatablePhysicalRegisters()[reg]) {
handlePhysicalRegisterDef(mbb, mi, reg);
for (const unsigned* as = mri_->getAliasSet(reg); *as; ++as)
@@ -349,9 +349,9 @@ void LiveIntervals::joinIntervals()
unsigned srcReg, dstReg;
if (tii.isMoveInstr(*mi, srcReg, dstReg) &&
- (srcReg >= MRegisterInfo::FirstVirtualRegister ||
+ (MRegisterInfo::isVirtualRegister(srcReg) ||
lv_->getAllocatablePhysicalRegisters()[srcReg]) &&
- (dstReg >= MRegisterInfo::FirstVirtualRegister ||
+ (MRegisterInfo::isVirtualRegister(dstReg) ||
lv_->getAllocatablePhysicalRegisters()[dstReg])) {
// get representative registers
@@ -371,9 +371,9 @@ void LiveIntervals::joinIntervals()
Intervals::iterator dstInt = r2iDst->second;
// src is a physical register
- if (srcInt->reg < MRegisterInfo::FirstVirtualRegister) {
+ if (MRegisterInfo::isPhysicalRegister(srcInt->reg)) {
if (dstInt->reg == srcInt->reg ||
- (dstInt->reg >= MRegisterInfo::FirstVirtualRegister &&
+ (MRegisterInfo::isVirtualRegister(dstInt->reg) &&
!srcInt->overlaps(*dstInt) &&
!overlapsAliases(*srcInt, *dstInt))) {
srcInt->join(*dstInt);
@@ -383,9 +383,9 @@ void LiveIntervals::joinIntervals()
}
}
// dst is a physical register
- else if (dstInt->reg < MRegisterInfo::FirstVirtualRegister) {
+ else if (MRegisterInfo::isPhysicalRegister(dstInt->reg)) {
if (srcInt->reg == dstInt->reg ||
- (srcInt->reg >= MRegisterInfo::FirstVirtualRegister &&
+ (MRegisterInfo::isVirtualRegister(srcInt->reg) &&
!dstInt->overlaps(*srcInt) &&
!overlapsAliases(*dstInt, *srcInt))) {
dstInt->join(*srcInt);
@@ -424,7 +424,7 @@ void LiveIntervals::joinIntervals()
bool LiveIntervals::overlapsAliases(const Interval& lhs,
const Interval& rhs) const
{
- assert(lhs.reg < MRegisterInfo::FirstVirtualRegister &&
+ assert(MRegisterInfo::isPhysicalRegister(lhs.reg) &&
"first interval must describe a physical register");
for (const unsigned* as = mri_->getAliasSet(lhs.reg); *as; ++as) {
@@ -439,7 +439,7 @@ bool LiveIntervals::overlapsAliases(const Interval& lhs,
LiveIntervals::Interval::Interval(unsigned r)
: reg(r),
- weight((r < MRegisterInfo::FirstVirtualRegister ?
+ weight((MRegisterInfo::isPhysicalRegister(r) ?
std::numeric_limits<float>::max() : 0.0F))
{
@@ -546,7 +546,7 @@ void LiveIntervals::Interval::join(const LiveIntervals::Interval& other)
cur = mergeRangesForward(cur);
cur = mergeRangesBackward(cur);
}
- if (reg >= MRegisterInfo::FirstVirtualRegister)
+ if (MRegisterInfo::isVirtualRegister(reg))
weight += other.weight;
DEBUG(std::cerr << "\t\t\t\tafter merging: " << *this << '\n');