bader marked an inline comment as done. bader added inline comments.
================ Comment at: clang/lib/CodeGen/CodeGenModule.cpp:2477 + if (LangOpts.SYCLIsDevice && Global->hasAttr<SYCLKernelAttr>()) { + // SYCL kernels can be templated and not called from anywhere in the ---------------- ABataev wrote: > bader wrote: > > ABataev wrote: > > > Need to check if the decl must be emitted at all. > > Let me check that I get it right. You suggest adding `if > > (MustBeEmitted(Global))`, right? > > ``` > > if (LangOpts.SYCLIsDevice && Global->hasAttr<SYCLKernelAttr>() && > > MustBeEmitted(Global)) { > > ... > > addDeferredDeclToEmit(GD); > > return; > > } > > ``` > Yes Okay. Making this change requires additional adjustments in the patch and I have a few options. In this patch we do not add any logic forcing compiler to emit SYCL kernel. This logic is supposed to be added by follow-up patch (currently under SYCL working group review here https://github.com/intel/llvm/pull/249), which add code emitting "externally visible" OpenCL kernel calling function object passed to SYCL kernel function. I can: 1) Temporally remove CodeGen test and add updated version back with the follow-up patch 2) Do change making SYCL kernels "externally visible" and revert this change with the follow-up patch (this is kind of current logic which emits SYCL kernels unconditionally) 3) Merge two patches and submit them together, but I assume it will significantly increase the size of the patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60455/new/ https://reviews.llvm.org/D60455 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits