xref: /aosp_15_r20/external/clang/test/CodeGenOpenCL/local-initializer-undef.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -O0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s
2*67e74705SXin Li
3*67e74705SXin Litypedef struct Foo {
4*67e74705SXin Li    int x;
5*67e74705SXin Li    float y;
6*67e74705SXin Li    float z;
7*67e74705SXin Li} Foo;
8*67e74705SXin Li
9*67e74705SXin Li// CHECK-DAG: @test.lds_int = internal addrspace(2) global i32 undef
10*67e74705SXin Li// CHECK-DAG: @test.lds_int_arr = internal addrspace(2) global [128 x i32] undef
11*67e74705SXin Li// CHECK-DAG: @test.lds_struct = internal addrspace(2) global %struct.Foo undef
12*67e74705SXin Li// CHECK-DAG: @test.lds_struct_arr = internal addrspace(2) global [64 x %struct.Foo] undef
13*67e74705SXin Li__kernel void test()
14*67e74705SXin Li{
15*67e74705SXin Li    __local int lds_int;
16*67e74705SXin Li    __local int lds_int_arr[128];
17*67e74705SXin Li    __local Foo lds_struct;
18*67e74705SXin Li    __local Foo lds_struct_arr[64];
19*67e74705SXin Li
20*67e74705SXin Li    lds_int = 1;
21*67e74705SXin Li    lds_int_arr[0] = 1;
22*67e74705SXin Li    lds_struct.x = 1;
23*67e74705SXin Li    lds_struct_arr[0].x = 1;
24*67e74705SXin Li}
25