• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: %clang_cc1 %s -O0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s
2// RUN: %clang_cc1 %s -O0 -DCL20 -cl-std=CL2.0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s --check-prefix=CL20
3
4// CHECK: i32* %arg
5void f__p(__private int *arg) {}
6
7// CHECK: i32 addrspace(1)* %arg
8void f__g(__global int *arg) {}
9
10// CHECK: i32 addrspace(2)* %arg
11void f__l(__local int *arg) {}
12
13// CHECK: i32 addrspace(3)* %arg
14void f__c(__constant int *arg) {}
15
16// CHECK: i32* %arg
17void fp(private int *arg) {}
18
19// CHECK: i32 addrspace(1)* %arg
20void fg(global int *arg) {}
21
22// CHECK: i32 addrspace(2)* %arg
23void fl(local int *arg) {}
24
25// CHECK: i32 addrspace(3)* %arg
26void fc(constant int *arg) {}
27
28#ifdef CL20
29int i;
30// CL20-DAG: @i = common addrspace(1) global i32 0
31int *ptr;
32// CL20-DAG: @ptr = common addrspace(1) global i32 addrspace(4)* null
33#endif
34
35// CHECK: i32* %arg
36// CL20-DAG: i32 addrspace(4)* %arg
37void f(int *arg) {
38
39  int i;
40// CHECK: %i = alloca i32,
41// CL20-DAG: %i = alloca i32,
42
43#ifdef CL20
44  static int ii;
45// CL20-DAG: @f.ii = internal addrspace(1) global i32 0
46#endif
47}
48