xref: /llvm-project/clang/test/Misc/backend-resource-limit-diagnostics.hip (revision 0ebd4638af1f71788ca55f521ed8e1ed8cab518d)
11ad63dc0SMatt Arsenault// REQUIRES: amdgpu-registered-target
2c62745e1SMatt Arsenault// RUN: not %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx906 -debug-info-kind=standalone -x hip -fcuda-is-device -emit-codegen-only < %s 2>&1 | FileCheck -DFILE=%s %s
37d568cdcSMatt Arsenault
47d568cdcSMatt Arsenault#define __global__ __attribute__((global))
57d568cdcSMatt Arsenault#define __shared__ __attribute__((shared))
67d568cdcSMatt Arsenault
77d568cdcSMatt Arsenaulttemplate<typename T>
87d568cdcSMatt Arsenault__global__ void use_huge_lds() {
97d568cdcSMatt Arsenault  volatile __shared__ T huge[120000];
107d568cdcSMatt Arsenault  huge[0] = 2;
117d568cdcSMatt Arsenault}
127d568cdcSMatt Arsenault
13*0ebd4638SMatt Arsenault// CHECK: <stdin>:[[@LINE-5]]:17: error: local memory (480000) exceeds limit (65536) in 'void use_huge_lds<int>()'
147d568cdcSMatt Arsenaulttemplate
157d568cdcSMatt Arsenault__global__ void use_huge_lds<int>();
167d568cdcSMatt Arsenault
17*0ebd4638SMatt Arsenault// CHECK: <stdin>:[[@LINE-9]]:17: error: local memory (960000) exceeds limit (65536) in 'void use_huge_lds<double>()'
187d568cdcSMatt Arsenaulttemplate
197d568cdcSMatt Arsenault__global__ void use_huge_lds<double>();
20