forked from OSchip/llvm-project
[OpenMP][AMDGPU] Use AMDGPU_KERNEL calling convention for entry function
AMDGPU backend requires entry functions/kernels to have AMDGPU_KERNEL calling convention for proper linking. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D94060
This commit is contained in:
parent
7f7b0dc4e1
commit
4909cb1a0f
|
@ -6471,6 +6471,8 @@ void CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(
|
|||
OutlinedFnID = llvm::ConstantExpr::getBitCast(OutlinedFn, CGM.Int8PtrTy);
|
||||
OutlinedFn->setLinkage(llvm::GlobalValue::WeakAnyLinkage);
|
||||
OutlinedFn->setDSOLocal(false);
|
||||
if (CGM.getTriple().isAMDGCN())
|
||||
OutlinedFn->setCallingConv(llvm::CallingConv::AMDGPU_KERNEL);
|
||||
} else {
|
||||
std::string Name = getName({EntryFnName, "region_id"});
|
||||
OutlinedFnID = new llvm::GlobalVariable(
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define N 1000
|
||||
|
||||
int test_amdgcn_target_tid_threads() {
|
||||
// CHECK-LABEL: define weak void @{{.*}}test_amdgcn_target_tid_threads
|
||||
// CHECK-LABEL: define weak amdgpu_kernel void @{{.*}}test_amdgcn_target_tid_threads
|
||||
|
||||
int arr[N];
|
||||
|
||||
|
@ -25,7 +25,7 @@ int test_amdgcn_target_tid_threads() {
|
|||
}
|
||||
|
||||
int test_amdgcn_target_tid_threads_simd() {
|
||||
// CHECK-LABEL: define weak void @{{.*}}test_amdgcn_target_tid_threads_simd
|
||||
// CHECK-LABEL: define weak amdgpu_kernel void @{{.*}}test_amdgcn_target_tid_threads_simd
|
||||
|
||||
int arr[N];
|
||||
|
||||
|
|
Loading…
Reference in New Issue