[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