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