Home | History | Annotate | Download | only in CodeGenOpenCL
      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