diff options
Diffstat (limited to 'test/CodeGenOpenCL/address-spaces.cl')
-rw-r--r-- | test/CodeGenOpenCL/address-spaces.cl | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/test/CodeGenOpenCL/address-spaces.cl b/test/CodeGenOpenCL/address-spaces.cl index cb641f5937116..60f5e30d328bb 100644 --- a/test/CodeGenOpenCL/address-spaces.cl +++ b/test/CodeGenOpenCL/address-spaces.cl @@ -1,11 +1,9 @@ // RUN: %clang_cc1 %s -O0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,SPIR // RUN: %clang_cc1 %s -O0 -DCL20 -cl-std=CL2.0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s --check-prefixes=CL20,CL20SPIR -// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa-opencl -emit-llvm -o - | FileCheck --check-prefixes=CHECK,SPIR %s -// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa-opencl -DCL20 -cl-std=CL2.0 -emit-llvm -o - | FileCheck %s --check-prefixes=CL20,CL20SPIR -// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa-amdgizcl -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK,GIZ -// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa-amdgizcl -DCL20 -cl-std=CL2.0 -emit-llvm -o - | FileCheck %s --check-prefixes=CL20,CL20GIZ -// RUN: %clang_cc1 %s -O0 -triple amdgcn-mesa-mesa3d -emit-llvm -o - | FileCheck --check-prefixes=CHECK,SPIR %s -// RUN: %clang_cc1 %s -O0 -triple r600-- -emit-llvm -o - | FileCheck --check-prefixes=CHECK,SPIR %s +// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa -emit-llvm -o - | FileCheck --check-prefixes=CHECK,AMDGCN %s +// RUN: %clang_cc1 %s -O0 -triple amdgcn-amd-amdhsa -DCL20 -cl-std=CL2.0 -emit-llvm -o - | FileCheck %s --check-prefixes=CL20,CL20AMDGCN +// RUN: %clang_cc1 %s -O0 -triple amdgcn-mesa-mesa3d -emit-llvm -o - | FileCheck --check-prefixes=CHECK,AMDGCN %s +// RUN: %clang_cc1 %s -O0 -triple r600-- -emit-llvm -o - | FileCheck --check-prefixes=CHECK,AMDGCN %s // SPIR: %struct.S = type { i32, i32, i32* } // CL20SPIR: %struct.S = type { i32, i32, i32 addrspace(4)* } @@ -15,18 +13,18 @@ struct S { int *z; }; -// CL20-DAG: @g_extern_var = external addrspace(1) global float -// CL20-DAG: @l_extern_var = external addrspace(1) global float +// CL20-DAG: @g_extern_var = external {{(dso_local )?}}addrspace(1) global float +// CL20-DAG: @l_extern_var = external {{(dso_local )?}}addrspace(1) global float // CL20-DAG: @test_static.l_static_var = internal addrspace(1) global float 0.000000e+00 // CL20-DAG: @g_static_var = internal addrspace(1) global float 0.000000e+00 #ifdef CL20 -// CL20-DAG: @g_s = common addrspace(1) global %struct.S zeroinitializer +// CL20-DAG: @g_s = common {{(dso_local )?}}addrspace(1) global %struct.S zeroinitializer struct S g_s; #endif // SPIR: i32* %arg -// GIZ: i32 addrspace(5)* %arg +// AMDGCN: i32 addrspace(5)* %arg void f__p(__private int *arg) {} // CHECK: i32 addrspace(1)* %arg @@ -35,11 +33,12 @@ void f__g(__global int *arg) {} // CHECK: i32 addrspace(3)* %arg void f__l(__local int *arg) {} -// CHECK: i32 addrspace(2)* %arg +// SPIR: i32 addrspace(2)* %arg +// AMDGCN: i32 addrspace(4)* %arg void f__c(__constant int *arg) {} // SPIR: i32* %arg -// GIZ: i32 addrspace(5)* %arg +// AMDGCN: i32 addrspace(5)* %arg void fp(private int *arg) {} // CHECK: i32 addrspace(1)* %arg @@ -48,28 +47,29 @@ void fg(global int *arg) {} // CHECK: i32 addrspace(3)* %arg void fl(local int *arg) {} -// CHECK: i32 addrspace(2)* %arg +// SPIR: i32 addrspace(2)* %arg +// AMDGCN: i32 addrspace(4)* %arg void fc(constant int *arg) {} #ifdef CL20 int i; -// CL20-DAG: @i = common addrspace(1) global i32 0 +// CL20-DAG: @i = common {{(dso_local )?}}addrspace(1) global i32 0 int *ptr; -// CL20SPIR-DAG: @ptr = common addrspace(1) global i32 addrspace(4)* null -// CL20GIZ-DAG: @ptr = common addrspace(1) global i32* null +// CL20SPIR-DAG: @ptr = common {{(dso_local )?}}addrspace(1) global i32 addrspace(4)* null +// CL20AMDGCN-DAG: @ptr = common {{(dso_local )?}}addrspace(1) global i32* null #endif // SPIR: i32* %arg -// GIZ: i32 addrspace(5)* %arg +// AMDGCN: i32 addrspace(5)* %arg // CL20SPIR-DAG: i32 addrspace(4)* %arg -// CL20GIZ-DAG: i32* %arg +// CL20AMDGCN-DAG: i32* %arg void f(int *arg) { int i; // SPIR: %i = alloca i32, -// GIZ: %i = alloca i32{{.*}}addrspace(5) +// AMDGCN: %i = alloca i32{{.*}}addrspace(5) // CL20SPIR-DAG: %i = alloca i32, -// CL20GIZ-DAG: %i = alloca i32{{.*}}addrspace(5) +// CL20AMDGCN-DAG: %i = alloca i32{{.*}}addrspace(5) #ifdef CL20 static int ii; @@ -79,13 +79,13 @@ void f(int *arg) { typedef int int_td; typedef int *intp_td; -// SPIR: define void @test_typedef(i32 addrspace(1)* %x, i32 addrspace(2)* %y, i32* %z) +// SPIR: define {{(dso_local )?}}void @test_typedef(i32 addrspace(1)* %x, i32 addrspace(2)* %y, i32* %z) void test_typedef(global int_td *x, constant int_td *y, intp_td z) { *x = *y; *z = 0; } -// SPIR: define void @test_struct() +// SPIR: define {{(dso_local )?}}void @test_struct() void test_struct() { // SPIR: %ps = alloca %struct.S* // CL20SPIR: %ps = alloca %struct.S addrspace(4)* @@ -99,7 +99,7 @@ void test_struct() { #endif } -// SPIR-LABEL: define void @test_void_par() +// SPIR-LABEL: define {{(dso_local )?}}void @test_void_par() void test_void_par(void) {} // On ppc64 returns signext i32. |