Anastasia added a comment. In D115523#3284446 <https://reviews.llvm.org/D115523#3284446>, @yaxunl wrote:
> In D115523#3266584 <https://reviews.llvm.org/D115523#3266584>, @Anastasia > wrote: > >> In D115523#3240870 <https://reviews.llvm.org/D115523#3240870>, @yaxunl wrote: >> >>> In D115523#3237857 <https://reviews.llvm.org/D115523#3237857>, @Anastasia >>> wrote: >>> >>>> In D115523#3237410 <https://reviews.llvm.org/D115523#3237410>, @yaxunl >>>> wrote: >>>> >>>>> It is possible that block kernels are defined and invoked in static >>>>> functions, therefore two block kernels in different TU's may have the >>>>> same name. Making such kernels external may cause duplicate symbols. >>>> >>>> Potentially we should append the name of the translation unit to all >>>> kernel wrapper names for the enqueued blocks to resolve this? For example, >>>> global constructors stubs are using such a similar naming scheme taken >>>> from the translation unit. >>>> >>>> But the kernel function in OpenCL has to be globally visible and many >>>> tools have been built with this assumption. Additionally, some toolchains >>>> might require the enqueued kernels to be globally visible as well in order >>>> to access them as an execution entry point. >>> >>> If we have to externalize such block kernels whose names are derived from >>> variables with internal linkage, we may need a way to make the block kernel >>> names unique. >>> >>> One approach would be use MD5 hash of the file path and compile options, >>> similar to >>> https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/Driver.cpp#L2623 >> >> Ok, however it might be enough to do what C++ handling does with global >> ctors. Should we file a bug for this for now? > > Do you mean the global ctors like this? > https://github.com/llvm/llvm-project/blob/main/clang/test/CodeGenCXX/global-init.cpp#L201 > > They do not have unique names across TU's. They work because they have > internal linkage. However OpenCL kernels have external linkage. > > I suggest opening a bug to track this. Thanks. Sure: https://github.com/llvm/llvm-project/issues/53572. Feel free to add anything relevant. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115523/new/ https://reviews.llvm.org/D115523 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits