From: Tom Stellard Date: Wed, 24 Sep 2014 01:33:23 +0000 (+0000) Subject: R600/SI: Mark EXEC_LO and EXEC_HI as reserved X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=90d1726693a8d8b48cd4ba8308d2ef22772d394e;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218350 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/SIRegisterInfo.cpp b/lib/Target/R600/SIRegisterInfo.cpp index e443deb7ea9..f5307f88038 100644 --- a/lib/Target/R600/SIRegisterInfo.cpp +++ b/lib/Target/R600/SIRegisterInfo.cpp @@ -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);