[llvm] r218350 - R600/SI: Mark EXEC_LO and EXEC_HI as reserved

Tom Stellard thomas.stellard at amd.com
Tue Sep 23 18:33:23 PDT 2014


Author: tstellar
Date: Tue Sep 23 20:33:23 2014
New Revision: 218350

URL: http://llvm.org/viewvc/llvm-project?rev=218350&view=rev
Log:
R600/SI: Mark EXEC_LO and EXEC_HI as reserved

These registers can be allocated and used like other 32-bit registers,
but it seems like a likely source for bugs.

Modified:
    llvm/trunk/lib/Target/R600/SIRegisterInfo.cpp

Modified: llvm/trunk/lib/Target/R600/SIRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/SIRegisterInfo.cpp?rev=218350&r1=218349&r2=218350&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/SIRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/R600/SIRegisterInfo.cpp Tue Sep 23 20:33:23 2014
@@ -32,6 +32,12 @@ SIRegisterInfo::SIRegisterInfo(const AMD
 BitVector SIRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
   BitVector Reserved(getNumRegs());
   Reserved.set(AMDGPU::EXEC);
+
+  // EXEC_LO and EXEC_HI could be allocated and used as regular register,
+  // but this seems likely to result in bugs, so I'm marking them as reserved.
+  Reserved.set(AMDGPU::EXEC_LO);
+  Reserved.set(AMDGPU::EXEC_HI);
+
   Reserved.set(AMDGPU::INDIRECT_BASE_ADDR);
   Reserved.set(AMDGPU::FLAT_SCR);
 





More information about the llvm-commits mailing list