tra added inline comments.
================ Comment at: clang/tools/clang-linker-wrapper/OffloadWrapper.cpp:351 +/// required for texture / surface / managed variables. +Function *createRegisterGlobalsFunction(Module &M) { + LLVMContext &C = M.getContext(); ---------------- jhuber6 wrote: > tra wrote: > > Do you think generation of the CUDA registration glue could be shared with > > the front-end? > > > I was thinking about it, but ultimately decided to keep the noise outside of > the new driver to a minimum. Maybe if we move to the offloading entries being > a common format we can easily share this code. Keeping it in Clang would have > the advantage that it's easier to test directly and ensures we don't de-sync > if anything changes. The only downside is that in the future I may want to > push this functionality to a linker plugin or similar, which would require > pulling it out of Clang again to prevent us needing to link in Clang to build > LLVM. > > Also needing to do this all through the builder API isn't ideal, it would be > nice if we had some kind of runtime to call to do this for us, but I didn't > feel like adding yet another shared library for CUDA. I considered putting it > inside the cuda header wrappers as well, but forcing every CUDA file to have > some externally visible weak registration blob didn't sit well with me. Perhaps front-end is not the right place for it, indeed. LLVM itself may be a better choice. We already have some things there for somewhat similar purposes (like lib/WindowsManifest) so adding a helper function to generate runtime glue for CUDA should not be unreasonable. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123812/new/ https://reviews.llvm.org/D123812 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits