R600: Mark all members of the TRegMem register class as reserved

This stops the Machine Verifier from complaining about uses of undefined
physical registers.

NOTE: This is a candidate for the Mesa stable branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175518 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tom Stellard 2013-02-19 15:22:45 +00:00
parent 23339b68e2
commit 2b4b68d936

View File

@ -49,6 +49,12 @@ BitVector R600RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
Reserved.set(*I); Reserved.set(*I);
} }
for (TargetRegisterClass::iterator I = AMDGPU::TRegMemRegClass.begin(),
E = AMDGPU::TRegMemRegClass.end();
I != E; ++I) {
Reserved.set(*I);
}
const R600InstrInfo *RII = static_cast<const R600InstrInfo*>(&TII); const R600InstrInfo *RII = static_cast<const R600InstrInfo*>(&TII);
std::vector<unsigned> IndirectRegs = RII->getIndirectReservedRegs(MF); std::vector<unsigned> IndirectRegs = RII->getIndirectReservedRegs(MF);
for (std::vector<unsigned>::iterator I = IndirectRegs.begin(), for (std::vector<unsigned>::iterator I = IndirectRegs.begin(),