| // RUN: %clang_cc1 -emit-llvm %s -o - -fcuda-is-device -triple nvptx-unknown-unknown | FileCheck %s |
| |
| #include "../SemaCUDA/cuda.h" |
| |
| // CHECK: @i = addrspace(1) global |
| __device__ int i; |
| |
| // CHECK: @j = addrspace(4) global |
| __constant__ int j; |
| |
| // CHECK: @k = addrspace(3) global |
| __shared__ int k; |
| |
| __device__ void foo() { |
| // CHECK: load i32* bitcast (i32 addrspace(1)* @i to i32*) |
| i++; |
| |
| // CHECK: load i32* bitcast (i32 addrspace(4)* @j to i32*) |
| j++; |
| |
| // CHECK: load i32* bitcast (i32 addrspace(3)* @k to i32*) |
| k++; |
| |
| static int li; |
| // CHECK: load i32 addrspace(1)* @_ZZ3foovE2li |
| li++; |
| |
| __constant__ int lj; |
| // CHECK: load i32 addrspace(4)* @_ZZ3foovE2lj |
| lj++; |
| |
| __shared__ int lk; |
| // CHECK: load i32 addrspace(3)* @_ZZ3foovE2lk |
| lk++; |
| } |
| |