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