This revision was automatically updated to reflect the committed changes.
Closed by commit rC354615: [HIP] change kernel stub name (authored by yaxunl,
committed by ).
Herald added a project: clang.
Changed prior to commit:
https://reviews.llvm.org/D58518?vs=187815&id=187840#toc
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58518/new/
https://reviews.llvm.org/D58518
Files:
lib/CodeGen/CGCUDANV.cpp
test/CodeGenCUDA/device-stub.cu
Index: lib/CodeGen/CGCUDANV.cpp
===================================================================
--- lib/CodeGen/CGCUDANV.cpp
+++ lib/CodeGen/CGCUDANV.cpp
@@ -227,6 +227,12 @@
emitDeviceStubBodyNew(CGF, Args);
else
emitDeviceStubBodyLegacy(CGF, Args);
+
+ // Postfix kernel stub names with .stub to differentiate them from kernel
+ // names in device binaries. This is to facilitate the debugger to find
+ // the correct symbols for kernels in the device binary.
+ if (CGF.getLangOpts().HIP)
+ CGF.CurFn->setName(CGF.CurFn->getName() + ".stub");
}
// CUDA 9.0+ uses new way to launch kernels. Parameters are packed in a local
Index: test/CodeGenCUDA/device-stub.cu
===================================================================
--- test/CodeGenCUDA/device-stub.cu
+++ test/CodeGenCUDA/device-stub.cu
@@ -145,7 +145,8 @@
// Test that we build the correct number of calls to cudaSetupArgument followed
// by a call to cudaLaunch.
-// LNX: define{{.*}}kernelfunc
+// CUDA-LABEL: define{{.*}}kernelfunc
+// HIP-LABEL: define{{.*}}@_Z10kernelfunciii.stub
// New launch sequence stores arguments into local buffer and passes array of
// pointers to them directly to cudaLaunchKernel
Index: lib/CodeGen/CGCUDANV.cpp
===================================================================
--- lib/CodeGen/CGCUDANV.cpp
+++ lib/CodeGen/CGCUDANV.cpp
@@ -227,6 +227,12 @@
emitDeviceStubBodyNew(CGF, Args);
else
emitDeviceStubBodyLegacy(CGF, Args);
+
+ // Postfix kernel stub names with .stub to differentiate them from kernel
+ // names in device binaries. This is to facilitate the debugger to find
+ // the correct symbols for kernels in the device binary.
+ if (CGF.getLangOpts().HIP)
+ CGF.CurFn->setName(CGF.CurFn->getName() + ".stub");
}
// CUDA 9.0+ uses new way to launch kernels. Parameters are packed in a local
Index: test/CodeGenCUDA/device-stub.cu
===================================================================
--- test/CodeGenCUDA/device-stub.cu
+++ test/CodeGenCUDA/device-stub.cu
@@ -145,7 +145,8 @@
// Test that we build the correct number of calls to cudaSetupArgument followed
// by a call to cudaLaunch.
-// LNX: define{{.*}}kernelfunc
+// CUDA-LABEL: define{{.*}}kernelfunc
+// HIP-LABEL: define{{.*}}@_Z10kernelfunciii.stub
// New launch sequence stores arguments into local buffer and passes array of
// pointers to them directly to cudaLaunchKernel
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits