mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 04:56:06 +00:00

A necessary AddrSpaceCast was wrongfully deleted in 5c91b2886f6bf400b60ca7839069839ac3980f8f . Recover the AddrSpaceCast. This fixes #86791 .
17 lines
700 B
C++
17 lines
700 B
C++
// 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
|
|
|
|
// Don't crash with assertions build.
|
|
|
|
// CHECK: @MyGlobVar = external thread_local addrspace(1) global i32, align 4
|
|
// CHECK: define weak_odr hidden noundef ptr @_ZTW9MyGlobVar() #0 comdat {
|
|
// CHECK-NEXT: %1 = call align 4 ptr addrspace(1) @llvm.threadlocal.address.p1(ptr addrspace(1) align 4 @MyGlobVar)
|
|
// CHECK-NEXT: %2 = addrspacecast ptr addrspace(1) %1 to ptr
|
|
// CHECK-NEXT: ret ptr %2
|
|
// CHECK-NEXT: }
|
|
int MyGlobVar;
|
|
#pragma omp threadprivate(MyGlobVar)
|
|
int main() {
|
|
MyGlobVar = 1;
|
|
}
|
|
|