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 5 void f__p(__private int *arg) {} 6 7 // CHECK: i32 addrspace(1)* %arg 8 void f__g(__global int *arg) {} 9 10 // CHECK: i32 addrspace(2)* %arg 11 void f__l(__local int *arg) {} 12 13 // CHECK: i32 addrspace(3)* %arg 14 void f__c(__constant int *arg) {} 15 16 // CHECK: i32* %arg 17 void fp(private int *arg) {} 18 19 // CHECK: i32 addrspace(1)* %arg 20 void fg(global int *arg) {} 21 22 // CHECK: i32 addrspace(2)* %arg 23 void fl(local int *arg) {} 24 25 // CHECK: i32 addrspace(3)* %arg 26 void fc(constant int *arg) {} 27 28 #ifdef CL20 29 int i; 30 // CL20-DAG: @i = common addrspace(1) global i32 0 31 int *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 37 void 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