[llvm] [Offload] Allow querying the size of globals (PR #147698)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 9 06:12:57 PDT 2025


================
@@ -37,20 +37,33 @@ using namespace llvm::object;
 /// Common abstraction for globals that live on the host and device.
 /// It simply encapsulates the symbol name, symbol size, and symbol address
 /// (which might be host or device depending on the context).
+/// Both size and address may be absent, and can be populated with
+// getGlobalMetadataFromDevice/Image.
 class GlobalTy {
   // NOTE: Maybe we can have a pointer to the offload entry name instead of
   // holding a private copy of the name as a std::string.
   std::string Name;
-  uint32_t Size;
-  void *Ptr;
+  std::optional<uint32_t> Size;
+  std::optional<void *> Ptr;
----------------
jhuber6 wrote:

Do we need optional here? The pointer type is already nullable with `nullptr` and I would expect that the size type of be invalid, though I forget the exact logic here.

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


More information about the llvm-commits mailing list