[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