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.

llvm-svn: 218350
This commit is contained in:
Tom Stellard 2014-09-24 01:33:23 +00:00
parent 9a88593ed0
commit be507fb5d3
1 changed files with 6 additions and 0 deletions

View File

@ -32,6 +32,12 @@ SIRegisterInfo::SIRegisterInfo(const AMDGPUSubtarget &st)
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);