mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
Switch all register list clients to the new MC*Iterator interface.
No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -37,9 +37,8 @@ using namespace llvm;
|
||||
void RegScavenger::setUsed(unsigned Reg) {
|
||||
RegsAvailable.reset(Reg);
|
||||
|
||||
for (const uint16_t *SubRegs = TRI->getSubRegisters(Reg);
|
||||
unsigned SubReg = *SubRegs; ++SubRegs)
|
||||
RegsAvailable.reset(SubReg);
|
||||
for (MCSubRegIterator SubRegs(Reg, TRI); SubRegs.isValid(); ++SubRegs)
|
||||
RegsAvailable.reset(*SubRegs);
|
||||
}
|
||||
|
||||
bool RegScavenger::isAliasUsed(unsigned Reg) const {
|
||||
@@ -112,8 +111,8 @@ void RegScavenger::enterBasicBlock(MachineBasicBlock *mbb) {
|
||||
|
||||
void RegScavenger::addRegWithSubRegs(BitVector &BV, unsigned Reg) {
|
||||
BV.set(Reg);
|
||||
for (const uint16_t *R = TRI->getSubRegisters(Reg); *R; R++)
|
||||
BV.set(*R);
|
||||
for (MCSubRegIterator SubRegs(Reg, TRI); SubRegs.isValid(); ++SubRegs)
|
||||
BV.set(*SubRegs);
|
||||
}
|
||||
|
||||
void RegScavenger::forward() {
|
||||
@@ -193,9 +192,8 @@ void RegScavenger::forward() {
|
||||
// Ideally we would like a way to model this, but leaving the
|
||||
// insert_subreg around causes both correctness and performance issues.
|
||||
bool SubUsed = false;
|
||||
for (const uint16_t *SubRegs = TRI->getSubRegisters(Reg);
|
||||
unsigned SubReg = *SubRegs; ++SubRegs)
|
||||
if (isUsed(SubReg)) {
|
||||
for (MCSubRegIterator SubRegs(Reg, TRI); SubRegs.isValid(); ++SubRegs)
|
||||
if (isUsed(*SubRegs)) {
|
||||
SubUsed = true;
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user