R600: Mark all members of the TRegMem register class as reserved
authorTom Stellard <thomas.stellard@amd.com>
Tue, 19 Feb 2013 15:22:45 +0000 (15:22 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Tue, 19 Feb 2013 15:22:45 +0000 (15:22 +0000)
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

lib/Target/R600/R600RegisterInfo.cpp

index 33e858dc0469f4ebd72e2d887519d8aafcd04e60..bbd7995d7d51688822adaa832f7e62fa9bc58ac6 100644 (file)
@@ -49,6 +49,12 @@ BitVector R600RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
     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);
   std::vector<unsigned> IndirectRegs = RII->getIndirectReservedRegs(MF);
   for (std::vector<unsigned>::iterator I = IndirectRegs.begin(),