[clang] [llvm] [OpenMP][clang] Register Vtables on device for indirect calls (PR #159856)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 19 15:47:13 PDT 2025


================
@@ -112,13 +112,39 @@ setupIndirectCallTable(DeviceTy &Device, __tgt_device_image *Image,
   llvm::SmallVector<std::pair<void *, void *>> IndirectCallTable;
   for (const auto &Entry : Entries) {
     if (Entry.Kind != llvm::object::OffloadKind::OFK_OpenMP ||
-        Entry.Size == 0 || !(Entry.Flags & OMP_DECLARE_TARGET_INDIRECT))
+        Entry.Size == 0 ||
+        !(Entry.Flags &
+          (OMP_DECLARE_TARGET_INDIRECT | OMP_DECLARE_TARGET_INDIRECT_VTABLE)))
----------------
jhuber6 wrote:

Probably clearer to test the single bit twice.

https://github.com/llvm/llvm-project/pull/159856


More information about the llvm-commits mailing list