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