From b3e18920adfd9e412a069a220bc312a414093efa Mon Sep 17 00:00:00 2001 From: Ian Li Date: Fri, 1 Aug 2025 10:34:45 -0700 Subject: [PATCH 1/4] Fix sycl::item gdb pretty-printer finding MOffset --- sycl/gdb/libsycl.so-gdb.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sycl/gdb/libsycl.so-gdb.py b/sycl/gdb/libsycl.so-gdb.py index b0c38d375da39..5079ea8825149 100644 --- a/sycl/gdb/libsycl.so-gdb.py +++ b/sycl/gdb/libsycl.so-gdb.py @@ -1074,10 +1074,13 @@ def to_string(self): string = self.type_name(self.gdb_type()) extent = SYCLRangePrinter(sycl_item.extent()).value_as_string() string += " range " + extent - offset_id = SYCLItem(self.gdb_value()).offset() - offset = SYCLIdPrinter(offset_id).value_as_string() - if offset not in ["0", "{0, 0}", "{0, 0, 0}"]: - string += ", offset " + offset + try: + offset_id = SYCLItem(self.gdb_value()).offset() + offset = SYCLIdPrinter(offset_id).value_as_string() + if offset not in ["0", "{0, 0}", "{0, 0, 0}"]: + string += ", offset " + offset + except: + pass # device offset disabled string += " = " + self.value_as_string() return string From 643519eeb3a0653b931b71171f446752959201f0 Mon Sep 17 00:00:00 2001 From: Ian Li Date: Thu, 7 Aug 2025 10:08:57 -0700 Subject: [PATCH 2/4] Add sycl::item checking to test/gdb/printers.cpp --- sycl/test/gdb/printers.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/sycl/test/gdb/printers.cpp b/sycl/test/gdb/printers.cpp index 91c1457b93c7f..2d3fcebbe259b 100644 --- a/sycl/test/gdb/printers.cpp +++ b/sycl/test/gdb/printers.cpp @@ -26,6 +26,7 @@ #include "detail/device_impl.hpp" #include "detail/queue_impl.hpp" #include "detail/sycl_mem_obj_t.hpp" +#include "detail/helpers.hpp" sycl::accessor a; sycl::buffer b(1); @@ -34,6 +35,11 @@ sycl::local_accessor l; sycl::queue q; sycl::range<1> r(3); +sycl::item<1, true> item_w_offset = + sycl::detail::Builder::createItem<1, true>({4}, {2}, {1}); +sycl::item<2, false> item_wo_offset = + sycl::detail::Builder::createItem<2, false>({4, 4}, {2, 2}); + // CHECK: 0 | class sycl::range<> // CHECK: 0 | size_t[1] common_array @@ -93,3 +99,28 @@ sycl::range<1> r(3); // DEVICE: 8 | class sycl::range<> MemRange // DEVICE: 8 | size_t[1] common_array // DEVICE: 24 | ConcreteASPtrType MData + +// CHECK: 0 | class sycl::item<1, true> +// CHECK: 0 | struct sycl::detail::ItemBase<1, true> MImpl +// CHECK: 0 | class sycl::range<> MExtent +// CHECK: 0 | class sycl::detail::array<> (base) +// CHECK: 0 | size_t[1] common_array +// CHECK: 8 | class sycl::id<1> MIndex +// CHECK: 8 | class sycl::detail::array<> (base) +// CHECK: 8 | size_t[1] common_array +// CHECK: 16 | class sycl::id<1> MOffset +// CHECK: 16 | class sycl::detail::array<> (base) +// CHECK: 16 | size_t[1] common_array + +// CHECK: 0 | class sycl::item<2, false> +// CHECK: 0 | struct sycl::detail::ItemBase<2, false> MImpl +// CHECK: 0 | class sycl::range<2> MExtent +// CHECK: 0 | class sycl::detail::array<2> (base) +// CHECK: 0 | size_t[2] common_array +// CHECK: 16 | class sycl::id<2> MIndex +// CHECK: 16 | class sycl::detail::array<2> (base) +// CHECK: 16 | size_t[2] common_array +// CHECK-NOT: 32 | class sycl::id<2> MOffset +// CHECK-NOT: 32 | class sycl::detail::array<2> (base) +// CHECK-NOT: 32 | size_t[2] common_array + From 8c3aad8594bb8adc18fd8e0280f1f4a4fd90b599 Mon Sep 17 00:00:00 2001 From: Ian Li Date: Thu, 7 Aug 2025 13:14:51 -0400 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- sycl/gdb/libsycl.so-gdb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/gdb/libsycl.so-gdb.py b/sycl/gdb/libsycl.so-gdb.py index 5079ea8825149..96767fe228051 100644 --- a/sycl/gdb/libsycl.so-gdb.py +++ b/sycl/gdb/libsycl.so-gdb.py @@ -1079,7 +1079,7 @@ def to_string(self): offset = SYCLIdPrinter(offset_id).value_as_string() if offset not in ["0", "{0, 0}", "{0, 0, 0}"]: string += ", offset " + offset - except: + except Exception: pass # device offset disabled string += " = " + self.value_as_string() return string From 8d1cb03640029b01fda41c9f9febc59fca29e6ee Mon Sep 17 00:00:00 2001 From: Ian Li Date: Thu, 7 Aug 2025 10:32:25 -0700 Subject: [PATCH 4/4] apply clang-format --- sycl/test/gdb/printers.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sycl/test/gdb/printers.cpp b/sycl/test/gdb/printers.cpp index 2d3fcebbe259b..28a976b1a65ac 100644 --- a/sycl/test/gdb/printers.cpp +++ b/sycl/test/gdb/printers.cpp @@ -24,9 +24,9 @@ #include "detail/accessor_impl.hpp" #include "detail/buffer_impl.hpp" #include "detail/device_impl.hpp" +#include "detail/helpers.hpp" #include "detail/queue_impl.hpp" #include "detail/sycl_mem_obj_t.hpp" -#include "detail/helpers.hpp" sycl::accessor a; sycl::buffer b(1); @@ -123,4 +123,3 @@ sycl::item<2, false> item_wo_offset = // CHECK-NOT: 32 | class sycl::id<2> MOffset // CHECK-NOT: 32 | class sycl::detail::array<2> (base) // CHECK-NOT: 32 | size_t[2] common_array -