summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-04-28 19:37:35 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-04-28 19:37:35 +0000
commit1c4d0efe56e234224a394dc3211d481120701f52 (patch)
tree4f61c2fd93b8e0b102d88b922044b3629603ba34 /llvm/lib
parent156f4ee1c0b18f9a2d2ffe21aaccf857758a2184 (diff)
downloadbcm5719-llvm-1c4d0efe56e234224a394dc3211d481120701f52.tar.gz
bcm5719-llvm-1c4d0efe56e234224a394dc3211d481120701f52.zip
AMDGPU: Emit error if too much LDS is used
llvm-svn: 267922
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
index e05e9159427..7b27e16081b 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
@@ -504,6 +504,11 @@ void AMDGPUAsmPrinter::getSIProgramInfo(SIProgramInfo &ProgInfo,
Ctx.emitError("too many user SGPRs used");
}
+ if (MFI->LDSSize > static_cast<unsigned>(STM.getLocalMemorySize())) {
+ LLVMContext &Ctx = MF.getFunction()->getContext();
+ Ctx.emitError("LDS size exceeds device maximum");
+ }
+
ProgInfo.VGPRBlocks = (ProgInfo.NumVGPR - 1) / 4;
ProgInfo.SGPRBlocks = (ProgInfo.NumSGPR - 1) / 8;
// Set the value to initialize FP_ROUND and FP_DENORM parts of the mode
OpenPOWER on IntegriCloud