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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits