[OpenMP] Guard OpenMP specific entry handling
diff --git a/offload/plugins-nextgen/common/src/PluginInterface.cpp b/offload/plugins-nextgen/common/src/PluginInterface.cpp
index 427cd38..d2451d8 100644
--- a/offload/plugins-nextgen/common/src/PluginInterface.cpp
+++ b/offload/plugins-nextgen/common/src/PluginInterface.cpp
@@ -380,7 +380,8 @@
Image.getTgtImage()->EntriesBegin, Image.getTgtImage()->EntriesEnd);
llvm::SmallVector<std::pair<void *, void *>> IndirectCallTable;
for (const auto &Entry : Entries) {
- if (Entry.Size == 0 || !(Entry.Flags & OMP_DECLARE_TARGET_INDIRECT))
+ if (Entry.Kind != object::OffloadKind::OFK_OpenMP || Entry.Size == 0 ||
+ !(Entry.Flags & OMP_DECLARE_TARGET_INDIRECT))
continue;
assert(Entry.Size == sizeof(void *) && "Global not a function pointer?");
diff --git a/offload/src/PluginManager.cpp b/offload/src/PluginManager.cpp
index f827d0b..f623b42 100644
--- a/offload/src/PluginManager.cpp
+++ b/offload/src/PluginManager.cpp
@@ -156,6 +156,7 @@
NewEntry.Data = Entry.Data;
NewEntry.Size = Entry.Size;
NewEntry.SymbolName = Entry.SymbolName;
+ NewEntry.Kind = object::OffloadKind::OFK_OpenMP;
}
// Create a new image struct so we can update the entries list.
@@ -186,7 +187,8 @@
// Add in all the OpenMP requirements associated with this binary.
for (llvm::offloading::EntryTy &Entry :
llvm::make_range(Desc->HostEntriesBegin, Desc->HostEntriesEnd))
- if (Entry.Flags == OMP_REGISTER_REQUIRES)
+ if (Entry.Kind == object::OffloadKind::OFK_OpenMP &&
+ Entry.Flags == OMP_REGISTER_REQUIRES)
PM->addRequirements(Entry.Data);
// Extract the executable image and extra information if available.