1*b4c1ded7SYoungsuk Kim // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -target-cpu gfx906 -fopenmp -nogpulib -fopenmp-is-target-device -emit-llvm %s -o - | FileCheck %s 2*b4c1ded7SYoungsuk Kim 3*b4c1ded7SYoungsuk Kim // Don't crash with assertions build. 4*b4c1ded7SYoungsuk Kim 5*b4c1ded7SYoungsuk Kim // CHECK: @MyGlobVar = external thread_local addrspace(1) global i32, align 4 6*b4c1ded7SYoungsuk Kim // CHECK: define weak_odr hidden noundef ptr @_ZTW9MyGlobVar() #0 comdat { 7*b4c1ded7SYoungsuk Kim // CHECK-NEXT: %1 = call align 4 ptr addrspace(1) @llvm.threadlocal.address.p1(ptr addrspace(1) align 4 @MyGlobVar) 8*b4c1ded7SYoungsuk Kim // CHECK-NEXT: %2 = addrspacecast ptr addrspace(1) %1 to ptr 9*b4c1ded7SYoungsuk Kim // CHECK-NEXT: ret ptr %2 10*b4c1ded7SYoungsuk Kim // CHECK-NEXT: } 11*b4c1ded7SYoungsuk Kim int MyGlobVar; 12*b4c1ded7SYoungsuk Kim #pragma omp threadprivate(MyGlobVar) 13*b4c1ded7SYoungsuk Kim int main() { 14*b4c1ded7SYoungsuk Kim MyGlobVar = 1; 15*b4c1ded7SYoungsuk Kim } 16*b4c1ded7SYoungsuk Kim 17