summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-01-22 19:24:19 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-01-22 19:24:19 +0000
commit655ba251b50346262bee125d6fb29bb086a883d2 (patch)
tree668553976bf6f9224bbf5712edd58d91f60f0280 /lib
parent7dd37ae57a00f1c664b9ae0e9451c1717cf5348d (diff)
R600: Begin private memory at the second GPR.
This way private memory does not over-write work group information stored in GPRs 0 and 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199824 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/R600/AMDGPUFrameLowering.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/R600/AMDGPUFrameLowering.cpp b/lib/Target/R600/AMDGPUFrameLowering.cpp
index 40f14d2f67c..40cc9083c00 100644
--- a/lib/Target/R600/AMDGPUFrameLowering.cpp
+++ b/lib/Target/R600/AMDGPUFrameLowering.cpp
@@ -74,7 +74,10 @@ unsigned AMDGPUFrameLowering::getStackWidth(const MachineFunction &MF) const {
int AMDGPUFrameLowering::getFrameIndexOffset(const MachineFunction &MF,
int FI) const {
const MachineFrameInfo *MFI = MF.getFrameInfo();
- unsigned Offset = 0;
+ // Start the offset at 2 so we don't overwrite work group information.
+ // XXX: We should only do this when the shader actually uses this
+ // information.
+ unsigned Offset = 2;
int UpperBound = FI == -1 ? MFI->getNumObjects() : FI;
for (int i = MFI->getObjectIndexBegin(); i < UpperBound; ++i) {