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