mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Remove simple coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10695 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d508776cd5
commit
63caedf046
@ -131,21 +131,6 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
|
||||
assert(r2iit != r2iMap_.end());
|
||||
intervals_[r2iit->second].weight += pow(10.0F, loopDepth);
|
||||
}
|
||||
|
||||
// add hints for coalescing
|
||||
unsigned src, dst;
|
||||
if (tii.isMoveInstr(*instr, src, dst)) {
|
||||
if (src >= MRegisterInfo::FirstVirtualRegister) {
|
||||
Reg2IntervalMap::iterator r2iit = r2iMap_.find(src);
|
||||
assert(r2iit != r2iMap_.end());
|
||||
intervals_[r2iit->second].hint = dst;
|
||||
}
|
||||
if (dst >= MRegisterInfo::FirstVirtualRegister) {
|
||||
Reg2IntervalMap::iterator r2iit = r2iMap_.find(dst);
|
||||
assert(r2iit != r2iMap_.end());
|
||||
intervals_[r2iit->second].hint = src;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -617,17 +617,6 @@ unsigned RA::getFreePhysReg(Intervals::const_iterator cur)
|
||||
DEBUG(std::cerr << "\t\tgetting free physical register: ");
|
||||
const TargetRegisterClass* rc = mf_->getSSARegMap()->getRegClass(cur->reg);
|
||||
|
||||
if (unsigned reg = cur->hint) {
|
||||
if (reg >= MRegisterInfo::FirstVirtualRegister &&
|
||||
v2pMap_.find(reg) != v2pMap_.end())
|
||||
reg = v2pMap_[reg];
|
||||
if (reg && reg < MRegisterInfo::FirstVirtualRegister &&
|
||||
mri_->getRegClass(reg) == rc && !regUse_[reg]) {
|
||||
DEBUG(std::cerr << mri_->getName(reg) << '\n');
|
||||
return reg;
|
||||
}
|
||||
}
|
||||
|
||||
for (TargetRegisterClass::iterator i = rc->allocation_order_begin(*mf_);
|
||||
i != rc->allocation_order_end(*mf_); ++i) {
|
||||
unsigned reg = *i;
|
||||
|
Loading…
Reference in New Issue
Block a user