150
|
1 // RUN: %clang_cc1 %s -ffake-address-space-map -faddress-space-map-mangling=yes -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefixes="ASMANG,ASMANG10" %s
|
|
2 // RUN: %clang_cc1 %s -cl-std=CL2.0 -ffake-address-space-map -faddress-space-map-mangling=yes -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefixes="ASMANG,ASMANG20" %s
|
|
3 // RUN: %clang_cc1 %s -ffake-address-space-map -faddress-space-map-mangling=no -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefixes="NOASMANG,NOASMANG10" %s
|
|
4 // RUN: %clang_cc1 %s -cl-std=CL2.0 -ffake-address-space-map -faddress-space-map-mangling=no -triple %itanium_abi_triple -emit-llvm -o - | FileCheck -check-prefixes="NOASMANG,NOASMANG20" %s
|
|
5
|
|
6 // We check that the address spaces are mangled the same in both version of OpenCL
|
|
7 // RUN: %clang_cc1 %s -triple spir-unknown-unknown -cl-std=CL2.0 -emit-llvm -o - | FileCheck -check-prefix=OCL-20 %s
|
|
8 // RUN: %clang_cc1 %s -triple spir-unknown-unknown -cl-std=CL1.2 -emit-llvm -o - | FileCheck -check-prefix=OCL-12 %s
|
|
9
|
|
10 // We can't name this f as private is equivalent to default
|
|
11 // no specifier given address space so we get multiple definition
|
|
12 // warnings, but we do want it for comparison purposes.
|
|
13 __attribute__((overloadable))
|
|
14 void ff(int *arg) { }
|
|
15 // ASMANG10: @_Z2ffPi
|
|
16 // ASMANG20: @_Z2ffPU3AS4i
|
|
17 // NOASMANG10: @_Z2ffPU9CLprivatei
|
|
18 // NOASMANG20: @_Z2ffPU9CLgenerici
|
|
19 // OCL-20-DAG: @_Z2ffPU3AS4i
|
|
20 // OCL-12-DAG: @_Z2ffPi
|
|
21
|
|
22 __attribute__((overloadable))
|
|
23 void f(private int *arg) { }
|
|
24 // ASMANG: @_Z1fPi
|
|
25 // NOASMANG: @_Z1fPU9CLprivatei
|
|
26 // OCL-20-DAG: @_Z1fPi
|
|
27 // OCL-12-DAG: @_Z1fPi
|
|
28
|
|
29 __attribute__((overloadable))
|
|
30 void f(global int *arg) { }
|
|
31 // ASMANG: @_Z1fPU3AS1i
|
|
32 // NOASMANG: @_Z1fPU8CLglobali
|
|
33 // OCL-20-DAG: @_Z1fPU3AS1i
|
|
34 // OCL-12-DAG: @_Z1fPU3AS1i
|
|
35
|
|
36 __attribute__((overloadable))
|
|
37 void f(local int *arg) { }
|
|
38 // ASMANG: @_Z1fPU3AS3i
|
|
39 // NOASMANG: @_Z1fPU7CLlocali
|
|
40 // OCL-20-DAG: @_Z1fPU3AS3i
|
|
41 // OCL-12-DAG: @_Z1fPU3AS3i
|
|
42
|
|
43 __attribute__((overloadable))
|
|
44 void f(constant int *arg) { }
|
|
45 // ASMANG: @_Z1fPU3AS2i
|
|
46 // NOASMANG: @_Z1fPU10CLconstanti
|
|
47 // OCL-20-DAG: @_Z1fPU3AS2i
|
|
48 // OCL-12-DAG: @_Z1fPU3AS2i
|
|
49
|
|
50 #if __OPENCL_C_VERSION__ >= 200
|
|
51 __attribute__((overloadable))
|
|
52 void f(generic int *arg) { }
|
|
53 // ASMANG20: @_Z1fPU3AS4i
|
|
54 // NOASMANG20: @_Z1fPU9CLgenerici
|
|
55 // OCL-20-DAG: @_Z1fPU3AS4i
|
|
56 #endif
|