[llvm] [offload] Fix kernel record/replay and add extensible mechanism (PR #190588)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 18:26:35 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `intel-sycl-gpu` running on `intel-sycl-gpu-01` while building `offload` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/225/builds/6007

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
In file included from /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/libsycl/src/detail/device_binary_structures.hpp:20:
In file included from /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/llvm/include/llvm/Frontend/Offloading/Utility.h:19:
In file included from /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/llvm/include/llvm/Object/OffloadBinary.h:23:
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/llvm/include/llvm/Object/Binary.h:99:59: warning: extra ';' after member function definition [-Wextra-semi]
   99 |   virtual Error initContent() { return Error::success(); };
      |                                                           ^
18 warnings generated.
4.114 [15/27/113] Building CXX object offload/tools/kernelreplay/CMakeFiles/llvm-omp-kernel-replay.dir/llvm-omp-kernel-replay.cpp.o
4.358 [15/26/114] Building CXX object offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/Utils/ELF.cpp.o
5.972 [15/25/115] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/omptarget.cpp.o
FAILED: offload/libomptarget/CMakeFiles/omptarget.dir/omptarget.cpp.o 
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DDEBUG_PREFIX=\"omptarget\" -DOMPTARGET_DEBUG -DOMPT_SUPPORT=1 -DTARGET_NAME=omptarget -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/llvm/include -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/include -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/openmp/runtime/src -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/include -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload/include -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/plugins-nextgen/common/include -I/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/build/runtimes/runtimes-bins/offload/plugins-nextgen/common/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=c++17 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -Werror=global-constructors -MD -MT offload/libomptarget/CMakeFiles/omptarget.dir/omptarget.cpp.o -MF offload/libomptarget/CMakeFiles/omptarget.dir/omptarget.cpp.o.d -o offload/libomptarget/CMakeFiles/omptarget.dir/omptarget.cpp.o -c /home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/libomptarget/omptarget.cpp
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/libomptarget/omptarget.cpp:2425:12: error: use of undeclared identifier 'TM'; did you mean 'SymbolDataTy::TM'?
 2425 |     assert(TM->Table->TargetsTable.size() > (size_t)DeviceId &&
      |            ^~
      |            SymbolDataTy::TM
/usr/include/assert.h:103:27: note: expanded from macro 'assert'
  103 |      (static_cast <bool> (expr)                                         \
      |                           ^~~~
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/libomptarget/omptarget.cpp:2404:15: note: 'SymbolDataTy::TM' declared here
 2404 |     TableMap *TM = nullptr;
      |               ^
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/libomptarget/omptarget.cpp:2425:12: error: invalid use of non-static data member 'TM'
 2425 |     assert(TM->Table->TargetsTable.size() > (size_t)DeviceId &&
      |            ^~
2 errors generated.
6.045 [15/24/116] Building CXX object offload/plugins-nextgen/level_zero/CMakeFiles/omptarget.rtl.level_zero.dir/src/L0Options.cpp.o
6.065 [15/23/117] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/LegacyAPI.cpp.o
6.297 [15/22/118] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/OffloadRTL.cpp.o
6.369 [15/21/119] Building CXX object offload/plugins-nextgen/host/CMakeFiles/omptarget.rtl.host.dir/src/rtl.cpp.o
6.371 [15/20/120] Building CXX object offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RecordReplay.cpp.o
/home/test-user/llvm-buildbot-worker/intel-sycl-gpu/llvm-project/offload/plugins-nextgen/common/src/RecordReplay.cpp:318:20: warning: comparison of integers of different signs: 'uint64_t' (aka 'unsigned long') and '__ptrdiff_t' (aka 'long') [-Wsign-compare]
  318 |   assert(TotalSize ==
      |          ~~~~~~~~~ ^
  319 |              utils::getPtrDiff(BufferPtr, GlobalsMB->get()->getBufferStart()) &&
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/assert.h:103:27: note: expanded from macro 'assert'
  103 |      (static_cast <bool> (expr)                                         \
      |                           ^~~~
1 warning generated.
6.389 [15/19/121] Building CXX object offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/GlobalHandler.cpp.o
6.445 [15/18/122] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/OpenMP/InteropAPI.cpp.o
6.464 [15/17/123] Building CXX object third-party/runtimes_gtest/CMakeFiles/runtimes_gtest.dir/googletest/src/gtest-all.cc.o
6.486 [15/16/124] Building CXX object offload/plugins-nextgen/level_zero/CMakeFiles/omptarget.rtl.level_zero.dir/src/L0Context.cpp.o
6.646 [15/15/125] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/OpenMP/Mapping.cpp.o
6.713 [15/14/126] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/device.cpp.o
6.742 [15/13/127] Building CXX object offload/plugins-nextgen/level_zero/CMakeFiles/omptarget.rtl.level_zero.dir/src/L0Kernel.cpp.o
6.879 [15/12/128] Building CXX object offload/liboffload/CMakeFiles/LLVMOffload.dir/src/OffloadLib.cpp.o
6.929 [15/11/129] Building CXX object offload/libomptarget/CMakeFiles/omptarget.dir/interface.cpp.o

```

</details>

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


More information about the llvm-commits mailing list