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(3) global i32 undef |
10 | // CHECK-DAG: @test.lds_int_arr = internal addrspace(3) global [128 x i32] undef |
11 | // CHECK-DAG: @test.lds_struct = internal addrspace(3) global %struct.Foo undef |
12 | // CHECK-DAG: @test.lds_struct_arr = internal addrspace(3) 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 | |