[llvm] [OFFLOAD][L0][NFC] Remove Device TLS table (PR #200923)

Alex Duran via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 12:58:49 PDT 2026


https://github.com/adurang created https://github.com/llvm/llvm-project/pull/200923

After #200650 the Device TLS table is not used anymore so it can be removed.

>From 17685ec39d87caafa7322fbb456aa0a2ceea9c36 Mon Sep 17 00:00:00 2001
From: "Duran, Alex" <alejandro.duran at intel.com>
Date: Mon, 1 Jun 2026 12:57:35 -0700
Subject: [PATCH] [OFFLOAD][L0][NFC] Remove Device TLS table

---
 .../level_zero/include/L0Device.h             | 22 -------------------
 .../level_zero/include/L0Plugin.h             |  5 -----
 .../level_zero/src/L0Device.cpp               |  4 ----
 .../level_zero/src/L0Plugin.cpp               |  2 --
 4 files changed, 33 deletions(-)

diff --git a/offload/plugins-nextgen/level_zero/include/L0Device.h b/offload/plugins-nextgen/level_zero/include/L0Device.h
index 925b51e9cd8c6..bc112dd0c846d 100644
--- a/offload/plugins-nextgen/level_zero/include/L0Device.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Device.h
@@ -74,26 +74,6 @@ struct L0DeviceIdTy {
       : zeId(Device), RootId(RootId), SubId(SubId), CCSId(CCSId) {}
 };
 
-class L0DeviceTLSTy {
-public:
-  L0DeviceTLSTy() = default;
-  ~L0DeviceTLSTy() {}
-  L0DeviceTLSTy(const L0DeviceTLSTy &) = delete;
-  L0DeviceTLSTy &operator=(const L0DeviceTLSTy &) = delete;
-  L0DeviceTLSTy &operator=(L0DeviceTLSTy &&) = delete;
-  L0DeviceTLSTy(L0DeviceTLSTy &&Other) {}
-
-  Error deinit() { return Plugin::success(); }
-};
-
-struct L0DeviceTLSTableTy
-    : public PerThreadContainer<std::vector<L0DeviceTLSTy>, 8> {
-  Error deinit() {
-    return PerThreadTable::deinit(
-        [](L0DeviceTLSTy &Entry) { return Entry.deinit(); });
-  }
-};
-
 class L0DeviceTy final : public GenericDeviceTy {
   // Level Zero Context for this Device.
   L0ContextTy &l0Context;
@@ -188,8 +168,6 @@ class L0DeviceTy final : public GenericDeviceTy {
     return reinterpret_cast<LevelZeroPluginTy &>(Plugin);
   }
 
-  L0DeviceTLSTy &getTLS();
-
   Error setContext() override { return Plugin::success(); }
   Error initImpl(GenericPluginTy &Plugin) override;
   Error deinitImpl() override;
diff --git a/offload/plugins-nextgen/level_zero/include/L0Plugin.h b/offload/plugins-nextgen/level_zero/include/L0Plugin.h
index 17363e294d9a3..665da5edb0e59 100644
--- a/offload/plugins-nextgen/level_zero/include/L0Plugin.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Plugin.h
@@ -34,8 +34,6 @@ class LevelZeroPluginTy final : public GenericPluginTy {
   /// Context (and Driver) specific data.
   std::list<L0ContextTy> ContextList;
 
-  // Table containing per-thread information for each device using TLS.
-  L0DeviceTLSTableTy DeviceTLSTable;
   // Table containing per-thread information for each Context using TLS.
   L0ContextTLSTableTy ContextTLSTable;
 
@@ -50,9 +48,6 @@ class LevelZeroPluginTy final : public GenericPluginTy {
   LevelZeroPluginTy() : GenericPluginTy(getTripleArch()) {}
   virtual ~LevelZeroPluginTy() = default;
 
-  L0DeviceTLSTy &getDeviceTLS(int32_t DeviceId) {
-    return DeviceTLSTable.get(DeviceId);
-  }
   L0ContextTLSTy &getContextTLS(ze_context_handle_t Context) {
     return ContextTLSTable.get(Context);
   }
diff --git a/offload/plugins-nextgen/level_zero/src/L0Device.cpp b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
index d644c1e7e5a14..03da2fb3e3687 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Device.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
@@ -24,10 +24,6 @@
 
 namespace llvm::omp::target::plugin {
 
-L0DeviceTLSTy &L0DeviceTy::getTLS() {
-  return getPlugin().getDeviceTLS(getDeviceId());
-}
-
 // clang-format off
 /// Mapping from device arch to GPU runtime's device identifiers.
 static struct {
diff --git a/offload/plugins-nextgen/level_zero/src/L0Plugin.cpp b/offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
index b09557579f569..c5688e574254c 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
@@ -123,8 +123,6 @@ Error LevelZeroPluginTy::deinitImpl() {
   ODBG(OLDT_Deinit) << "Deinit Level0 plugin!";
   if (auto Err = ContextTLSTable.deinit())
     return Err;
-  if (auto Err = DeviceTLSTable.deinit())
-    return Err;
   for (auto &Context : ContextList)
     if (auto Err = Context.deinit())
       return Err;



More information about the llvm-commits mailing list