[llvm] [Offload] Move (most) global state to an `OffloadContext` struct (PR #144494)
Ross Brunton via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 08:31:58 PDT 2025
================
@@ -93,22 +93,34 @@ struct AllocInfo {
ol_alloc_type_t Type;
};
-using AllocInfoMapT = DenseMap<void *, AllocInfo>;
-AllocInfoMapT &allocInfoMap() {
- static AllocInfoMapT AllocInfoMap{};
- return AllocInfoMap;
-}
+// Global shared state for liboffload
+struct OffloadContext;
+static OffloadContext *OffloadContextVal;
+struct OffloadContext {
+ OffloadContext(OffloadContext &) = delete;
+ OffloadContext(OffloadContext &&) = delete;
----------------
RossBrunton wrote:
I've added "deletes" for `operator=`, anything else you want me to add?
In the future, olShutDown will need to destruct this object, so I don't think `~OffloadContext` could be deleted.
https://github.com/llvm/llvm-project/pull/144494
More information about the llvm-commits
mailing list